Linux系統下手把手完成無人值守安裝服務

2021-09-10 21:16:36 字數 3391 閱讀 5357

剛入職的運維新手經常會被要求去做一些安裝作業系統的工作,如果按照用映象光碟安裝作業系統,效率會相當低下。那麼如何提公升效率,搭建出一套可以批量安裝linux

系統的無人值守的安裝系統?

pxe+tftp+ftp+dhcp+kickstart服務可以搭建出乙個無人值守安裝系統。這種無人值守安裝系統可以自動的為數十台伺服器安裝系統,將運維人員從重複性的工作中解救出來,大大提公升了系統安裝的效率。

如上圖所示,是無人值守安裝系統的工作流程。

pxe(preboot execute environment,預啟動執行環境)是由 intel 公司開發的技術,可以讓計算機通過網路來啟動作業系統(前提是計算機上安裝的網絡卡支援 pxe 技術),主要用於在無人值守安裝系統中引導客戶端主機安裝 linux 作業系統。kickstart 是一種無人值守的安裝方式,其工作原理是預先把原本需要運維人員手工填寫的引數儲存成乙個ks.cfg 檔案,當安裝過程中需要填寫引數時則自動匹配 kickstart 生成的檔案。所以只要kickstart 檔案包含了安裝過程中需要人工填寫的所有引數,那麼從理論上來講完全不需要運維人員的干預,就可以自動完成安裝工作。

當然需要使用 tftp 協議幫助客戶端獲取引導及驅動檔案。vsftpd 服務程式用於將完整的系統安裝映象通過網路傳輸給客戶端。當然,只要能將系統安裝映象成功傳輸給客戶端即可,因此也可以使用 httpd 來替代 vsftpd 服務程式。

首先,配置dhcp服務程式。dhcp 服務程式用於為客戶端主機分配可用的 ip 位址,而且這是伺服器與客戶端主機進行檔案傳輸的基礎,因此我們先行配置 dhcp 服務程式。

[root@linuxprobe linuxprobe]# yum install dhcp

[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf

allow booting;

allow bootp;

ddns-update-style interim;

ignore client-updates;

subnet 192.168.10.0 netmask 255.255.255.0

該操作的目的是為了允許bootp引導程式協議,旨在讓區域網內暫時沒有作業系統的主機也能獲取靜態 ip位址;在配置檔案的最下面載入了引導驅動檔案 pxelinux.0 ,其目的是讓客戶端主機獲取到 ip 位址後主動獲取引導驅動檔案,自行進入下一步的安裝過程。具體解釋見《linux就該這麼學》。

第二步,配置tftp服務程式。

vsftpd 是一款功能豐富的檔案傳輸服務程式,允許使用者以匿名開放模式、本地使用者模式、虛擬使用者模式來進行訪問認證。但是,當前的客戶端主機還沒有安裝作業系統,該如何進行登入認證呢?而 tftp 作為一種基於 udp 協議的簡單檔案傳輸協議,不需要進行使用者認證即可獲取到所需的檔案資源。因此接下來配置 tftp 服務程式,為客戶端主機提供引導及驅動檔案。當客戶端主機有了基本的驅動程式之後,再通過 vsftpd 服務程式將完整的光碟映象檔案傳輸過去。

[root@linuxprobe ~]# yum install tftp-server

[root@linuxprobe ~.d]# vim /etc/xinetd.d/tftp

service tftp

第三步,配置syslinux服務程式。syslinux 是乙個用於提供引導載入的服務程式。與其說 syslinux 是乙個服務程式,不如說更需要裡面的引導檔案,在安裝好 syslinux 服務程式軟體包後,/usr/share/syslinux 目錄中會出現很多引導檔案。

[root@linuxprobe ~]# yum install syslinux

[root@linuxprobe ~]# cd /var/lib/tftpboot

[root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux.0 .

[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/ .

[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/ .

首先需要把 syslinux 提供的引導檔案複製到 tftp 服務程式的預設目錄中,也就是前文提到的檔案 pxelinux.0,這樣客戶端主機就能夠順利地獲取到引導檔案了。另外在 rhel 7 系統光碟映象中也有一些我們需要調取的引導檔案。確認光碟映象已經被掛載到/media/cdrom 目錄後,使用複製命令將光碟映象中自帶的一些引導檔案也複製到 tftp 服務程式的預設目錄中。

[root@linuxprobe tftpboot]# mkdir pxelinux.cfg

[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

然後在 tftp 服務程式的目錄中新建 pxelinux.cfg 目錄,雖然該目錄的名字帶有字尾,但依然也是目錄,而非檔案!將系統光碟中的開機選項選單複製到該目錄中,並命名為 default。這個 default 檔案就是開機時的選項選單,如圖所示。

第四步,配置vdftpd服務程式。

[root@linuxprobe ~]# yum install vsftpd

在確認系統光碟映象已經正常掛載到/media/cdrom 目錄後,把目錄中的光碟映象檔案全部複製到 vsftpd 服務程式的工作目錄中。

[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

最後,建立kickstart應答檔案。

畢竟,我們使用 pxe + kickstart 部署的是一套「無人值守安裝系統服務」,而不是「無人值守傳輸系統光碟映象服務」,因此還需要讓客戶端主機能夠一邊獲取光碟映象,還能夠一邊自動幫我們填寫好安裝過程**現的選項。

在 root 管理員的家目錄中有乙個名為 anacondaks.cfg 的檔案,它就是應答檔案。下面將這個檔案複製到 vsftpd 服務程式的工作目錄中(在開機選項選單的配置檔案中已經定義了該檔案的獲取路徑,也就是 vsftpd 服務程式資料目錄中的 pub 子目錄中)。使用 chmod 命令設定該檔案的許可權,確保所有人都有可讀的許可權,以保證客戶端主機可以順利獲取到應答檔案及裡面的內容:

[root@linuxprobe ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg

[root@linuxprobe ~]# chmod +r /var/ftp/pub/ks.cfg

到目前為止,我們的服務基本部署完畢,集體詳細解釋過程參見《linux就該這麼學》

,希望本文對剛入職的運維人員有一定的幫助。

手把手教您完成Elasticsearch資料遷移

您可以通過logstash reindex和oss等多種方式在elasticsearch之間遷移資料。本文以阿里雲elasticsearch 簡稱es 為例,介紹阿里雲elasticsearch間資料遷移 自建es資料遷移至阿里雲es和第三方es遷移至阿里雲es的方案,幫助您根據業務選擇合適的場景進...

手把手教你選開源商城系統

大家找開源 系統可以從這幾點看看 一 功能豐富且適應商家需求的系統更好用 對於商家來說功能是使用 系統最重要的一部分,所以在選擇開源 系統時也要注意系統的功能是否豐富完善。商家先要明確自己對於系統功能方面的需求,尋找和自己功能需求相契合的系統會更加好用。同時要注意不僅僅要考慮到系統後台要有豐富的管理...

手把手教你Linux下安裝nginx

命令 tar zxvf nginx 1.16.1.tar.gz 跳轉到nginx原始碼目錄下,執行下面這條命令 命令 configure with http ssl module 如果此條命令報錯,則需要執行下面的命令 yum y install openssl openssl devel yum ...