Linux無人值守安裝

前言

    通常情況下,我們安裝Linux操作系統的時候需要從光盤啟動,通過系統光盤bootloader啟動安裝程序,進入交互式安裝模式,由用戶配置安裝選項,如磁盤分區、選擇安裝包等操作;安裝完畢后重啟結束安裝。在生產環境中,成百上千臺服務器需要安裝操作系統的時候如果也采用交互式安裝模式,無疑是極其低效的。本文主要介紹批量自動部署安裝Linux操作系統。

服務器端環境部署:

    DHCP(Dynamic Host Configuration Protocol):動態主機配置協議,為客戶端分配IP地址。

    tftp-server(Trivial File Transfer Protocol):簡單文件傳輸協議,為客戶端提供bootloader、kernel及其他引導文件

    xinetd(eXtended InterNET services daemon):超級守護進程,tftp服務依賴于此進程

    kickstart文件:自動安裝配置文件

    httpd:為客戶端提供安裝源及kickstart安裝文件

    引導文件:可從系統安裝光盤提取。

一、安裝配置DHCP服務

    安裝dhcp

[root@qin ~]# yum -y install dhcp

    修改dhcp配置文件

[root@qin ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@qin ~]# vim /etc/dhcp/dhcpd.conf 
default-lease-time 28800;                    #默認租約時間
max-lease-time 86400;                        #最大租約時間
log-facility local7;
subnet 192.168.19.0 netmask 255.255.255.0 {  #提供dhcp服務的子網
  range 192.168.19.100 192.168.19.110;       #可分配地址范圍
  option domain-name "qin.org";              #指定搜索域
  option domain-name-servers 114.114.114.114, 8.8.8.8;        #指定域名
  option routers 192.168.19.1;                                #指定網關
  next-server 192.168.19.23;                                  #指定tftp服務器
  filename "pxelinux.0";                                      #指定pxe引導文件
}

    啟動dhcp服務

[root@qin ~]# service dhcpd configtest        #檢查配置文件錯誤
Syntax: OK
[root@qin ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]
[root@localhost ~]# ss -unl|grep :67
UNCONN     0      0                         *:67                       *:*
[root@qin ~]# chkconfig dhcpd on

二、安裝配置tftp-server。

    安裝

[root@qin ~]# yum -y install tftp-server

    為客戶端提供引導文件

[root@qin ~]# mkdir /media/cdrom                    #引導文件可從系統安裝光盤拷貝
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# cp /media/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@qin ~]# cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
[root@qin ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@qin ~]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@qin ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.19.23/ks.cfg    #指定kickstart文件路徑
[root@qin ~]# yum -y install syslinux               #pxe引導文件由此包提供
[root@qin ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@qin ~]# tree /var/lib/tftpboot/               #檢查內核及引導文件是否完整
/var/lib/tftpboot/
├── boot.msg
├── initrd.img
├── pxelinux.0
├── pxelinux.cfg
│   └── default
├── splash.jpg
├── vesamenu.c32
└── vmlinuz

1 directory, 7 files

    啟動tftp-server

[root@qin ~]# chkconfig tftp on
[root@qin ~]# service xinetd start
Starting xinetd:                                           [  OK  ]
[root@qin ~]# ss -unl|grep :69
UNCONN     0      0                         *:69                       *:*

三、kickstart文件生成

[root@qin ~]# yum -y groupinstall "X Window System" "Desktop"    #kickstart文件創建依賴與圖形桌面
[root@qin ~]# yum -y install system-config-kickstart

    在圖形桌面執行system-config-kickstart命令,根據需要選擇或填寫相關信息即可。

ks.png

    保存退出后會生成一個配置文件,可以根據需要再次修改。

