PXE(Pre-boot Execution Environment,預啓動執行環境)是由Inter公司開發的網絡引導技術,工做在Client/Server模式,容許客戶機經過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操做系統linux
PXE遠程裝機的好處:
vim
規模化:同時裝配多臺服務器bash
自動化:安裝系統、配置各類服務服務器
遠程實現:不須要光盤、U盤等安裝介質網絡
搭建PXE網絡環境的前提條件app
既然是經過網絡傳輸,那麼計算機在啓動時,它的IP地址有誰來分配;又是怎樣下載到Linux內核和給文件系統的呢?dom
網卡:客戶機的網卡支持PXE協議,且主板主持網絡引導,並設置BIOS中容許從Network或LAN啓動ide
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. 驗證無人值守安裝