實驗環境:vmworkstation10,centos6.5,遠程終端xshell,操做系統已經安裝過apache。虛擬機的ip爲192.168.1.55。html
網絡安裝服務器須要啓動的服務。 linux
DHCP:用來給客戶機啓動時分配IP,並告訴客戶機到tftp服務器上找啓動安裝系統的引導程序。ios
tftp:負責提供啓動系統引導程序,引導內核等。shell
文件服務器:提供安裝過程當中須要的軟件包,kickstart應答文件等。apache
客戶機須要把網絡接入與服務器同一網絡,並設備bios容許網絡啓動,保證第一啓動項爲網絡引導。vim
安裝配置dhcp服務centos
# rpm -qa dhcp #查看dhcp包有沒有安裝,若是沒有安裝執行下一步安裝,已安裝過跳過下一步。 # yum -y install dhcp #使用yum安裝dhcp
#vim /etc/dhcp/dhcpd.conf #編輯dhcp的配置文件,能夠參考/usr/share/doc/dhcp<與dhcp包版本同名>/dhcpd.conf.sample 。這是dhcp配置文件的模版。option開頭的行是給客戶端配置網絡信息,剩下都配置都是配置dhcp服務器端工特性。我這裏的配置文件以下。bash
option domain-name "wukui.com"; #客戶機所屬的域 option domain-name-servers 8.8.8.8; #分配給客戶機制dns default-lease-time 600; #租約時間,以秒爲單位。 max-lease-time 7200; #最大租約時間,以秒爲單位 log-facility local7; #記錄DHCP服務器目錄級別 subnet 192.168.1.0 netmask 255.255.255.0{ #標記要分配的網絡,{}中爲一個總體。 range 192.168.1.60 192.168.1.100; #地址池 option routers 192.168.1.1; #客戶端的默認網關 next-server 192.168.1.55; #這裏在網絡安裝操做系統時才用的到,指定客戶機獲得網絡配置後第一個要找的tftp服務器。 filename "pxelinux.0" ; #指定讀取tftp服務器上的文件。 host winxp { #這段用來指定某個MAC地址獲取指定IP的。這裏用不到這段,只是用來作個提示給單個主機分配IP的方法。 hardware ethernet 00:11:22:33:44:55; #硬件地址 fixed-address 192.168.1.88; #給這個硬件地址分配的IP option routers 192.168.1.1; #分配給這個IP地址主機的的網關 } }
安裝配置tftp服務器。tftp包是客戶端,tftp-server爲服務器湍。tftp依賴超級守護進程xinetd啓動監聽服務,xinetd必須啓動纔可使用tftp服務。服務器
#yum -y install tftp-server #yum -y install tftp #vim /etc/xinetd.d/tftp #修改disable的值爲no,其它不用修改。 service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no #修改這裏的值爲no,這樣xinetd啓動後就會替tftp監聽端口。 per_source = 11 cps = 100 2 flags = IPv4 }
重記xinetd服務,並測試tftp。
網絡
# service xinetd restart #重啓xinetd服務,以讓其監聽tftp服務。 #rpm -ql tftp-server #查看tftp-server軟件包都生成了那些文件,這裏主要看它提供服務的目錄在什麼地方 /etc/xinetd.d/tftp /usr/sbin/in.tftpd /usr/share/doc/tftp-server-0.49 /usr/share/doc/tftp-server-0.49/CHANGES /usr/share/doc/tftp-server-0.49/README /usr/share/doc/tftp-server-0.49/README.security /usr/share/doc/tftp-server-0.49/README.security.tftpboot /usr/share/man/man8/in.tftpd.8.gz /usr/share/man/man8/tftpd.8.gz /var/lib/tftpboot #提供服務的主目錄
對tftp作測試,看下可否正常上傳下載文件。進入tftp後沒法使用像ls之類的命令。使用help能夠獲取使用幫助
#ss -unl | grep 69 #查看tftp使用udp 69端口是否監聽。 #cp /etc/passwd /var/lib/tftpboot/ #tftp 192.168.1.55 >get passwd >quit #ls passwd #看下是否可以下載文件。確保tftp服務沒問題。
把啓動須要的文件拷貝到tftp目錄下。如下對每一個文件做用簡單描述。
pxelinux.0 相似於grub的引導程序,文件位於/usr/shate/syslinux/pxelinux.0。加載它後會出現一個相似grub的命令行。而後加載tftp上的linux內核和ramdisk。再加載anaconda(fedora維護的軟件,用來安裝操做系統)開始安裝系統。
vesamenu.c32 pxelinux.0 加載時的圖形界面。
splash.jpg 加載圖形內面的背景圖片。
isolinux.cfg 圖形界面顯示的內容的功能配置文件,我這裏主要在此文件中指定安裝操做系統自動應答文件。此文件必須複製到tftp主目錄下的pxelinux.cfg目錄下,文件名必須爲default
以上三個文件在光盤上的isolinux目錄下
vmlinuz 網絡引導啓動的linux內核。
initrd.img 幫助內核加載客戶機大磁盤的驅動。
以上兩個文件在光盤上的p_w_picpath/pxeboot目錄下
配置文件 default vesamenu.c32 timeout 60 #指定超時時間爲6秒。 display boot.msg menu background splash.jpg menu title Welcome to CentOS 6.5! menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color tabmsg 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color hotsel 0 #ff000000 #ffffffff menu color hotkey 7 #ffffffff #ff000000 menu color scrollbar 0 #ffffffff #00000000 label linux menu label ^start install system menu default kernel vmlinuz ks= #給內核傳參數,指定配置文件的位置。 append initrd=initrd.img
至此啓動工做配置文完,接下來配置文件服務器和kickstart自動應答文件。文件服務使用apache。因爲個人系統安裝後就已經安裝了httpd服務。因此直接啓動就能夠了。
準備操做系統安裝文件
# service httpd start #啓動apache # cp -r /media/* /var/www/html/centos/ # 把操做系統安裝過程當中須要的文件複製到網站根目錄下的centos目錄下 製做kickstart自動應答文件 模板文件是/root/anaconda-ks.cfg,能夠參考此文件。還可使用圖形配置工具system-config-kickstart,用這個工具來配置應答文件。這個軟件須要安裝。 # yum -y install system-config-kickstart # system-config-kickstart #啓動圖形配置窗口,我試過在putty不可使用。啓動後的界面以下。
配置時區和root的密碼
安裝操做系統時所須要的文件url。這裏指向個人光盤文件。
分區配置,與grub安裝配置。不過不支持LVM,想要使用LVM須要參考模板文件,手動添寫。分區根據本身的狀況而定,注意備份數據。!!
這裏選擇要安裝的軟件包
還有安裝執行的腳本等等。最後點file按鈕保存文件,文件保存在當前的工做目錄裏。
把應答文件放在apache的根目錄下,要確保能夠訪問到。而且保證/var/lib/tftpboot/pxelinux.cfg/default文件中kernel vmlinuz ks=http://192.168.1.55/ks.cfg 指向正確r的應答文件。