firewall --disabled
selinux --disabled
install
url --url="http://192.168.19.23/centos6"        #指定網絡安裝路徑
repo --name="CentOS"  --baseurl=http://192.168.19.23/centos6 --cost=100    #指定安裝源地址
rootpw --iscrypted $1$RWj/3$0JlND19WoyIh3cIx1zdCE0        #密碼字符串也可以通過grub-md5-crypt命令生成
auth  --useshadow  --passalgo=sha512
text                 #文本界面安裝,默認為graphics
keyboard us
lang en_US
skipx
logging --level=info
reboot
timezone  Asia/Chongqing
network  --bootproto=dhcp --device=eth0 --onboot=on
bootloader --location=mbr
zerombr            #清空mbr
clearpart --all  
part pv.01 --grow --size=1            #配置邏輯卷,system-config-kickstart不支持邏輯卷,需要直接修改配置文件
part /boot --fstype=ext4 --size=500
volgroup VolGroup --pesize=4096 pv.01
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=8192
logvol swap --name=lv_swap --vgname=VolGroup --grow --size=1984 --maxsize=1984

%packages        #指定安裝包或包組,包組以@打頭
@base
@development
@server-platform-devel
%end

%pre        #安裝前執行腳本,此處未指定
%end

%post       #安裝后執行腳本
groupadd -g 1001 qin
useradd -u 1001 -g 1001 qin
%end

四、安裝配置httpd。

    安裝

[root@qin ~]# yum -y install httpd

    配置

[root@qin ~]# mkdir /var/www/html/centos6
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# mount --bind /media/cdrom /var/www/html/centos6        #綁定光盤鏡像到httpd工作目錄作為安裝源供客戶端使用
[root@qin ~]# cp /root/ks.cfg /var/www/html/            #把此前生成的kickstart文件放到http工作目錄供客戶端調用

    啟動

[root@qin ~]# service httpd start
[root@qin ~]# chkconfig httpd on

客戶端配置

    1、修改bios設置,從網卡啟動

network.png

dhcp.png

    2、選擇第一項,可以直接回車執行自動安裝;亦可以按TAB鍵手動修改需要讀取的kickstart文件

ks1.png

    3、開始安裝

install.png

    4、安裝完驗證是否與kickstart文件一致

ip.png

id.png

lvm.png

   

原創文章,作者:秦,如若轉載,請注明出處:http://www.www58058.com/4350

(1)
秦
上一篇 2015-05-14
下一篇 2015-05-18

相關推薦

  • 隨筆

    GREP正則表達式: 復習: glob文件通配符:     *:任意長度字符:     ?:任意單個字符:     []:括號內的任意單個字符:     [^]:括號內字符除外:  &nbs…

    Linux干貨 2016-07-16
  • nginx在linux系統應用詳解之一基礎介紹和全局配置

    一、nginx簡介       1、特點:           (1)nginx服務器既可以作為HTTP服務器,也可以作為反向代理服務器,還可以作為郵件服務器;           (2)能夠快速響應靜態頁面的請求;  …

    2017-06-19
  • 學習宣言

    紙上得來終覺淺,絕知此事要躬行博學之,審問之,慎思之

    Linux干貨 2016-10-24
  • 初學Linux

       已經學習了Linux一周了,從原來的設計網頁、動畫影視制作、3D模型到現在的黑白界面虛擬世界,從原來吃睡由我到現在重回高三生活,說實話,一開始還是不太能適應的,尤其是眼睛,酸脹痛。不過,越努力越幸運,也覺得linux其實很有意思。。以下是我第一篇微博的內容,也是我學習linux一周所總結的知識。 首先,學習一門知識就要先了解他的歷史…

    Linux干貨 2017-07-15
  • Systemd服務

    POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/initinit:CentOS 5: SysV initCentOS 6: UpstartCentO…

    Linux干貨 2015-03-02
  • 第六周課程作業

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中 的以至少一個空白字符開頭的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、復制/boot/gru…

    Linux干貨 2016-12-12

評論列表(1條)

  • stanley
    stanley 2015-05-18 17:27

    有qa過程嗎?虛擬化機器能正常安裝嗎?一個網絡同時有多個dhcp服務會出什么問題嗎?

欧美性久久久久