共計 5689 個字符,預計需要花費 15 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關 Linux 如何配置批量裝機的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
項目名稱:機房 PXE 全自動批量裝配
任務目標:機房里有一批(200 多臺)計算機,需要為其安裝 CentOS 7.5 操作系統(tǒng),并且部署好 Web 服務 ……。
完成時間:24 小時內需要交付
應用場景:
1)XX 學校機房
2)紅帽認證考試環(huán)境
3)企業(yè)集群節(jié)點部署
4)數(shù)據(jù)中心服務器批量配置
Shell 腳本
項目需求:
為一批機器(比如裸機)快速安裝 CentOS7 操作系統(tǒng)
通過獨立網(wǎng)絡(不要有其他的 DHCP 服務器,必要時應關閉 VMware 的 DHCP)來實現(xiàn)
自己整理一份 Word 版的實驗報告,以備不時之需
任務分析
任務一:準備一臺 CentOS7 服務器 任務二:提供 DHCP 服務
任務三:為客戶機提供軟件包資源(Web 方式)
任務四:提供網(wǎng)絡啟動相關的文件(構建 TFTP 啟動服務器)
任務五:測試 PXE 網(wǎng)絡啟動及安裝
任務六:提供自動應答文件(回答安裝過程中的各種問題)
任務七:客戶機無人值守安裝測試
TFTP,簡單 FTP 協(xié)議(UDP 161)
FTP,TCP 21/20。。。
相關知識:
快速獲取 XX 命令或者配置文件的使用說明 / 手冊
man 命令名
或者
man 配置文件名
在英文環(huán)境下運行 XX 命令行
LANG= XX 命令行
Shell 腳本,長腳(自己跑)的包含了很多可執(zhí)行命令行的文本文件
vim 腳本文件
。。。。。
chmod +x 腳本文件
相關知識:
PXE,預啟動環(huán)境(Pre-boot eXcute Environment)
—— 默認集成在網(wǎng)卡 BOOTROM 芯片內(pxeclient)
額外準備:PXE 服務器(為客戶機裝系統(tǒng)、為客戶機提供系統(tǒng))
如何提供一個 PXE 批量裝機的服務器端:
1)DHCP 服務,提供 IP 地址、告知引導服務器在哪、告知獲取一個啟動文件
2)TFTP 服務,提供啟動內核、啟動配置文件等等
3)HTTP 或 FTP 服務,提供 CentOS7 軟件包資源
4)配置自動安裝
實現(xiàn)過程
任務一: 準備一臺 CentOS7 服務器
1)配置好固定主機名 pxesvr、IP 地址 192.168.10.7/24
#hostnamectl set-hostname pxesvr
#nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.10.7/24 connection.autoconnect yes
#nmcli connection up ens33
2)關閉防火墻、禁用 SELinux 保護機制
#systemctl disable firewalld –now // 禁止開機自啟,并立即停止
vim /etc/selinux/config
SELINUX=disabled
setenforce 0
3)把 CentOS7 的光盤(如果是虛擬機,要連接好 ISO 文件)掛載到 /mnt/dvd
mkdir /mnt/dvd
#mount /dev/cdrom /mnt/dvd
4)使用 /mnt/dvd 目錄作為臨時的軟件源
rm -rf /etc/yum.repos.d/*.repo
yum-config-manager –add file:///mnt/dvd
vim /etc/yum.conf
gpgcheck=0
yum repolist
!!!! 如果當前主機中沒有網(wǎng)絡連接,需要先添加連接,再配置地址
1)找到網(wǎng)卡設備的名字(比如 ens33)
nmcli device status
.. ..
2)為網(wǎng)卡 ens33 添加連接(比如也叫 ens33)
格式:nmcli con add con-name 連接名 ifname 網(wǎng)卡名 type ethernet
nmcli connection add con-name ens33 ifname ens33 type ethernet
Linux 配置文件內,# 開始的部分表示注釋
任務二:提供 DHCP 服務
1)為客戶機分配 IP 地址相關參數(shù)
2)告訴客戶機下一步去找哪一臺服務器、去索取一個網(wǎng)卡啟動文件
!!!! Linux 系統(tǒng)配置文件中的注釋標記 #
!!!! 停用工作網(wǎng)絡(比如 NAT)中其他 DHCP 服務(比如 VMware 自帶),避免沖突
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
next-server 192.168.10.7; // 告知下一個服務器(TFTP)的地址
filename pxelinux.0 // 告知需要下載的網(wǎng)卡啟動文件名
}
systemctl enable dhcpd –now // 設置開機自啟,并立即啟動
其他配置參考:
#option routers 默認網(wǎng)關地址;
#option domain-name-servers DNS 服務器 1 地址,DNS 服務器 2 地址;
#default-lease-time 3600; // 默認租約時間
#max-lease-time 7200; // 最大租約時間
!!!! DHCP 服務排錯 ——
1)檢查服務狀態(tài)
systemctl status dhcpd
狀態(tài)正常應該是 綠色的 active (running)
systemctl restart dhcpd
Job for dhcpd.service failed because the control process exited with error code. See systemctl status dhcpd.service and journalctl -xe for details. ==》說明配置文件有錯誤,或者本機的 IP 地址網(wǎng)段不符。
2)獲知配置文件哪里有錯、有什么樣的錯誤
vim /var/log/messages //Linux 服務器的日記
.. .. 從最后一行往前找
/etc/dhcp/dhcpd.conf line 10:。。。。。// 第 10 行有 XX 錯誤
!!!! 本機測試以 DHCP 方式獲取地址:
dhclient -d ens33 //- d 表示調試模式,不真正修改地址
.. ..
bound to 192.168.10.X
.. ..
按 Ctrl + C 終止測試
任務三:為客戶機提供軟件包資源(Web 方式)
1)裝 httpd 包
yum -y install httpd
2)部署軟件包資源
mkdir /var/www/html/cos7dvd
cp -r /mnt/dvd/* /var/www/html/cos7dvd
.. .. 請耐心等待,不要中斷
3)起 httpd 服務
systemctl enable httpd –now
從本機瀏覽器訪問 http://192.168.10.7/cos7dvd,能看到軟件資源頁
!!!! Web 配置(如果原來配置過虛擬 Web 主機,需要注意)
1)一旦啟用虛擬主機以后,默認 ServerName、DocumentRoot 失效
2)如果瀏覽器提交過來的 HTTP 請求不屬于任何已經(jīng)定義的某一個虛擬主機,那么以第一個虛擬主機的網(wǎng)頁目錄做反饋
vim /etc/httpd/conf.d/vhosts.conf // 在第 1 行插入以下內容
VirtualHost *:80
DocumentRoot /var/www/html
/VirtualHost
systemctl enable httpd –now
任務四:提供網(wǎng)絡啟動相關的文件(構建 TFTP 啟動服務器)
1)網(wǎng)卡啟動文件 pxelinux.0
由軟件包 syslinux 提供(/usr/share/syslinux/pxelinux.0)
2)啟動菜單配置 pxelinux.cfg/default(配置模塊文件、背景圖片……)、加載 CentOS7 系統(tǒng)安裝程序(vmlinuz、initrd.img)
從 CentOS7 光盤目錄 isolinux/ 下獲得
yum -y install tftp-server // 安裝 TFTP 服務軟件
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ // 部署啟動文件
cp /mnt/dvd/isolinux/* /var/lib/tftpboot/ // 部署配套文件
cd /var/lib/tftpboot/
mkdir pxelinux.cfg // 創(chuàng)建配置目錄
cp isolinux.cfg pxelinux.cfg/default // 建立默認菜單配置
vim pxelinux.cfg/default
查找 label linux,修改下方的 append 行,inst.stage2= 后指定軟件包來源地址
append initrd=initrd.img inst.stage2=http://192.168.10.7/cos7dvd
systemctl enable tftp –now // 啟動 TFTP 服務端
測試 TFTP 資源是否可以下載:
cd /root
yum -y install tftp
tftp 192.168.10.7 -c get pxelinux.0
ls -lh pxelinux.0
任務五:測試 PXE 網(wǎng)絡啟動及安裝
1)新建一臺虛擬機(CentOS64 位、內存 2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
—- DHCP 自動獲取到地址
—- 連接 TFTP 服務器
—- 下載 pxelinux.0 啟動文件
—- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝 Install CentOS7
—- 下載 vmlinuz、initrd.img
—- 運行內核文件、加載安裝程序、確保能看到圖形選語言界面、……
—- 手動指定安裝來源 http://192.168.10.7/cos7dvd
—- 后續(xù)過程與光盤安裝類似,可以不用完成安裝,關閉虛擬機即可
!!!! 若客戶機的內存太小,開機 PXE 引導時容易出現(xiàn)內核崩潰現(xiàn)象
kernel panic 內核崩潰(恐慌)
kickstart 無人值守 / 自動應答技術
kick,踢
start,開始
Shell 腳本(自己會跑 / 運行的文本)
kickstart 無人值守技術
kick,start
Shell 腳本,長腳(+x)的文本
rm -rf /etc/yum.repos.d/*.repo
echo [development]
name=CentOS7
baseurl=http://192.168.10.7/cos7dvd/
enabled=1
gpgcheck=0 /etc/yum.repos.d/centos7.repo
任務六:提供自動應答文件(回答安裝過程中的各種問題)
1)如何獲取應答文件
vim /etc/yum.repos.d/.repo
[development] // 源的 ID 要求 改成 development
yum -y install system-config-kickstart
system-config-kickstart
基本配置:語言、時區(qū)、管理密碼
安裝方法:全新安裝、HTTP 安裝源的設置
安裝引導裝載程序:安裝新引導裝載程序
分區(qū):三個單選都選第一項、添加 swap 2000M、/ 剩余所有空間
網(wǎng)絡配置:添加一個連接(DHCP)
軟件包選擇:勾選“桌面”下除了 KDE 以外的所有軟件類
安裝后腳本,參考以下內容:
rm -rf /etc/yum.repos.d/.repo
echo [cos7dvd]
name=added from: file:///mnt/dvd
baseurl=http://192.168.10.7/cos7dvd
enabled=1
gpgcheck=0
/etc/yum.repos.d/cos7dvd.repo
yum -y install httpd
echo NTD1906 /var/www/html/index.html
wget http://192.168.10.7/Discuz_X3.4_SC_UTF8.zip
unzip Discuz_X3.4_SC_UTF8.zip
cp -rf upload/* /var/www/html/
systemctl enable httpd
.. ..
—— 保存到 /root/ks.cfg
2)如何讓客戶機用上這個應答文件
cp /root/ks.cfg /var/www/html/ks-cos7.cfg
瀏覽器訪問 http://192.168.10.7/ks-cos7.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
查找 linux,修改下方的 append 行,
刪除 inst.stage2= 部分,換成 ks= 應答文件的下載地址
append initrd=initrd.img ks=http://192.168.10.7/ks-cos7.cfg
任務七:客戶機無人值守安裝測試
1)新建一臺虛擬機(CentOS64 位、內存 2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
—- DHCP 自動獲取到地址
—- 連接 TFTP 服務器
—- 下載 pxelinux.0 啟動文件
—- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝 CentOS7
—- 下載 vmlinuz、initrd.img
—- 運行內核文件、加載安裝程序、確保能看到圖形選語言界面、……
—- 自動完成安裝過程
感謝各位的閱讀!關于“Linux 如何配置批量裝機”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質的資源集合!