一、kickstart與pxe簡介:linux
kickstart是RED HAT推出的一種無人值守的安裝模式,它能實現大批量的客戶機自動安裝。通常狀況下,咱們在安裝linux操做系統時,是以一種交互式應答的界面模式來決定咱們的系統該如何安裝,好比安裝過程顯示的語言,使用的鍵盤類型,所在的時區信息,要預先安裝的軟件包,磁盤分區信息等等類容。而kickstart所完成的功能就是將全部必需要回答的問題預先寫入一張叫作ks.cfg的配置表中,而後引導進程找到這個配置表自動引導剩下的安裝工做以及應答,實現自動化安裝。
centos
pxe是Intel公司研發的預啓動執行環境技術,結合kickstart能實現客戶端自動得到位於網絡上的ks.cfg文件,引導安裝文件等,實現用戶只須要開機就能自動安裝操做系統的輕便工做,無需再做額外的配置,便可輕鬆的完成大批量的客戶端安裝。
安全
二、kickstart+pxe的實現流程:bash
三、實驗環境:服務器
VMware workstations 10 + CentOS6.5-i386
網絡
DHCP服務器地址:192.168.47.100
app
TFTPfFF服務器地址:192.168.47.100
dom
FTP服務器地址:192.168.47.100
ide
安裝樹目錄:/var/ftp/pub
測試
引導程序目錄:/var/lib/tftpboot
ks.cfg位置:/var/ftp/
4:實驗步驟:
1)、安裝DHCP服務器,並配置相關信息:
[root@fcy ~]# yum install dhcp -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: Setting up Install Process Resolving Dependencies --> Running transaction check ......(過程略) Installed: dhcp.i686 12:4.1.1-38.P1.el6.centos Dependency Installed: portreserve.i686 0:0.0.4-9.el6
打開DHCP的主配置文件(/etc/dhcp/dhcpd.conf),作以下修改:
因爲新建的DHCP服務主配置文件無內容,因此在底行模式導入系統樣板文件:
保留以下配置便可:
啓動DHCP服務器:
[root@fcy ~]# service dhcpd start Starting dhcpd: [ OK ]
2)、安裝FTP服務器:
[root@fcy ~]# yum install vsftpd tftp-server -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: Setting up Install Process ......(過程略) Installed: tftp-server.i686 0:0.49-7.el6 Dependency Installed: xinetd.i686 2:2.3.14-39.el6_4 Complete!
因爲tftp是依賴於xinetd的進程,因此配置文件在/etc/xinetd.d/tftp下:
啓動tftp服務器:
[root@fcy ~]# service xinetd start Starting xinetd: [ OK ]
端口69已經啓動:
3)、導入引導內容:
找到tftp服務器的主目錄/var/lib/tftpboot/,導入光盤上的isolinux目錄下的內核和驅動文件
安裝光盤上的syslinux軟件包,獲得網絡引導文件pxelinux.0
[root@fcy tftpboot]# yum install syslinux -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: Setting up Install Process Resolving Dependencies --> Running transaction check ......(過程略) Installed: syslinux.i686 0:4.02-8.el6 Dependency Installed: mtools.i686 0:4.0.12-1.el6 Complete!
找到pxelinux.0這個文件(),拷貝到tftp服務器的根目錄
建立目錄pxelinux.cfg目錄,將光盤上的網絡引導程序拷貝進去並重命名爲default:
[root@fcy tftpboot]# mkdir pxelinux.cfg [root@fcy tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default [root@fcy tftpboot]# ll total 34944 -r--r--r--. 1 root root 31742048 Jul 29 23:26 initrd.img -rw-r--r--. 1 root root 26828 Jul 29 23:31 pxelinux.0 drwxr-xr-x. 2 root root 4096 Jul 29 23:34 pxelinux.cfg -r-xr-xr-x. 1 root root 4002656 Jul 29 23:26 vmlinuz
修改引導程序的內容
default linux #將默認的引導菜單修改成第一個linux菜單 #prompt 1 timeout 60 #修改引導等待時間爲60秒 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 ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img ks=ftp://192.168.47.100/ks.cfg #指定ks.cfg文件的位置,注意不要換行,否則會沒法找到ks.cfg文件 ......
4)、安裝system-config-kickstart,生成自動化安裝文件ks.cfg:
[root@fcy pxelinux.cfg]# yum install system-config-kickstart -y ......(過程略)
生成ks.cfg文件:
[root@fcy var]# system-config-kickstart Xlib: extension "RANDR" missing on display "localhost:12.0". /usr/share/system-config-kickstart/kickstartGui.py:103: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated xml = gtk.glade.XML ("/usr/share/system-config-kickstart/system-config-kickstart.glade", domain="system-config-kickstart") Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: Checking for new repos for mirrors
注意:此時會彈出一個對話框,點擊左側倒數第三個選項,若是沒法發現能夠安裝的軟件包,請從新配置好本地的yum源:
基本配置:
安裝方式:
引導記錄設置:
分區設置:
網絡設置:
網絡安全設置:
預安裝包選擇(按需選擇):
安裝後運行腳本(主要功能是將網卡內容主機名稱固定):
#!/bin/bash string=`ifconfig eth0 |grep 'inet\>' |awk '{print $2}'` num=${string##*.} sed -i -e "s@HOSTNAME.*@HOSTNAME=pxe$num.a.com@" /etc/sysconfig/network echo "DEVICE=eth0\nONBOOT=yes\nBOOTPROTO=static\nIPADDR=192.168.47.$num\nNETMASK=255.255.255.0\nGATEWAY=192.168.47.254\n" >/etc/sysconfig/network-scripts/ifcfg-eth0
生成ks.cfg文件並放置在/root目錄下
在ks.cfg文件中添加一句poweroff,表示安裝完成後將系統設置爲關閉狀態
4)、設置FTP服務器:
將光盤上的內容拷貝到FTP服務器上(/var/ftp/pub)
[root@fcy ~]# cp -r /media/cdrom/* /var/ftp/pub
將修改好的ks.cfg文件拷貝到FTP服務器的根目錄下(/var/ftp/)
[root@fcy ~]# cp /root/ks.cfg /var/ftp/ [root@fcy ~]# ll /var/ftp total 8 -rw-r--r--. 1 root root 1403 Jul 30 00:48 ks.cfg drwxr-xr-x. 6 root root 4096 Jul 29 23:43 pub
啓動FTP服務:
[root@fcy ~]# service vsftpd start Starting vsftpd for vsftpd: [ OK ]
5)、安裝測試:
建立一個新的虛擬機,並設置硬件屬性,其中網卡注意與服務器保持一致:
點擊選項欄的虛擬機--》電源---》啓動時進入BIOS,而後啓動虛擬機
進入BIOS後選擇BOOT的啓動順序,將網絡啓動移到最上面,按F10保存退出:
經過MAC地址向DHCP服務器獲取動態地址:
找到FTP服務器,並下載ks.cfg文件:
開始自動化安裝操做系統:
因爲設置緣由,安裝完成後會自動關閉系統,從新啓動系統,進入查看主機名和網卡信息:
五、總結
在作實驗以前,必定要了解kickstart和pxe的工做過程,以及須要哪些服務的支持和軟件、文件的引導。只有這樣,才能正確、快速的搭建一個無人值守安裝的服務。