PXE簡介html
嚴格來講,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上下載所需的文件。linux
Kickstart簡介vim
Kickstart是一種無人值守安裝方式。Kickstart的工做原理是經過記錄典型的安裝過程當中所需人工干預填寫的各類參數,並生成一個名爲ks.cfg的文件;在其後的安裝過程當中(不僅侷限於生成Kickstart安裝文件的機器)當出現要求填寫參數的狀況時,安裝程序會首先去查找Kickstart生成的文件,當找到合適的參數時,就採用,沒有找到合適的參數時,才須要安裝者手動干預。這樣,若是Kickstart文件涵蓋了安裝過程當中出現的參數時,安裝者徹底能夠只告訴程序從何處取ks.cfg文件,而後去忙本身的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啓選項來重啓系統,並結束安裝。bash
1、環境說明服務器
執行pxe+kickstart來批量安裝系統,須要的環境爲網絡
1.DHCP服務器dom
2.TFTP服務器ide
3.httpd服務器或者ftp服務器或者nfs服務器等能提供文件訪問的服務器工具
4.ks.cfg文件測試
5.syslinux服務提供的pxelinux.0文件
6.光盤鏡像中的全部文件
7.一臺帶有支持pxe協議的網卡的主機
8.爲確保實驗可用性,請將防火牆和selinux關閉
2、安裝步驟
一、系統版本
[root@c3 ~]# uname -r 2.6.32-431.el6.x86_64
[root@c3 ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m
二、配置網絡環境以及yum源
yum源的配置文件 #cd /etc/yum.repos.d #vim media.repo [media] name= Media baseurl=file:///mnt gpgcheck=0 enabled=1
[root@c3 ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:08:9B:54 inet addr:172.16.13.8 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe08:9b54/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:83140 errors:0 dropped:0 overruns:0 frame:0 TX packets:32859 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:32207129 (30.7 MiB) TX bytes:18363709 (17.5 MiB)
三、安裝DHCP服務
[root@c3 ~]# yum -y install dhcp [root@c3 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 提供dhcp配置文件
配置dhcp服務器,使其可以提供172.16.13.2-172.16.13.100的ip地址分配,子網掩碼
爲255.255.255.0
在/etc/dhcpd/dhcpd.conf中添加修改成如下內容
#######注意:每行後面必定要加分號,否則dhcpd服務啓動不成功!
# vim /etc/dhcp/dhcpd.conf option domain-name "jungege.com"; option domain-name-servers 192.168.13.8; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.13.0 netmask 255.255.255.0 { range 192.168.13.2 192.168.13.100; option routers 192.168.13.8; } filename "pxelinux.0"; next-server 192.168.13.8; 注意:最重要的則爲subnet的這段內容;
四、安裝httpd服務
[root@c3 ~]# yum -y install httpd [root@c3 ~]# chkconfig httpd on
此處httpd只簡單安裝可以提供http協議便可,無需多餘配置
五、安裝tftp-server服務端
[root@c3 ~]# yum -y install tftp-server xinetd
xinetd是tftp服務提供守護進程,將xinetd和tftp都設置爲開機啓動
[root@c3 ~]# chkconfig xinetd on [root@c3 ~]# chkconfig tftp on
六、準備所須要的rpm包
將關盤從新掛載至/var/www/html/zxj目錄下
# mkdir /var/www/html/zxj -pv # mount /dev/cdrom /var/www/html/zxj/
七、準備tftpboot下的文件
安裝syslinux,此服務爲pxe提供pxelinux.0文件
# yum -y install syslinux
複製pxe啓動所須要的文件到tftp根目錄下
# cp /var/www/html/zxj/p_w_picpaths/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/ # cp /var/www/html/zxj/isolinux/{vesamenu.c32,splash.jpg} /var/lib/tftpboot/ # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # mkdir -pv /var/lib/tftp/pxelinux.cfg # cp /var/www/html/zxj/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改/var/lib/tftpboot/pxelinux.cfg/default
八、第一次測試,是否能夠經過pxe安裝系統
九、提供kickstart文件
kickstart文件的生成有兩種方式
1)複製模板/root/anaconda-ks.cfg 然後使用vim編輯配置
2)使用system-config-kickstart命令來生成,建議使用/root/anaconda-ks.cfg模板來生成
此處咱們先用system-config-kickstart命令來生成ks.cfg文件,關於第一種方式後續推出
打開kickstart圖形界面配置工具
# yum -y install system-config-kickstart # system-config-kickstart 打開圖形配置界面
選項配置
2)選擇安裝方法
4)保存ks.cfg配置到/var/www/html/ 目錄下
注意:以上只配置了三個選項,其餘的配置能夠自定義選擇,其中軟件包的選擇更是因人而異
[root@c3 ~]# ls /var/www/html ks.cfg zxj
十、配置PXE引導程序可以自動加載ks.cfg文件
修改/var/lib/tftpboot/pxelinux.cfg的default文件
此時,須要提供的文件已經齊全咱們來啓動服務
# service httpd start # service xinetd start # service dhcpd start
十一、給其餘機器安裝系統
PXE+Kickstart實現了自動化安裝系統!
PS:水平有限,若有不妥或者疑問請指出。