CentOS 7下PXE+Kickstart無人值守安裝操作系統(tǒng)

1.簡介

1.1讶请、 什么是PXE

PXE(Pre-boot Execution Environment,預(yù)啟動執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術(shù),工作于Client/Server的網(wǎng)絡(luò)模式,支持工作
站通過網(wǎng)絡(luò)從遠端服 務(wù)器下載映像,并由此支持通過網(wǎng)絡(luò)啟動操作系統(tǒng),在啟動過程中,終端要求服務(wù)器分配IP地址,再用TFTP(trivial
file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個啟動軟件包到本機內(nèi)存中執(zhí)行,由這個啟動軟件
包完成終端基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)祈远。
  嚴格來說,PXE 并不是一種安裝方式,而是一種引導(dǎo)方式杜秸。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網(wǎng)
卡(NIC),即網(wǎng)卡中必須要有 PXE Client控乾。PXE 協(xié)議可以使計算機通過網(wǎng)絡(luò)啟動遂蛀。此協(xié)議分為 Client端和 Server 端,而PXE Client則
在網(wǎng)卡的 ROM 中。當計算機引導(dǎo)時,BIOS 把 PXE Client 調(diào)入內(nèi)存中執(zhí)行,然后由 PXE Client 將放置在遠端的文件通過網(wǎng)絡(luò)下載到本
地運行鹃答。運行 PXE 協(xié)議需要設(shè)置 DHCP 服務(wù)器和 TFTP 服務(wù)器乎澄。DHCP 服務(wù)器會給 PXE Client(將要安裝系統(tǒng)的主機)分配一個 IP 地
址,由于是給 PXE Client 分配 IP 地址,所以在配置 DHCP 服務(wù)器時需要增加相應(yīng)的 PXE 設(shè)置。此外,在 PXE Client 的 ROM 中,已經(jīng)
存在了 TFTP Client,那么它就可以通過 TFTP 協(xié)議到 TFTP Server 上下載所需的文件了测摔。

PXE的工作過程:

  • PXE Client 從自己的PXE網(wǎng)卡啟動,向本網(wǎng)絡(luò)中的DHCP服務(wù)器索取IP;
  • DHCP 服務(wù)器返回分配給客戶機的IP 以及PXE文件的放置位置(該文件一般是放在一臺TFTP服務(wù)器上) ;
  • PXE Client 向本網(wǎng)絡(luò)中的TFTP服務(wù)器索取pxelinux.0 文件;
  • PXE Client 取得pxelinux.0 文件后之執(zhí)行該文件;
  • 根據(jù)pxelinux.0 的執(zhí)行結(jié)果,通過TFTP服務(wù)器加載內(nèi)核和文件系統(tǒng) ;
  • 進入安裝畫面, 此時可以通過選擇HTTP置济、FTP、NFS 方式之一進行安裝;


    下載.png

1.2 什么是Kickstart

Kickstart是一種無人值守的安裝方式锋八。它的工作原理是在安裝過程中記錄典型的需要人工干預(yù)填寫的各種參數(shù),并生成一個名為ks.cfg的
文 件浙于。如果在安裝過程中(不只局限于生成Kickstart安裝文件的機器)出現(xiàn)要填寫參數(shù)的情況,安裝程序首先會去查找Kickstart生成的
文件,如 果找到合適的參數(shù),就采用所找到的參數(shù);如果沒有找到合適的參數(shù),便需要安裝者手工干預(yù)了。所以,如果Kickstart文件涵蓋
了安裝過程中可能出現(xiàn)的 所有需要填寫的參數(shù),那么安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后就去忙自己的事情挟纱。等安
裝完畢,安裝程序會根據(jù)ks.cfg中的設(shè) 置重啟系統(tǒng),并結(jié)束安裝羞酗。

PXE+Kickstart 無人值守安裝操作系統(tǒng)完整實驗過程如下:


下載 (1).png

2. 準備工作

準備一臺虛擬機(桌面版因為一會需要用到,沒有最小化也可以但是需要裝桌面的包)
關(guān)閉防火墻和selinux
安裝epel源
準備一個centos7的鏡像

在服務(wù)器中,生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依賴于X Windows,所以我們需要安裝X Windows 和Desktop 并重啟系統(tǒng)

[root@CentOS ~]#yum -y groupinstall "X Window System"
[root@CentOS ~]# yum -y groupinstall "GNOME Desktop" 

3紊服、配置HTTP安裝方式

系統(tǒng)的安裝方式可以選擇HTTP檀轨、FTP胸竞、 NFS,我們這里介紹HTTP方式的安裝,其他兩種方式的安裝,大家可以自行百度。

3.1 安裝并配置HTTP

[root@CentOS ~]# yum -y install httpd
[root@CentOS ~]# systemctl start httpd.service
[root@CentOS ~]# systemctl enable httpd.service

3.2裤园、掛載光盤鏡像

[root@centos ~]# mount CentOS-7-x86_64-Minimal-1804.iso /mnt/centos/

3.3撤师、復(fù)制光盤全部內(nèi)容至http 的根目錄/var/www/html/os/下

[root@CentOS ~]# cp -r /mnt/centos* /var/www/html/os

4、配置TFTP

4.1拧揽、安裝tftp-server

[root@CentOS ~]# yum -y install tftp-server
[root@CentOS ~]# yum -y install xinetd

4.2剃盾、啟用tftp 服務(wù),編輯配置文件/etc/xinetd.d/tftp 內(nèi)容,將disable由yes修改為no

server_args = -s /var/lib/tftpboot
disable = no
per_source = 11

4.3淤袜、啟動tftp服務(wù)

[root@centos ~]# systemctl restart xinetd
[root@centos ~]# systemctl enable xinetd
[root@centos ~]# systemctl start tftp
[root@centos ~]# systemctl enable tftp

5痒谴、配置支持PXE的啟動程序

5.1、安裝syslinux

[root@centos ~]# yum -y install syslinux

5.2铡羡、復(fù)制pxelinux.0 文件至/var/lib/tftpboot/ 文件夾中

[root@CentOS ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

說明:syslinux是一個功能強大的引導(dǎo)加載程序,而且兼容各種介質(zhì)积蔚。更加確切地說:SYSLINUX是一個小型的Linux操作系統(tǒng),它的目的
是簡化首次安裝Linux的時間,并建立修護或其它特殊用途的啟動盤。

5.3烦周、復(fù)制iso 鏡像中的/image/pxeboot/initrd.img 和vmlinux 至/var/lib/tftpboot/ 文件夾中

[root@CentOS ~]# cp /var/www/html/os/images/pxeboot/initrd.img /var/lib/tftpboot/
[root@CentOS ~]# cp /var/www/html/os/images/pxeboot/vmlinuz /var/lib/tftpboot/

5.4尽爆、復(fù)制iso 鏡像中的/isolinux/*.msg 至/var/lib/tftpboot/ 文件夾中

[root@CentOS ~]# cp /var/www/html/os/isolinux/*.msg /var/lib/tftpboot/

5.5、在/var/lib/tftpboot/ 中新建一個pxelinux.cfg目錄

[root@CentOS ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

5.6读慎、將iso 鏡像中的/isolinux 目錄中的isolinux.cfg復(fù)制到pxelinux.cfg目錄中,同時更改文件名稱為default

編輯配置文件

[root@centos ~]# cp /var/www/html/os/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@CentOS ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

在位置1處添加menu default這一行,在位置2處修改成圖中樣式,在位置3處刪除兩行之間的menu default,最后效果如圖所示,位置1 在63行
除了label linux其余的label可以刪除

label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.126.133/os inst.ks=http://192.168.126.133/ks.cfg
label check
menu label Test this ^media & install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

簡書 寫文章.png

6漱贱、配置DHCP

6.1、安裝DHCP服務(wù)

[root@CentOS ~]# yum -y install dhcp

6.2夭委、復(fù)制配置模板文件到DHCP的配置目錄中

[root@CentOS ~]# cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

6.3幅狮、修改/etc/dhcp/dhcpd.conf 配置文件,內(nèi)容如下:

在第27行

subnet 192.168.216.0 netmask 255.255.255.0 { //服務(wù)端IP網(wǎng)段及掩碼
option routers 192.168.216.1; //網(wǎng)關(guān)
option subnet-mask 255.255.255.0; //子網(wǎng)掩碼
range dynamic-bootp 192.168.216.20 192.168.216.200; //dhcp分發(fā)的地址范圍
default-lease-time 21600; //設(shè)置默認的IP租用期限
max-lease-time 43200; //設(shè)置最大的IP租用期限
next-server 192.168.216.133; //TFTP服務(wù)器地址
filename "pxelinux.0";
//指定引導(dǎo)文件位置,這里是TFTP根目錄下的pxelinux.0
}

6.4株灸、啟動DHCP服務(wù)

[root@CentOS ~]# systemctl start dhcpd.service
[root@CentOS ~]# systemctl enable dhcpd.service

切忌服務(wù)啟動之后一定要看以下dhcp服務(wù)的狀態(tài)!!!
如果有出現(xiàn)關(guān)于虛擬網(wǎng)卡的問題請參考https://blog.csdn.net/csfreebird/article/details/8967653

7崇摄、生成ks.cfg 文件

7.1、安裝Kickstart

[root@CentOS ~]# yum install system-config-kickstart

7.2慌烧、在桌面環(huán)境下配置Kickstart,啟動X Windows 環(huán)境

[root@CentOS ~]# startx

在圖形界面中打開終端,輸入如下命令啟動Kickstart

[root@CentOS ~]# system-config-kickstart

按下列圖形填,第1個

1.png

第二個
2.png

第三個
3.png

第四個
4.png

第五個
5.png

第六個
6.png

然后保存逐抑,保存完之后在文件最后添加三行內(nèi)容
7.png

7.3、保存后使用命令檢查語法是否正確

[root@CentOS ~]# ksvalidator ks.cfg

7.4屹蚊、如果語法沒有問題就復(fù)制文件到www根目錄

[root@CentOS ~]# cp ks.cfg /var/www/html/

7.5泵肄、重啟一下httpd服務(wù)

[root@CentOS ~]# systemctl restart httpd.service

8、驗證自動化安裝

啟動之前準備的客戶端虛擬機查看是否可以正常顯示引導(dǎo)菜單淑翼,是否可以正常獲取initrd.img和vmlinuz內(nèi)核文件。

參考:https://www.cnblogs.com/ssooking/p/6501782.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末品追,一起剝皮案震驚了整個濱河市玄括,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肉瓦,老刑警劉巖遭京,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胃惜,死亡現(xiàn)場離奇詭異,居然都是意外死亡哪雕,警方通過查閱死者的電腦和手機船殉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斯嚎,“玉大人利虫,你說我怎么就攤上這事”てВ” “怎么了糠惫?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钉疫。 經(jīng)常有香客問我硼讽,道長,這世上最難降的妖魔是什么牲阁? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任固阁,我火速辦了婚禮,結(jié)果婚禮上城菊,老公的妹妹穿的比我還像新娘备燃。我一直安慰自己,他們只是感情好役电,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布赚爵。 她就那樣靜靜地躺著,像睡著了一般法瑟。 火紅的嫁衣襯著肌膚如雪冀膝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天霎挟,我揣著相機與錄音窝剖,去河邊找鬼。 笑死酥夭,一個胖子當著我的面吹牛赐纱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播熬北,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼疙描,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讶隐?” 一聲冷哼從身側(cè)響起起胰,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巫延,沒想到半個月后效五,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體地消,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年畏妖,在試婚紗的時候發(fā)現(xiàn)自己被綠了脉执。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡戒劫,死狀恐怖半夷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谱仪,我是刑警寧澤玻熙,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站疯攒,受9級特大地震影響嗦随,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜敬尺,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一枚尼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砂吞,春花似錦署恍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至概而,卻和暖如春呼巷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赎瑰。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工王悍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人餐曼。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓压储,卻偏偏與公主長得像,于是被迫代替她去往敵國和親源譬。 傳聞我的和親對象是個殘疾皇子集惋,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容