您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Linux如何配置批量裝機的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
項目名稱:機房PXE全自動批量裝配
任務(wù)目標(biāo):機房里有一批(200多臺)計算機,需要為其安裝CentOS 7.5操作系統(tǒng),并且部署好Web服務(wù) …… 。
完成時間:24小時內(nèi)需要交付
應(yīng)用場景:
1)XX學(xué)校機房
2)紅帽認證考試環(huán)境
3)企業(yè)集群節(jié)點部署
4)數(shù)據(jù)中心服務(wù)器批量配置
Shell腳本
項目需求:
為一批機器(比如裸機)快速安裝CentOS7操作系統(tǒng)
通過獨立網(wǎng)絡(luò)(不要有其他的DHCP服務(wù)器,必要時應(yīng)關(guān)閉VMware的DHCP)來實現(xiàn)
自己整理一份Word版的實驗報告,以備不時之需
任務(wù)分析
任務(wù)一:準備一臺CentOS7服務(wù)器
任務(wù)二:提供DHCP服務(wù)
任務(wù)三:為客戶機提供軟件包資源(Web方式)
任務(wù)四:提供網(wǎng)絡(luò)啟動相關(guān)的文件(構(gòu)建TFTP啟動服務(wù)器)
任務(wù)五:測試PXE網(wǎng)絡(luò)啟動及安裝
任務(wù)六:提供自動應(yīng)答文件(回答安裝過程中的各種問題)
任務(wù)七:客戶機無人值守安裝測試
TFTP,簡單FTP協(xié)議(UDP 161)
FTP,TCP 21/20 。。。
相關(guān)知識:快速獲取XX命令或者配置文件的使用說明/手冊
man 命令名
或者
man 配置文件名
在英文環(huán)境下運行XX命令行
LANG= XX命令行
Shell腳本,長腳(自己跑)的包含了很多可執(zhí)行命令行的文本文件
vim 腳本文件
。。。。。
chmod +x 腳本文件
相關(guān)知識:
PXE,預(yù)啟動環(huán)境(Pre-boot eXcute Environment)
—— 默認集成在網(wǎng)卡BOOTROM芯片內(nèi)(pxeclient)
額外準備:PXE服務(wù)器(為客戶機裝系統(tǒng)、為客戶機提供系統(tǒng))
如何提供一個PXE批量裝機的服務(wù)器端:
1)DHCP服務(wù),提供IP地址、告知引導(dǎo)服務(wù)器在哪、告知獲取一個啟動文件
2)TFTP服務(wù),提供啟動內(nèi)核、啟動配置文件等等
3)HTTP或FTP服務(wù),提供CentOS7軟件包資源
4)配置自動安裝
任務(wù)一: 準備一臺CentOS7服務(wù)器
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)關(guān)閉防火墻、禁用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
!!!! 如果當(dāng)前主機中沒有網(wǎng)絡(luò)連接,需要先添加連接,再配置地址
1)找到網(wǎng)卡設(shè)備的名字(比如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配置文件內(nèi),# 開始的部分表示注釋
任務(wù)二:提供DHCP服務(wù)
1)為客戶機分配IP地址相關(guān)參數(shù)
2)告訴客戶機下一步去找哪一臺服務(wù)器、去索取一個網(wǎng)卡啟動文件
!!!! Linux系統(tǒng)配置文件中的注釋標(biāo)記 #
!!!! 停用工作網(wǎng)絡(luò)(比如NAT)中其他DHCP服務(wù)(比如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; //告知下一個服務(wù)器(TFTP)的地址
filename "pxelinux.0"; //告知需要下載的網(wǎng)卡啟動文件名
}
systemctl enable dhcpd --now //設(shè)置開機自啟,并立即啟動
其他配置參考:
#option routers 默認網(wǎng)關(guān)地址;
#option domain-name-servers DNS服務(wù)器1地址,DNS服務(wù)器2地址;
#default-lease-time 3600; //默認租約時間
#max-lease-time 7200; //最大租約時間
!!!! DHCP服務(wù)排錯 ——
1)檢查服務(wù)狀態(tài)
systemctl status dhcpd
狀態(tài)正常應(yīng)該是 綠色的 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服務(wù)器的日記
.. .. 從最后一行往前找
/etc/dhcp/dhcpd.conf line 10: 。。。。。 //第10行有XX錯誤
!!!! 本機測試以DHCP方式獲取地址:
dhclient -d ens33 //-d表示調(diào)試模式,不真正修改地址
.. ..
bound to 192.168.10.X
.. ..
按Ctrl + C 終止測試
任務(wù)三:為客戶機提供軟件包資源(Web方式)
1)裝httpd包
yum -y install httpd
2)部署軟件包資源
mkdir /var/www/html/cos7dvd
cp -r /mnt/dvd/* /var/www/html/cos7dvd
.. .. 請耐心等待,不要中斷
3)起httpd服務(wù)
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行插入以下內(nèi)容
<VirtualHost *:80>
DocumentRoot /var/www/html
</VirtualHost>
systemctl enable httpd --now
任務(wù)四:提供網(wǎng)絡(luò)啟動相關(guān)的文件(構(gòu)建TFTP啟動服務(wù)器)
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服務(wù)軟件
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服務(wù)端
測試TFTP資源是否可以下載:
cd /root
yum -y install tftp
tftp 192.168.10.7 -c get pxelinux.0
ls -lh pxelinux.0
任務(wù)五:測試PXE網(wǎng)絡(luò)啟動及安裝
1)新建一臺虛擬機(CentOS64位、內(nèi)存>2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務(wù)器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝Install CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內(nèi)核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 手動指定安裝來源 http://192.168.10.7/cos7dvd
---- 后續(xù)過程與光盤安裝類似,可以不用完成安裝,關(guān)閉虛擬機即可
!!!! 若客戶機的內(nèi)存太小,開機PXE引導(dǎo)時容易出現(xiàn)內(nèi)核崩潰現(xiàn)象
kernel panic 內(nèi)核崩潰(恐慌)
kickstart無人值守/自動應(yīng)答技術(shù)
kick,踢
start,開始
Shell腳本(自己會跑/運行的文本)
kickstart無人值守技術(shù)
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
任務(wù)六:提供自動應(yīng)答文件(回答安裝過程中的各種問題)
1)如何獲取應(yīng)答文件
vim /etc/yum.repos.d/.repo
[development] //源的ID要求 改成 development
yum -y install system-config-kickstart
system-config-kickstart
基本配置:語言、時區(qū)、管理密碼
安裝方法:全新安裝、HTTP安裝源的設(shè)置
安裝引導(dǎo)裝載程序:安裝新引導(dǎo)裝載程序
分區(qū):三個單選都選第一項、添加 swap 2000M、/ 剩余所有空間
網(wǎng)絡(luò)配置:添加一個連接(DHCP)
軟件包選擇:勾選“桌面”下除了KDE以外的所有軟件類
安裝后腳本,參考以下內(nèi)容:
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)如何讓客戶機用上這個應(yīng)答文件
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=應(yīng)答文件的下載地址
append initrd=initrd.img ks=http://192.168.10.7/ks-cos7.cfg
任務(wù)七:客戶機無人值守安裝測試
1)新建一臺虛擬機(CentOS64位、內(nèi)存>2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務(wù)器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內(nèi)核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 自動完成安裝過程
感謝各位的閱讀!關(guān)于“Linux如何配置批量裝機”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(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)容。