溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

發(fā)布時間:2020-06-18 02:52:47 來源:網(wǎng)絡(luò) 閱讀:5892 作者:wx5d2c2d660c282 欄目:系統(tǒng)運維

前言:

相信很多人都有過裝系統(tǒng)的經(jīng)歷,以前是用光盤,現(xiàn)在基本都是用U盤來裝系統(tǒng)。我們只需要制作一個U盤驅(qū)動即可,安裝起來方便快捷。但如果是企業(yè)需要同時安裝大量的系統(tǒng)時,U盤很顯然不適合,它會耗費大量的時間。這時我們就可以用到PXE遠程安裝服務(wù)了,它可以提供大量的客戶機同時安裝系統(tǒng)。但是,同時安裝的客戶機數(shù)量是受到帶寬的限制的。而且在安裝系統(tǒng)時,還需要手動進行部分設(shè)置。這時我們就會用到Kickstart無人值守安裝。

簡介:

PXE:預(yù)啟動執(zhí)行環(huán)境(Preboot eXecution Environment,PXE)也被稱為預(yù)執(zhí)行環(huán)境,提供了一種使用網(wǎng)絡(luò)接口(Network Interface)啟動計算機的機制。這種機制讓計算機的啟動可以不依賴本地數(shù)據(jù)存儲設(shè)備(如硬盤)或本地已安裝的操作系統(tǒng)。 工作于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āng)計算機引導(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 上下載所需的文件了。


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的工作過程:

1. PXE Client 從自己的PXE網(wǎng)卡啟動,向本網(wǎng)絡(luò)中的DHCP服務(wù)器索取IP;

2. DHCP 服務(wù)器會分配給客戶機的IP,同時告知PXE文件的放置位置(該文件一般是放在一臺TFTP服務(wù)器上) ;

3. PXE Client 向本網(wǎng)絡(luò)中的TFTP服務(wù)器索取pxelinux.0 文件;

4. PXE Client 取得pxelinux.0 文件后之執(zhí)行該文件;

5. 根據(jù)pxelinux.0 的執(zhí)行結(jié)果,通過TFTP服務(wù)器加載內(nèi)核和文件系統(tǒng) ;

6. 進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝(我用的是FTP)。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

實驗環(huán)境:

用VMware14 虛擬機來進行本次實驗:

1.首先為了方便實驗,需要一臺CentOS7同時部署DHCP、TFTP、FTP服務(wù)來作為PXE服務(wù)端。服務(wù)端需要配置雙網(wǎng)卡,一塊為NAT模式,用來聯(lián)網(wǎng)安裝所需程序,一塊為僅主機模式,配置一個固定IP用來與局域網(wǎng)互通。
2.新建一臺虛擬機用來作為PXE客戶端,用來進行遠程安裝,安裝的系統(tǒng)也為CentOS7。

實驗操作:

1.給客戶端添加一塊網(wǎng)卡,并將網(wǎng)絡(luò)模式改為僅主機模式。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

2.進入“/network-scripts/”目錄下,復(fù)制一份“ifcfg-ens33”配置文件,命名為“ifcfg-ens36”?!?p”為保留原有權(quán)限。

輸入:cd /etc/sysconfig/network-scripts/
輸入:cp -p ifcfg-ens33 ifcfg-ens36

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

3.用vim編輯器對配置文件“ifcfg-ens36”進行編輯,將“dhcp”改為“static”,“ens33”改為“ens36”,刪除“UUID”,同時添加IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7bdb3fdc-0c3b-4a92-918d-3815b0816b02
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

4.重啟網(wǎng)絡(luò)服務(wù),再查看一下網(wǎng)絡(luò)配置。“ens36”網(wǎng)卡的固定IP已經(jīng)設(shè)置成功。

輸入:systemctl restart network
輸入:ifconfig

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

5.安裝DHCP服務(wù)所需軟件包。

輸入:yum install dhcp -y

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

6.復(fù)制一份DHCP主配置文件的模板,覆蓋DHCP的主配置文件。

輸入:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

7.用vim編輯器對DHCP服務(wù)主配置文件進行編輯,添加一個“192.168.100.0”網(wǎng)段的配置文件,地址池可根據(jù)具體情況自己決定,主要是下一個TFTP服務(wù)器的路徑和引導(dǎo)程序的位置。
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

添加:
subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.100.20 192.168.100.30;
        option routers 192.168.100.100;
        option domain-name-servers 114.114.114.114;
        next-server 192.168.100.100;
        filename "pxelinux.0";
}

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

8.安裝“syslinux”軟件包和“tftp-server”軟件包。

輸入:yum install syslinux -y
輸入:yum install tftp-server -y

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

9.查看一下“syslinux”和“tftp-server”軟件包的配置文件,我將重要的配置文件標了出來。

輸入:rpm -ql syslinux |grep pxelinux.0
輸入:rpm -ql tftp-server

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

10.復(fù)制一份“pxelinux.0”文件到“/var/lib/tftpboot/”目錄下,并查看是否復(fù)制成功。

輸入:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
輸入:ls /var/lib/tftpboot/

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

11.用vim編輯器對TFTP服務(wù)的配置文件進行編輯,將“disable”后的“yes”改為“no”,開啟TFTP服務(wù)。

輸入:vim /etc/xinetd.d/tftp

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

12.安裝FTP服務(wù)所需軟件包。

