搭建PXE網絡實現遠程裝機服務
PXE遠程裝機的好處:
規模化:同時裝配多臺服務器
自動化:安裝系統、配置各種服務
遠程實現:不需要光盤、U盤等安裝介質
搭建PXE網絡環境的前提條件
既然是通過網絡傳輸,那麽計算機在啟動時,它的IP地址有誰來分配;又是怎樣下載到Linux內核和給文件系統的呢?
網卡:客戶機的網卡支持PXE協議,且主板主持網絡引導,並設置BIOS中允許從Network或LAN啟動
DHCP:網絡中有一臺DHCP服務器為客戶機分配地址、指定引導文件,並添加相應的PXE特有配置
TFTP:通過TFTP服務器提供引導鏡像文件的下載
搭建PXE遠程裝機服務器
本案例PXE遠程裝機服務器集成了RHEL安裝源、TFTP、DHCP服務
案例:隨著公司業務不斷發展,服務器數量也迅速增長,需要重新安裝RHEL6操作系統。為了提高服務器裝機效率,要求基於PXE網絡實現全自動無人值守批量安裝
需求描述:
1. 服務器的IP地址為192.168.1.10,所在網段為192.168.1.0/24
2. 搭建PXE網絡裝機服務器,為新采購的10臺服務器裸機安裝RHEL操作系統
3. 新裝的系統必須包括基本組件、開發工具、LAMP平臺,默認語言為中文
4. 為新裝的系統自動配置好YUM倉庫,root設置密碼為password
實驗步驟:
1. 準備RHEL6安裝源
RHEL安裝源一般通過HTTP、FTP協議發布,也支持NFS協議。本例采用FTP發布安裝源,並配置YUM軟件倉庫,YUM軟件倉庫的配置方法請參閱我的上一篇博客,這裏不在贅述
[root@localhost ~]# yum -y install vsftpd //安裝vsftpd服務 [root@localhost ~]# mount /dev/cdrom /media/ //掛載系統光盤 mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# cp -rf /media/* /var/ftp/rhel //準備安裝源 [root@localhost ~]# service vsftpd restart //開啟vsftpd服務
2. 安裝並啟用TFTP服務
TFTP服務默認由超級服務xinetd超級服務器進行管理
[root@localhost ~]# yum -y install tftp-server //安裝tftp服務 [root@localhost ~]# vim /etc/xinetd.d/tftp //修改以下配置項,將yes改為no disable = no [root@localhost ~]# service xinetd start //開啟xinetd服務
3. 準備Linux內核、初始化鏡像文件
[root@localhost media]# cd /media/images/pxeboot/ //將這兩個文件復制到tftp服務的根目錄下 [root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
4. 準備PXE引導程序、啟動菜單文件
[root@localhost ~]# yum -y install syslinux //安裝PXE引導程序,並復制到tftp根目錄下 [root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto //指定默認入口名稱 prompt 1 //1表示等待用戶控制,0表示不等待用戶控制 label auto //圖形安裝 kernel vmlinuz append initrd=initrd.img devfs=nomount ramdisk_size=8192 label linux text //文本安裝 kernel vmlinuz append text initrd=initrd.img devfs=nomount ramdisk_size=8192 label linux rescue //救援模式 kernel vmlinuz append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
5. 安裝並啟用DHCP服務
[root@localhost ~]# yum -y install dhcp //安裝dhcp服務 [root@localhost ~]# vim /etc/dhcp/dhcpd.conf //修改配置文件分配地址,並指定引導文件位置 # A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.0 { //定義網段 range 192.160.1.100 192.168.1.200; //分配地址池 option domain-name-servers 192.168.1.10; //DNS服務器地址 option domain-name "yangshufan.com"; //域名 option routers 192.168.1.10; //路由地址 option broadcast-address 192.168.1.255; //廣播地址 default-lease-time 600; //默認租約時間 max-lease-time 7200; //最大租約時間 next-server 192.168.1.10; //PXE服務器IP地址 filename "pxelinux.0"; //PXE引導程序的文件名 } [root@localhost ~]# service dhcpd start //開啟dhcpd服務,需要配置靜態IP地址
現在就可以在客戶機上進行安裝測試了,然而安裝期間仍需手動選擇語言、鍵盤類型、指定安裝源等一系列交互操作,十分不方便,通過Kickstart工具配置安裝應答文件,自動完成安裝中的各種設置,從而無需手動幹預,提高網絡裝機效率
6. 實現Kickstart無人值守安裝
(1)安裝system-config-kickstart工具
[root@localhost ~]# yum -y install system-config-kickstart
(2)準備安裝應答文件
通過桌面菜單“應用程序”\“系統工具”\“Kickstart”即可打開“Kickstart配置窗口”,對各種安裝設置進行指定
1)基本配置
2)安裝方法
3)分區信息
4)網絡配置
5)防火墻設置
6)軟件包選擇
根據需要選擇需要安裝的軟件包分組,本例選擇“基本”、“萬維網服務”、“X窗口系統”、“字體”、“桌面”、“開發工具”、“中文支持”等
7)安裝腳本
(3)保存自動應答文件
(4)啟動自動應答文件
[root@localhost ~]# vim ks.cfg [root@localhost ~]# cp ks.cfg /var/ftp/rhel/ks.cfg [root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 0 //修改為0,表示不等待用戶控制 label auto kernel vmlinuz //添加引導參數,指定ks.cfg文件的URL路徑 append ks=ftp://192.168.1.10/rhel/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
7. 驗證無人值守安裝
搭建PXE網絡實現遠程裝機服務