裝機環境
1, win7的電腦中經過vmware workstation裝了一臺redhat6.7的虛擬機做爲服務端,若是電腦系統是linux則選擇KVM來安裝linux虛擬機
2,服務器的ip是使用的橋接模式獲取的,最好是把服務端IP固定linux
3,服務端須要安裝如下服務器
服務端ip 192.168.1.105
DHCP服務器 分配IP地址,定位引導程序
DNS服務器 爲客戶機分配主機名(可選)
TFTP服務器 使用的UDP協議 不須要驗證 速度塊,爲客戶機提供引導程序下載
FTP/HTTP/NFS 提供yum源爲客戶端安裝軟件bootstrap
4,PXE的原理與流程vim
- 客戶機從本身的 PXE 網卡啓動,向本網絡中的 DHCP 服務器索取 IP,並搜尋引導文件的位置。
- DHCP 服務器返回分給客戶機 IP 以及 bootstrap 文件的放置位置(該文件通常是放在一臺 TFTP 服務器上)。
- 客戶機向本網絡中的 TFTP 服務器索取 bootstrap 文件。客戶機取得 bootstrap 文件後之執行該文件。根據 bootstra 的執行結果,經過 TFTP 服務器加載內核和文
件系統,進入安裝畫面, 此時能夠經過選擇 FTP,HTTP,NFS 方式之一進行安裝。
5,安裝過程服務器
(1)服務端搭建yum倉庫
我使用的掛載本地鏡像源,把光盤當作文件系統掛到OS中,設置成開機自啓動,
[root@C pxelinux.cfg]# cat /etc/fstab |grep -i ftp
/dev/cdrom /var/ftp/rhel6 iso9660 defaults,loop 0 1
[root@C pxelinux.cfg]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 15G 2.3G 87% /
tmpfs 932M 136K 931M 1% /dev/shm
/dev/sda1 283M 41M 228M 16% /boot
/dev/sr0 3.6G 3.6G 0 100% /var/ftp/rhel6
(2) DHCP服務的配置
1.安裝dhcp軟件包
2.修改主配置文件/etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.sample網絡
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20; #指定DHCP服務分配地址的範圍
option domain-name-servers 192.168.1.105; #指定DHCP服務器
next-server 192.168.1.105; #指定客戶端找的下一個服務器的的地址,也就是TFTP服務器
filename "pxelinux.0"; #指定PXE程序引導文件名
option routers 192.168.1.1;
}app
檢查DHCP語法是不是正確的 配置語法檢查:service dhcpd configtest
3.啓動dhcpd服務並設置爲開機自起
找個其餘的虛擬機測試是否能夠從192.168.1.105獲取ip
dhclient -d eth0
服務端dhcp的分配IP的檔案查看租約文件: /var/lib/dhcpd/dhcpd.leases
客戶端查看得到過哪些dhcp服務器分配的IP查看租約文件 /var/lib/dhclient/dhclient-eth0.leasesdom
(3) TFTP服務器的安裝與配置
TFTP是臨時服務由xinetd管理,安裝TFTP並去/etc/xinetd.d/tftp把服務啓用,最好設置開機自啓動
資源根目錄是 /var/lib/tftpboot
3)讀取啓動配置(pxelinux.cfg/default)
根據用戶選擇(或超時自動選擇)下載指定的vmlinuz和initrd.img
把光盤內的/var/ftp/rhel6/images/pexboot/下的文件 initrd.img 和vmlinuz拷到tftp的家目錄
/var/lib/tftpboot
準備pxelinux.0(網卡引導文件)
# yum provides */pxelinux.0 #查詢由那個包產生的
# yum -y install syslinux-nonlinuxide
# rpm -ql syslinux-nonlinux | grep pxelinux.0工具
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 把網卡引導文件也拷貝到TFTP的家目錄下面
# ls /var/lib/tftpboot/
[root@C tftpboot]# ll
total 39716
-r--r--r-- 1 root root 36411002 Dec 12 20:21 initrd.img #redhat6系統的鏡像文件
-rw-r--r-- 1 root root 26759 Dec 12 20:30 pxelinux.0 #引導文件
drwxr-xr-x 2 root root 4096 Dec 12 20:40 pxelinux.cfg #引導文件的配置,選擇哪一個系統
-r-xr-xr-x 1 root root 4222192 Dec 12 20:21 vmlinuz #redhat6的臨時文件系統
4,如何配置網卡引導配置文件
[root@C pxelinux.cfg]# cat default
prompt 1
timeout 600 #超時的時間
default rhel6 #默認選擇的系統的標籤
label rhel6 #標籤名稱
kernel vmlinuz #在/var/lib/tftpboot/加載vmlinuz
append initrd=initrd.img #導入鏡像文件oop
5.什麼是Kickstart?
預先提供應答文件,定義好各類安裝設置
免去交互過程,實現全自動化安裝
添加%post腳本,可執行安裝後的各類配置
6.生成kickstart的方法有哪些?
/root/anaconda-ks.cfg 找一臺已經安裝系統的詳細過程模板
服務端須要安裝 安裝system-config-kickstart工具
7,使用kickstart自動安裝,須要修改,把/root/anaconda-ks.cfg拷貝到FTP家目錄下面
達到自動配置客戶機的需求
# vim /var/lib/tftpboot/pxelinux.cfg/default
default abc
timeout 60
label abc
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg
ks.cfg能夠先在192.168.1.105的服務器端設置好,會生成一個ks.cfg文件也就是配置的模板
總結:這個PXE網絡裝機是yum 源,網絡配置,DHCP,FTP,TFTP加文件系統分區的集合,須要熟悉這些工做的流程和原理,具體細節配置能夠百度。