您好,登錄后才能下訂單哦!
Linux系統下如何完成無人值守安裝服務,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
剛入職的運維新手經常會被要求去做一些安裝操作系統的工作,如果按照用鏡像光盤安裝操作系統,效率會相當低下。那么如何提升效率,搭建出一套可以批量安裝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 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.10.10;
range dynamic-bootp 192.168.10.100 192.168.10.200;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.10.10;
filename "pxelinux.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
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
第三步,配置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/{vmlinuz,initrd.img} .
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
首先需要把 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就該這么學》,希望本文對剛入職的運維人員有一定的幫助。
關于Linux系統下如何完成無人值守安裝服務問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。