PXE和KICKSTART無人執守裝機流程
案例需求:
1、在局域網192.168.1.0/24內部署一臺PXE裝機服務器,系統爲centos6.5,(使用虛擬機測試)網卡連接使用僅主機模式vmnet1。
2、提供帶圖片背景、PXE選擇菜單、可選擇rhel6.10/centos6.5操作系統安裝。
1)倒計時60秒,若未選擇默認從本地硬盤啓動
2)添加rhel6的rescue救援模式菜單
3、客戶機裝配過程實現全自動無人執守(kickstart),併爲客戶機做如下調整:
1)自動配置好yum倉庫
2)建立一個名爲myadm的系統管理員
3)建立可匿名上傳、禁用本地用戶的vsftpd服務器,開機啓動
4)自動配置主機名pc$,其對應IP地址爲192.168.1.$(20-100)
5)自動yum安裝libreoffice
服務器環境:
操作系統centos6.10
虛擬網卡vmnet1
ip地址:192.168.1.1
實驗測試客戶機使用虛擬機
操作步驟:
一、準備配置
1、在DHCP服務器上限制服務監聽的接口:修改配置文件/etc/sysconfig/dhcpd
DHCPARGS=”vmnet1”
2、配置服務器的YUM本地倉庫安裝所需軟件包,將服務器系統光盤中的所有內容拷貝到/var/ftp/pub/centos6.5作爲本地源路徑。在yum配置本地源。
3、預先配置客戶機系統centos和rhel網絡安裝需要的網絡源。將他們的位置在服務器中的位置:/var/ftp/centos6.5和/var/www/html/rhel6.5(其他能使客戶機從網絡下載到的位置都行),讓客戶機安裝的時候作爲源安裝系統。
a) centos6.5的網絡源配置文件
vim /var/ftp/pub/centos6.5.repo
[centos6.10]
name=centos6.5
baseurl=ftp://192.168.1.10/pub/centos6.5
enabled=1
gpgcheck=0
b)rhel6.5的網絡配置源文件
vi /var/www/html/rhel6.5
[rhel6.5]
name=rhel6.5
baseurl=http://192.168.1.10/rhel6.5
enabled=1
gpgcheck=0
[other]
name=other
baseurl=ftp://192.168.1.10/pub/other
enabled=1
gpgcheck=0
c)創建第三方源,包含軟件包:
libreoffice、AdobeReader、ntfs-3g、awstats
位於/var/ftp/pub/other文件夾
4、配置本地vsftpd服務:安裝vsftpd軟件包,測試是否能下載ftp文件
5、安裝配置httpd服務:測試是否能下載httpd根目錄下的文件
二、PXE無人執守配置
pxe網絡裝機原理圖:
1、配置DNS,主要完成主機名的分配,此配置在本實驗中爲可選項
vi /var/named/chroot/etc/named.conf
options {
directory “/var/named”;
};
zone “tarena.com” IN {
type master;
file “tarena.com.zone”;
};
zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.1.arpa”;
};
vi /var/named/chroot/var/named/tarena.com.zone #可在/var/named/下找到區域文件模板
.........
@ IN NS ns.tarena.com.
Ns IN A 192.168.1.1
$GENERATE 20-100 pc$ IN A 192.168.1.$
vi /var/named/chroot/var/named/192.168.1.arpa
...........
@ IN NS ns.tarena.com.
1 IN PTR ns.tarena.com.
$GENERATE 20-100 $ IN PTR pc$.tarena.com.
配置完成後測試正向解析和反向解析,確認配置成功。
2、配置DHCP服務器。DHCP服務器負責自動爲客戶機分配IP地址,同時告訴客戶機從網絡啓動時所需要的啓動文件所在的服務器地址和文件路徑。它主要和tftp服務協同完成PXE裝機過程,網卡啓動文件、網卡啓動配置文件以及客戶機操作系統的內核及初始化鏡像文件都要放在tftp的根目錄下。
Vi /etc/dhcpd/dhcpd.conf
options domain-name “tarena.com”;
options domain-name-servers 192.168.1.1;
next-server 192.168.1.1;
file-name “pxelinux.0”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.20 192.168.1.100;
}
3、安裝tftp服務器。tftp服務器提供客戶機安裝時需要的網卡啓動文件pxelinux.0(系統安裝syslinux會產生此文件)、客戶機安裝的系統內核文件vmlinuz以及內存初始化文件鏡像initrd.img(vmlinuz和initrd.img可以從客戶機將要安裝的系統光盤中獲得)。
yum -y install tftp-server
vi /etc/xinetd.d/tftp
disabled = no #啓動tftp服務,有xinetd管理
server_args = -s /var/lib/tftpboot #tftp的根目錄
service xinetd start
yum -y install syslinux #安裝syslinux獲得pxelinux.0文件
cp -rp /var/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #將pxelinux.0放到tftp根目錄
cp -rp centos6.5/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6.5/
cp -rp rhel6.5/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/rhel6.5/ #部署客戶機的內核文件和磁盤初始化鏡像文件
4、配置pxe啓動配置文件:/var/lib/tftpboot/pxelinux.cfg/default(文件名字固定)
default參考模板可以從系統光盤獲得
cp centos6.5/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vi /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
UI vesamenu.c32 #使用圖形選擇界面
menu background splash.jpg #使用背景圖片
label centos6.5
menu label ^Install centos6.5
kernel centos6.5/vmlinuz
append initrd=centos6.5/initrd.img
label rhel6.5
menu label Install rhel6.5
kernel rhel6.5/vmlinuz
append initrd=/rhel6.5/initrd.img
label rhel6.5 rescue
menu label ^Rescue installed rhel6.5 system
kernel rhel6.5/vmlinuz
append initrd=rhel6.5/initrd.img rescue
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
5、配置kickstart無人執守自動安裝。預先提供應答文件,定義好各種設置,免去交互過程。自動應答文件可以參考系統安裝完成後的/root/ananconda-ks.cfg文件。使用圖形工具system-config-kickstart加載應答文件進行修改,或者直接生成應答文件。將應答文件部署到能讓客戶機下載的位置,在PXE配置文件pxelinux.cfg/default中指定下載應答文件的位置。
System-confit-kickstart #分別產生自動應答文件centos6.5.ks和rhel6.5.ks
mv centos6.5.ks rhel6.5.ks /var/www/html/ #部署自動應答文件讓客戶機下載
vi pxelinux.cfg/default
label centos6.5
menu label ^Install centos6.5
kernel centos6.5/vmlinuz
append ks=http://192.168.1.1/centos6.5.ks initrd=centos6.5/initrd.img
6、啓動客戶機,使其從網絡啓動,測試安裝結果。在應答文件中還可以寫入系統安裝完成後的自動化配置腳本。