centos的無人值守全自動安裝

                              CentOS的無人值守安裝[PXE]

實驗環境:一臺ftp服務器,並提供ks.cfg文件

         一臺或若干臺客戶機

         VMware workstation 10

PXE簡介:預啓動執行環境)工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用TFTP或MTFTP協議下載一個啓動軟件包到本是機內存中執行,由這個啓動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。


我們知道在linux系統的安裝過程,我們看到的交互式安裝界面是anaconda安裝程序提供的,而這款程序的

關鍵作用是產生ks.cfg文件,那麼我們就將試着將PXE與ftp服務器接合器起來實現自動化安裝,所以我們的第一步就是先在本地建成vsftpd服務器,

如圖,安裝vsftpd服務器,第一步掛載光盤並修改本地yum庫的配置文件,將enable=1,意爲啓用本地yum源


wKioJlLEB0iTp4VGAABS-YA30G0696.jpg

wKioL1LFWh_R2S3FAAAwgMDEQzg973.jpg


再將暫時不用的網絡yum配置文件先把他挪到一邊去,比如新建一個old目錄並把它挪進去



wKioOVLECK3hwS_iAAAwl38wUzU153.jpg



注意此時我們服務器的相關安全功能要把他關掉,比如,selinux功能,防火牆功能:

用setenforce把他設爲0,然後用iptables -L 查看防火牆列表,如圖

wKioOVLECIaSNBC4AABMEu4lVHw431.jpg


發現防火牆功能沒有打開,那就可以先不用去設置他,接着安裝:

wKioJlLECd-gSwkmAAA6wBKzbiY532.jpg

然後接着我們要做的就是用kickstart工具來產生ks.cfg文件,然後才能用於anoncond的安裝使用,我們先搜索一下關於kickstart工具的安裝信息,如圖

wKioOVLECm7Q4Z0AAABP38uR-Zo122.jpg


發現有兩個,而我們需要的就是關於系統配置的那個,然後把他安裝,如圖(noarch是一種那最爲常見的二進制軟件包文件後綴,可安裝在任意平臺)


wKiom1LFQdqB4gF_AAAdmAmZKSs187.jpg


相關提示,輸入y


wKiom1LFQYTAO4_aAAAjPhb1Reo401.jpg

然後我們切換到ftp服務器所在的目錄中去,發現有一個pub的目錄,說明我們要把要用到的文件拷貝到他的同一級目錄中去,即/var/ftp,如圖


wKioOVLECiHDJPhDAAA0tE-btqA504.jpg

接着我們就要用到上面安裝的kickstart了,(注意,因爲kickstart需要圖形界面的支持,所以使用xshell的同學應該先確認一下自己的xshell有沒有該功能,建議使用Xmanager 4)

wKiom1LFQiGhzqnTAAA5C1eD44M367.jpg

耐心等待一會後,複製完成後我們就可以接着執行kickstart指令了,如圖

wKiom1LFQknCKx-NAABKpz7ujJ4436.jpg



然後我們進行有關的選擇,比如語言和鍵盤類型,然後時去改爲asia/shanghai,然後在給出一個你自己的根口令,然後給口令加密那項也要選上,接着目標平臺不用改,因爲絕大多數pc都是這兩種,然後再選擇安裝後重啓,並選擇下一項靜默安裝,注意,千萬不能選交互安裝,那樣安裝的步驟會很多,如圖


wKiom1LFRG_j0jbYAAELMXEOJaI727.jpg

接着第二步,安裝方法,選擇執行新安裝,然後選ftp服務器,之後輸入你建立的服務器的ip地址和相關文件的存放目錄,如圖(我們的文件拷貝在根目錄下),此時不必指定用戶名和口令

wKiom1LFRYTyQ4yWAABlr0psESo523.jpg

然後接着第三項,我們選新安裝一個啓動加載項,然後給grub加上或不加口令,然後選在MBR上安裝引導加載程序,再往下的內核參數中,我們選擇靜默模式,然後創建新分區,我們可以簡單創建一下,如圖創建一個/分區,給他20G,然後再建一個/boot引導分區,最後再建一個/wap交換分區

wKiom1LFRl6B_OCSAABp9rCM3S0787.jpg


wKiom1LFR5mR7-WQAACElGSnwvw042.jpg



wKiom1LFSdfye6aeAACAjtjJaOc121.jpg


