一、實驗目的
通過PXE安裝centos7,了解dhcp服務器的搭建,TFTP服務器的搭建,以及安裝菜單界面的制作
二、實驗環境
一台主機負責搭建DHCP服務器,HTTPD服務器,以及TFTP服務器(1個網卡,僅主機)
一台測試機(1個網卡,僅主機)
關閉VMware中僅主機的dhcp服務
三、實驗步驟
1、安裝相應的軟件
yum install httpd yum install dhcp yum install tftp-server yum install syslinux (前三個都是搭建服務器所必須的,第四個中含有pxelinux.0文件)
2、准備yum源
建立文件目錄結構
將光盤掛載對應的文件夾,sr0是7版本的光盤,對應centos7的文件夾,sr1對應centos6的文件夾。掛載完成后,啟動httpd服務,可網頁訪問
3、制作kickstart應答文件
1)在/var/www/html中建立文件夾用來存放ks文件 mkdir /var/www/html/ksdir
在之前講過用圖形化工具system-config-kickstart制作應答文件,現在用原有系統安裝完成后生成的anaconda-ks.cfg文件,復制加以修改,生成新的ks文件。自動化安裝需要有最小安裝和桌面安裝的選擇,所以需要制作兩個ks文件,分別是ks7-mini.cfg和ks7-desk.cfg
2)桌面安裝ks7-desk.cfg文件的修改制作
a、cdroom 改成url路徑,路徑就是准備好的yum源
b、graphical換成text 字符界面只能速度更快
c、selinux和防火牆的禁用,以及安裝完成后重啟
d、網卡名改為eth0
e、修改內核參數,加上net.ifnames=0,同時注釋掉下面出現的bootloader
f、清理分區 clean all 以及mbr分區
g、然后是安裝包的選擇,可以默認的就是桌面安裝,至於包下面的腳本可以全部刪掉
3)最小安裝ks7-mini.cfg文件的修改制作
基本和上述一樣,只是在包的選擇時,不選包就好了
檢查ks文件格式是否正確,有專門的命令ksvalidator
4、配置dhcp服務
1)打開dhcp服務配置文件/etc/dhcp/dhcpd.conf,可以看見里面全是空的,只有幾行注釋,但是給了范例文件,將所給的范例文件拷過來覆蓋當前的dhcp配置文件,再加以修改就好了
2)修改配置文件
a、根據所給的例子修改ip地址池,子網掩碼,ip范圍,以及網關
b、修改DNS,域名,租期等信息
c、前面的dhcp配置可以實現ip的分配,但是還不夠。dhcp配置還要指明引導文件的名稱,以及提供引導文件的服務器(TFTP服務器)的地址。被忘了分號;
重新啟動dhcp服務 systemctl restart dhcpd
5、tftp服務器及相關的文件准備
1)tftp服務器的下載路徑都在/var/lib/tftpboot/下,所以相關的文件都要放到這個文件目錄下,安裝的時候才能找到。
首先將之前安裝的syslinux中的pxelinux.0和menu.c32拷到 /var/lib/tftpboot/下
然后是光盤自身提供的文件,isolinux文件夾下的vmlinuz initrd.img 和isolinux.cfg 注意isolinux.cfg需要放到tftpboot目錄下的一個獨立文件夾pexlinux.cfg下,並改名為default
用到的命令如下

將tftp五福設置成開機啟動 systemctl enable tftp

7、測試安裝
另一個就是應答文件的權限 chmod +r
新建一個虛擬機,開始測試(一張網卡,NAT模式 200g硬盤 內存2G 不需要插光盤)
開機啟動后,選擇菜單彈出。
選擇最小安裝后就不用管了,系統會自動化安裝。實驗完成
注意:我這只是設置了centos7的安裝,如果想在安裝選擇界面中支持centos6的安裝,在增加以下幾個步驟
1、centos6應答文件(kickstart文件)的制作 ks6-mini.cfg
2、在tftp服務器的路徑下,分別建立centos7和centos6的目錄,其中vmlinuz initrd.img分別來自各自對應光盤,目錄結構如下
3、准備啟動菜單時把6也寫進去