前言
通常情況下,我們安裝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命令,根據需要選擇或填寫相關信息即可。
保存退出后會生成一個配置文件,可以根據需要再次修改。
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設置,從網卡啟動
2、選擇第一項,可以直接回車執行自動安裝;亦可以按TAB鍵手動修改需要讀取的kickstart文件
3、開始安裝
4、安裝完驗證是否與kickstart文件一致
原創文章,作者:秦,如若轉載,請注明出處:http://www.www58058.com/4350
有qa過程嗎?虛擬化機器能正常安裝嗎?一個網絡同時有多個dhcp服務會出什么問題嗎?