(注意,交換分區不需掛載點,我們要直接在文件類型中選擇交換,然後指定大小,如圖

wKiom1LFS56x0EomAACAyL-7iK4423.jpg


然後可以看到所有的具體分區信息;

wKiom1LFTSOgVeGqAAA9jeiPyRs885.jpg

然後再網絡設備中,我們要給系統加一塊網卡,比如圖中的命名爲eth0,爲了方便地址管理,類型選擇爲dhcp

wKiom1LFTYeissXqAAAus60rkho970.jpg

接下來驗證,下面那一行我們還用不到,所以只需選擇加密方式爲屏蔽口令和本地MD5類型即可,如圖:

wKiom1LFTfzTv7X3AABKBcztChg523.jpg




接下來安全,我們爲了後續的方便把本地的防火牆禁用掉,把selinux也關閉,如圖

wKiom1LFTj2Aj_e0AAAtJWDSNXI849.jpg



然後是顯示的有關選項,這個可以看自己的喜好而定,但首次啓用時的代理服務要禁用掉,並且要選擇有桌面系統,gnome 或kde,如圖:



wKiom1LFTmaxrL1bAAAkmBFSRYY032.jpg


再然後是軟件包的選擇,我們可以在列表中選擇自己想要安裝的軟件包


wKiom1LFTpGR2CEVAADBPaKuG7Y893.jpg

接着我們要進行預安裝腳本的安裝和安裝後的腳本,我們暫時還不需要,接下來進行文件的生成:



wKiom1LFTsHis-K1AABVcE9XA8M719.jpg


然後我們進入相關的路徑,可以看到我們的生成的文件,如圖;



wKiom1LFTu6xI6RHAABCTKCwm7Q160.jpg


用vim打開後會開到他的配置文件內容,上半部分是安裝選項,後半部分是數據包選擇,以%package開頭以%end結尾,如圖


wKiom1LFT2PhfAVKAAEUopythPk259.jpg



然後用yum安裝vsftpd,

接着把ftp服務器打開,用service vsftpd restart,如圖


wKiom1LFT7Kjrzn8AAAr9gUEg4E262.jpg


因爲pxe環境用的是tftp所以我們還要安裝tftp-server軟件包和安裝並配置dhcp服務器

wKiom1LFUDqyGhtwAABBZF2cv14082.jpg


並且看一下他的文件信息,如圖


wKiom1LFUI3Rj2B5AAB6y2l4UdE405.jpg


然後編輯/etc/xinetd.d/tftp這個文件,從這個文件可以看出他是一個後臺運行常駐內存的超級守護進程

wKiom1LFUPHz589SAAA5_FtaV1M202.jpg

將第十四行的disable選項改爲no,啓動這個超級守護進程


然後重新啓動這個超級守護進程


wKiom1LFUUyR3LsmAAAedebFHts685.jpg


接着再把ks.cfg文件拷貝到ftp所在的目錄下,並且可以看到文件類型和大小,如圖


wKiom1LFUZzxoAOGAABVp1XsgT4438.jpg


配置ftp服務器,將ftp中放入啓動所需要的各種文件,拷貝光盤鏡像,內核文件,初始化內存文件到/var/lib/tftpboot目錄下,內容如下




wKiom1LFUeWQKNw7AAAhx5nE-jw988.jpg


wKiom1LFUpKC29k4AACsMbIHb5A662.jpg

wKiom1LFUxzg1tL2AAA2UeVT9OY821.jpg


然後安裝syslinux命令

wKiom1LFU4bSY87sAAA4kwTckGE115.jpg


進入他的/usr/share/syslinux文件中,可以看到在目錄下有一個pxelinux.0的驅動文件(注意是0(零)不是o),需要把他拷貝進/var/lib/tftpboot這樣一個目錄中,

wKioL1LFU9XTLo-RAAD9i48MwBY697.jpg


wKiom1LFVBbhk15XAAAf7-1DHkU929.jpg

如圖,我們可以看到三條內容(前面拷過兩個)


wKiom1LFVFLxhQB4AABjIVnaj90877.jpg

在次/var/lib/tftpboot/目錄下新建一個pxelinux.cfg的目錄,並進入光盤的鏡像文件中,將isolinux中的isolinux.cfg文件拷貝到/var/lib/tftpboot/pxelinux.cfg目錄中,並命名爲default


wKioL1LFVKzxQ6jQAAAxDHMHJf8112.jpg

然後對這個文件進行修改,不過小編在這步編寫的時候一直寫不了,(因爲權限,因爲從光盤複製過來的原因。。。。)所以我們要用chmod 改一下他的權限,


然後改如下內容

wKiom1LFVWzDKYB-AAARBkoySvY865.jpg


並在第一個label項下的append追加項的後面加入ks.cfg=ftp://192.168.1.187/ks.cfg


wKioL1LFVZKDdzowAAA8iJwDg4Q967.jpg




進入dhcp的配置文件中,此時他是沒有內容的,我們需要重新編寫,可以讀取他的樣板文件,進行修改,進入/etc/dhcp/dhcpd.conf後在底行模式用r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample讀取樣板文件

wKioL1LFVdCw4xzWAAAnHkSkqdI077.jpg


wKiom1LFVg6gwI6NAAARTs1tZgc005.jpg



將dhcp配置文件的編輯,將原有的樣板文件中的地址池的例子刪除,然後重新定義,既從34行以後的都刪除,從33行開始改爲以下內容,如圖


wKioL1LFVkLhob4sAABrBZvY-C0552.jpg


wKioL1LFV5exwX5jAAA0aLkcRdk208.jpg

並將第8.9行多餘的內容刪除


wKiom1LFV3mjFayBAAAOOr1i4Mc375.jpg



在啓用dhcp前一定要將虛擬機的dhcp關掉(如果有的話),否則,容易地址衝突


wKiom1LFV8WRgdXfAAAso9PMCEY141.jpg


重啓dhcp服務器


wKioL1LFV9bDNpHYAAAYunFrxQY665.jpg

爲了保證我們的dhcp服務的正常工作,我們可以查看一下系統的message日誌,看dhcp是否工作證常,如圖


wKiom1LFWGOij5MAAAFkNW9gzk8014.jpg



可以看到dhcp各項服務正常

(也可以將vsftpd也重新啓動一下)


接着重新開啓一個新的虛擬機,如圖,選centos,並開機


wKioL1LFWImj0WlxAAAzjMQXM2s696.jpg

可以看到屏幕顯示的從哪個服務器上獲得的開機文件及地址信息,


wKiom1LFWO2RqgVFAAC-OG0LA5c253.jpg


看到安裝正常進行,達到預期效果

wKioL1LFWQyiRXnaAAA83DnTyJM889.jpg



wKiom1LFWSvA90BaAABgeXxUJGE159.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章