使用tftp,dhcp,配合PXE搭建批量安裝linux系統服務端
系統環境
實驗環境:VMware Workstation 10
系統平臺:CentOS release 6.4 (最小化安裝)
網絡模式:NAT模式(共享主機的IP地址)
防火牆已關閉service iptables stop
SELINUX=disabled
生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依賴於X Windows,所以我們需要安裝X Windows 和Desktop 並重啓系統,操作如下:
# yum groupinstall "X Window System"
# yum groupinstall Desktop
# reboot
配置HTTP安裝方式
系統的安裝方式可以選擇HTTP、FTP、 NFS,我們這裏介紹HTTP方式的安裝,其他兩種方式的安裝,大家可以自行百度。
4.1 安裝並配置HTTP
# yum install httpd –y
# rpm -qa|grep httpd
開啓服務並設置開機啓動
# /etc/init.d/httpd start
# chkconfig --level 35 httpd on
將iso文件掛載至/mnt/cdrom.
複製光盤全部內容至http 的根目錄/var/www/html/ 下
# cp -r /mnt/cdrom/ /var/www/html/
HTTP部分設置完畢。
配置TFTP
安裝tftp-server
# yum install tftp-server –y
啓用tftp 服務
# vi /etc/xinetd.d/tftp
將disable 設置爲no
啓動tftp服務
因爲tftp服務是掛載在超級進程xinetd 下的,所以通過啓動xinetd 來啓動tftp服務。
# /etc/init.d/xinetd restart
設置開機啓動xinetd
# chkconfig xinetd on
配置支持PXE的啓動程序
複製pxelinux.0 文件至/var/lib/tftpboot/ 文件夾中
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
複製iso 鏡像中的/image/pxeboot/initrd.img 和vmlinux 至/var/lib/tftpboot/ 文件夾中
# cp /var/www/html/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
複製iso 鏡像中的/isolinux/*.msg 至/var/lib/tftpboot/ 文件夾中
# cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/
在/var/lib/tftpboot/ 中新建一個pxelinux.cfg目錄
# mkdir /var/lib/tftpboot/pxelinux.cfg
將iso 鏡像中的/isolinux 目錄中的isolinux.cfg複製到pxelinux.cfg目錄中,同時更改文件名稱爲default
# cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改default文件
# vi /var/lib/tftpboot/pxelinux.cfg/default
配置DHCP
安裝DHCP服務
# yum -y install dhcp
複製配置模板文件到DHCP的配置目錄中
# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
修改/etc/dhcp/dhcpd.conf 配置文件,內容如下:
複製代碼
ddns-update-style interim; ignore client-updates;
filename "pxelinux.0"; #pxelinux 啓動文件位置;
next-server 192.168.111.130; #TFTP Server 的IP地址;
subnet 192.168.111.0 netmask 255.255.255.0
{ range dynamic-bootp 192.168.111.100 192.168.111.200;
default-lease-time 21600;
max-lease-time 43200; }
複製代碼
啓動DHCP服務
# /etc/init.d/dhcpd start
生成ks.cfg 文件
安裝Kickstart
# yum install system-config-kickstart
在桌面環境下配置Kickstart
啓動X Windows 環境
# startx
配置Kickstart
# system-config-kickstart
A. 設置語言,鍵盤,時區,Root密碼,安裝完畢後重啓等。
B. 設置安裝方式,這篇文章介紹的是HTTP方式的安裝,故選擇HTTP
C. 安裝MBR
D. 設置分區
E. 分區總覽
F. 配置網絡
G. 認證配置
H. SELinux 和防火牆配置
I. 圖形環境配置
J. 軟件包安裝選擇
K. 預覽
L. 生成ks.cfg 文件,保存在/var/www/html/ 文件夾下
測試安裝
自動化安裝系統配置完畢,下面啓動一臺新的機器進行測試,網絡連接模式選擇NAT模式。
新建虛擬機,選擇自定義(高級)
選擇“稍後安裝操作系統”
選擇客戶機操作系統類型
命名虛擬機
設置此虛擬機的內存
設置網絡類型
選擇I/O控制器類型
選擇磁盤類型
選擇磁盤
指定磁盤大小,ks.cfg 文件中,我們定義了/ 大小爲8GB,swap 分區爲1GB,/home 分區爲2GB,所以這裏的磁盤大小至少要爲12GB。
而且,一定要勾選上“立即分配所有磁盤空間”,不然在後來安裝的時候將提示沒有磁盤空間。
指定磁盤文件
虛擬機總覽
正在創建磁盤,過程會很慢,虛擬機需要產生一個20GB的文件。
啓動虛擬機,選擇從網卡啓動,DHCP 服務器正在給客戶機分配IP地址。
開始下載vmlinuz 和initrd.img
安裝過程...
安裝過程...
安裝過程...
安裝完畢,重啓後,顯示登錄界面
登錄系統查看,磁盤分區和我們在ks.cfg 文件中設定的一樣。
PXE+Kickstart 無人值守安裝操作系統環境搭建完畢。