輸入:yum install vsftpd -y

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

13.進入到FTP服務(wù)的站點目錄下,新建一個centos7目錄。

輸入:cd /var/ftp/
輸入:mkdir centos7

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

14.將PXE客戶端所需要的光盤鏡像掛載到剛才創(chuàng)建的centos7目錄下,并查看掛載信息(你也可以直接復(fù)制過去)。

輸入:mount /dev/sr0 /var/ftp/centos7/
輸入:df -h

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

15.進入到“centos7/images/pxeboot/”目錄下(可以一步直接進入),將文件“initrd.img”和“vmlinuz”復(fù)制到“/var/lib/tftpboot/”目錄下。

輸入:cd centos7/images/pxeboot/
輸入:cp initrd.img vmlinuz /var/lib/tftpboot/

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

16.查看一下“ /var/lib/tftpboot/”目錄,已經(jīng)有了三個文件了,其中“pxelinux.0”是引導(dǎo)程序文件,“vmlinuz”是壓縮內(nèi)核文件,“initrd.img”是系統(tǒng)初始化文件。現(xiàn)在還差一個默認的啟動菜單文件,所以我們直接進入“/var/lib/tftpboot/”目錄,創(chuàng)建一個目錄“pxelinux.cfg”,然后在目錄“pxelinux.cfg”內(nèi)新建一個文件“default”。

輸入:ls /var/lib/tftpboot/
輸入:cd /var/lib/tftpboot/
輸入:mkdir pxelinux.cfg
輸入:cd pxelinux.cfg/
輸入:vim default

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

17.在“default”文件中,輸入以下內(nèi)容。

default auto                                                                                                                 //默認自動模式
prompt 1                                                                                                                      //等待時間1s

label auto                                                                                                                    //自動模式安裝
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.100/centos7

label linux text                                                                                                           //文本模式安裝
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.100.100/centos7

label linux rescue                                                                                                    //進入救援模式
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7

18.關(guān)閉防火墻和增強性安全功能,同時開啟DHCP、TFTP、FTP服務(wù)。

輸入:systemctl stop firewalld.service
輸入:setenforce 0
輸入:systemctl start dhcpd
輸入:systemctl start tftp
輸入:systemctl start vsftpd

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

19.咱們新建一個虛擬機,具體配置如下圖,注意網(wǎng)絡(luò)為僅主機模式。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

20.打開新建的虛擬機作為PXE客戶機,選擇網(wǎng)絡(luò)驅(qū)動。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

21.客戶機會獲取到DHCP服務(wù)分配的IP地址,然后啟動引導(dǎo)程序,加載默認的啟動菜單。此時需要回車才會繼續(xù)。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

22.在回車后,稍作等待就會進入系統(tǒng)安裝的設(shè)置界面。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

23.我們可以看到PXE遠程安裝服務(wù),在安裝過程中任需要人工進行設(shè)置,而我們需要的是無人值守安裝,那么我們可以配置“kickstart”程序。首先安裝一個“system-config-kickstart”軟件包。

輸入:yum install system-config-kickstart -y

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

24.我們進入圖形化界面(可以用“init 5”命令進入),進入Kickstart的配置面板。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

25.基本配置,設(shè)置好默認語言和時區(qū),同時設(shè)置root用戶密碼,勾選安裝后重啟。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

26.安裝方法,選擇FTP,同時輸入FTP服務(wù)器的路徑和存放鏡像文件的目錄。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

27.引導(dǎo)裝載程序選項,勾選安裝引導(dǎo)裝載程序即可。GRUB密碼也可以設(shè)置,這樣系統(tǒng)會更加安全。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

28.分區(qū)信息,點擊添加分別設(shè)置“/boot”、“/home”、“swap”、“/”等分區(qū)的大小。注意根分區(qū)“/”不用設(shè)置大小,直接勾選使用磁盤全部未使用空間即可。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

29.網(wǎng)絡(luò)配置,添加一塊ens33網(wǎng)卡,網(wǎng)絡(luò)類型默認的DHCP模式即可。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

30.防火墻配置,禁用SELinux。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

31.安裝后腳本,選擇使用解釋程序,輸入“/bin/bash”即可。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

32.保存配置好的文件,將文件“ks.cfg”保存到FTP服務(wù)的站點目錄”/var/ftp“下。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

33.我們先進入root的家目錄,用vim編輯器進入“anaconda-ks.cfg”文件,這是“ks.cfg”的模板文件,我們將其中的安裝包命令復(fù)制,粘貼到“ks.cfg”文件中去。

輸入:cd ~
輸入:vim anaconda-ks.cfg
輸入:cd /var/ftp/
輸入:vim ks.cfg

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝
CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

34.我們再進入“/var/lib/tftpboot/pxelinux.cfg/” 目錄,用vim編輯器對“default”文件進行編輯,在自動模式的文件后面添加一個kickstart配置文件的路徑。

default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg

label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.100.100/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

35.我們再新建一臺虛擬機,配置與之前的相同。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

36.啟動新建的虛擬機,操作與PXE遠程安裝一樣,不過這次不需要在手動設(shè)置了,系統(tǒng)會自動執(zhí)行我們在“ks.cfg”文件中配置的內(nèi)容。

CentOS 7系統(tǒng)部署PXE遠程安裝服務(wù)及Kickstart無人值守安裝

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI