PXE無人值守安裝
一、概念與原理
什麼是PXE
嚴格來說,PXE 並不是一種安裝方式,而是一種引導的方式。進行 PXE 安裝的必要條件是要安裝的計算機中包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE (Pre-boot Execution Environment,直譯爲啓動前的執行環境)協議使計算機可以通過網絡啓動。協議分爲client 和 server 端,PXE client 在網卡的 ROM 中,當計算機引導時,BIOS 把 PXE client 調入內存執行,由 PXE client 將放置在遠端的文件通過網絡下載到本地運行。運行 PXE 協議需要設置 DHCP 服務器和 TFTP 服務器。DHCP服務器用來給 PXE client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE client 分配 IP 地址,所以在配置 DHCP 服務器時需要增加相應的 PXE 設置。此外,在 PXE client 的 ROM 中,已經存在了 TFTP Client。PXE Client 通過 TFTP 協議到 TFTP Server 上下載所需的文件。
什麼是KickStart
KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,並生成一個名爲ks.cfg的文件;在其後的安裝過程中(不只侷限於生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啓選項來重啓系統,並結束安裝。
二、環境說明
執行pxe+kickstart來批量安裝系統,需要的環境爲
1.DHCP服務器
2.TFTP服務器
3.httpd服務器或者ftp服務器或nfs服務器等能提供文件訪問的服務器
4.ks.cfg文件
5.syslinux服務提供的pxelinux.0文件
6.一臺帶有支持pxe協議的網卡的主機
三、安裝步驟
(1)安裝DHCP服務
配置dhcp服務器,使其能夠提供192.168.1.200-192.168.1.230的ip地址,子網掩碼爲255.255.255.0。
在/etc/dhcpd/dhcpd.conf中添加如下內容,請注意,每行後面一定要加分號,要不不會成功
(2)安裝tftp服務
Linux(這裏以CentOS舉例)的TFTP服務器時使用xinetd來管理的,安裝TFTP的時候不要忘了要不xinetd也裝上。
Linux(這裏以CentOS舉例)的TFTP服務器時使用xinetd來管理的,安裝TFTP的時候不要忘了要不xinetd也裝上。
[root@localhost ~]# yum install tftp-server xinetd -y
其中xinetd是爲tftp提供守護進程的,將xieted和tftp都設置爲開機自啓動,並將服務啓動
[root@localhost ~]# chkconfig tftp on
[root@localhost ~]# chkconfig xinetd on
(3)安裝http服務
基於局域網yum源
1[root@localhost ~]#yum install –y thhp
2[root@localhost ~]#mkdir /var/www/html/repolist
3[root@localhost ~]#mount –bind /mnt /var/www/html/repolist
拷貝kickstart文件到/var/www/html/目錄下
(4)複製pxe啓動所需要的文件到tftp目錄下
安裝syslinux,此服務爲pxe提供pxelinux.0文件
[root@localhost ~]# yum install syslinux -y
複製pxe啓動所需要的文件到tftp目錄下
[root@localhost~]# yum -y install syslinux
[root@localhost~]# cp /mnt/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/
[root@localhost~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
(5)創建修改ks文件
system-config-kickstart
在這個裏面編輯ks文件,這裏就不一一演示了
修改/var/lib/tftpboot/pxelinux.cfg的default文件
爲/var/www/html下的ks.cfg文件加可讀權限
四、測試安裝