通過kickstart+vsftp+TFTP+dhcp實現客戶機的自動安裝;
- 配置DHCP服務
(1)DHCP服務用於客戶端主機分配IP地址的,而且這是服務器與客戶端主機進行文件傳輸的基礎,因此我們先配置DHCP服務,具體參數見下表:
主機名名稱
操作系統
IP地址
HJM1
RHEL6.5
172.25.0.21
客戶端主機
未安裝操作系統
(2)關閉防火牆和Selinux,並且設置爲開始自動關閉,然後重啓機器,具體操作如下:
[root@HJM1 ~]# /etc/init.d/iptables stop
[root@HJM1~]# chkconfig iptables off
[root@HJM1 ~]# vim /etc/selinux/config
(3)先把網卡的本地的的DHCP關閉,進入編輯à虛擬網絡編輯器à點擊這臺虛擬機需要的網卡à取消使用本地DHCP服務將IP地址分配給虛擬機,配置如下:
(4)掛載好光盤鏡像並把Yum倉庫文件配置好之後,安裝DHCP服務,然後編輯配置文件,添加運行bootp引導,這個作用是讓局域網內暫時沒有操作系統的主機也能獲取到靜態IP地址;支持pxe啓動,然後在配置文件的下面加載引導驅動文件pxelinx.0,這個的目的是爲了讓客戶端自動獲取IP地址之後主動去引導驅動文件,自行進入下一步的安裝。具體操作如下:
[root@HJM1 桌面]# yum install -y dhcp
[root@HJM1 dhcp]# rpm -qa | grep dhcp
dhcp-common-4.1.1-38.P1.el6.x86_64
dhcp-4.1.1-38.P1.el6.x86_64
[root@HJM1 dhcp]#
[root@HJM1 dhcp]# vim /etc/dhcp/dhcpd.conf
[dhcp]# service dhcpd start
正在啓動 dhcpd: [確定]
[root@HJM1 dhcp]# service dhcpd restart
關閉 dhcpd: [確定]
正在啓動 dhcpd: [確定]
[root@HJM1 dhcp]# chkconfig dhcpd on
[root@HJM1 dhcp]#
- 配置TFTP服務
(1)首先,安裝tftp服務器,然後編輯/etc/xinetd/tftp配置文件,將disable=yes改爲no,然後把啓動文件/cdrom/isolinux/* ,複製到tftp的默認路徑下(/var/lib/tftpboot),在將啓動配置也複製到tftp的默認路徑,然後在創建一個啓動界面的條目配置目錄
然後保存退出。操作如下:
[root@HJM1 dhcp]# yum install -y tftp-server
[root@HJM1 dhcp]# vim /etc/xinetd.d/tftp
[root@HJM1 dhcp]# chkconfig xinetd on
[root@HJM1 dhcp]# service xinetd restart
停止 xinetd: [確定]
正在啓動 xinetd: [確定]
[root@HJM1 dhcp]#mount /dev/sr0 /cdrom
[root@HJM1 ~]# cp /cdrom/isolinux/* /var/lib/tftpboot/
- 配置sysLinux服務
(1)Syslinux是一個用於提供引導加載的服務程序,在安裝好的syslinux服務中,在/usr/share/syslinux目錄下會出現好多引導文件,我們要把syslinux提供的引導文件複製到TFTP服務程序的默認目錄中/var/lib/tftpboot,也就是pxelinux.0,這樣客戶端就能夠順利的獲取引導文件,然後把光盤鏡像中自帶的一些引導文件也複製到TFTP服務的目錄中,具體操作如下:
[root@HJM1 dhcp]# yum install -y syslinux #安裝selinux
[root@HJM1 dhcp]# rpm -qa | grep syslinux #查詢軟件包
syslinux-4.02-8.el6.x86_64
[root@localhost ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@HJM1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost~]#mkdir /var/lib/tftpboot/pxelinux.cfg
[root@HJM1~]#cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@localhost pxelinux.cfg]# mv isolinux.cfg default
[root@localhost pxelinux.cfg]# vim default
- 配置vsftp服務
(1)我們是通過FTP協議來傳輸的,因此要用到vsftpd服務程序,當然也可以使用httpd服務來提供web網站訪問的方式,只要能確保光盤鏡像順利傳輸給客戶主機即可,如果使用的是web網站來提供光盤鏡像的,一定要將上面的配置文件中的光盤鏡像獲取的網站和kickstart應答文件獲取網站修改以下,我們這裏是使用vsftpd服務來傳輸的,安裝好之後,設置重新啓動,然後設置爲開機自動啓動就行,具體如下:
[root@HJM1 ~]# yum install -y vsftpd
[root@HJM1 ~]# service vsftpd start
爲 vsftpd 啓動 vsftpd: [確定]
[root@HJM1 ~]# service vsftpd restart
關閉 vsftpd: [確定]
爲 vsftpd 啓動 vsftpd: [確定]
[root@HJM1 ~]#chkconfig vsftpd on
[root@HJM1 ~]#mkdir /var/ftp/pub/rhel6
[root@HJM4 vsftpd]# mount /dev/sr0 /var/ftp/pub/rhel6/
- 創建Kickstart應答文件
我們是使用EXE+kickstart無人安裝系統服務,所以我們在傳輸好光盤鏡像之後,還能讓客戶機自動安裝,既就是在安裝的過程中,幫我們自動點擊安裝過程中出現的選項和參數。這個文件就是kickstart文件,就是位於根目錄下的anaconda-ks.cfg文件,因此我們要需要做的一件事就是,就服務器(HJM1)中的的應答文件通過ftp服務傳輸給客戶機,及把anaconda-ks.cfg文件複製到FTP的默認目錄下(/var/ftp/pub),然後在修改以下文件的的權限,確保所有人都具有可讀的權限,最後在修改一下配置文件的參數即可,修改文件這裏有兩種方法,一是直接編輯文件,在修改其參數,二是通過yum安裝system-config-kickstart軟件,這個是一款圖形化的kickstart應答文件生成工具,可以根據自己的需要生成自定義的應答文件,然後把生成的文件命令文ks.cfg,並放置在/var/ftp/pub/ks目錄下,我們這裏選擇自定義生成一個應答文件,具體操作如下:
[root@HJM1 ~]# yum install -y system-config-kickstart
[root@localhost pxelinux.cfg]#mkdir /var/ftp/pub/
[root@HJM1 ~]# system-config-kickstart
(1)基本配置,可以填寫默認的語言、鍵盤的方式和時區等,這裏根口令必須要填寫,如下:
(2)填寫安裝的方法,我們這裏選擇ftp來安裝,然後填寫其IP和目錄,如下:
(3)引導安裝程序選項,默認即可:
(4)分區信息,主引導記錄選擇清楚引導記錄,磁盤標籤選擇初始磁盤標籤,不然安裝時回報內存不足的錯誤,操作如下:
(5)網絡配置,à添加網絡設備à網絡設備(eth0)à確定,如下:
(6)驗證,默認即可,如下:
(7)防火牆配置,默認,如下:
(8)顯示配置默認,如下:
(9)軟件包的安裝,這裏桌面那裏都要安裝,基本型那裏需要安裝幾個基本的,其餘的看需求,有需要就安裝,剩下兩個腳本的可以不需要填寫,如下:
(10)點擊左上角的文件à保存à名稱(和上面的對應ks.cfg)à選擇對應的位置à保存,如下:
實驗結果
技術交流歡迎加入Q羣:177428068