這篇文章給大家分享的是有關Linux如何配置批量裝機的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司專注于北關企業(yè)網(wǎng)站建設,響應式網(wǎng)站建設,商城網(wǎng)站定制開發(fā)。北關網(wǎng)站建設公司,為北關等地區(qū)提供建站服務。全流程定制開發(fā),專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務項目名稱:機房PXE全自動批量裝配
任務目標:機房里有一批(200多臺)計算機,需要為其安裝CentOS 7.5操作系統(tǒng),并且部署好Web服務 …… 。
完成時間:24小時內(nèi)需要交付
應用場景:
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)絡啟動相關的文件(構(gòu)建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芯片內(nèi)(pxeclient)
額外準備:PXE服務器(為客戶機裝系統(tǒng)、為客戶機提供系統(tǒng))
如何提供一個PXE批量裝機的服務器端:
1)DHCP服務,提供IP地址、告知引導服務器在哪、告知獲取一個啟動文件
2)TFTP服務,提供啟動內(nèi)核、啟動配置文件等等
3)HTTP或FTP服務,提供CentOS7軟件包資源
4)配置自動安裝
任務一: 準備一臺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配置文件內(nèi),# 開始的部分表示注釋
任務二:提供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表示調(diào)試模式,不真正修改地址
.. ..
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行插入以下內(nèi)容
DocumentRoot /var/www/html
systemctl enable httpd --now
任務四:提供網(wǎng)絡啟動相關的文件(構(gòu)建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位、內(nèi)存>2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝Install CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內(nèi)核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 手動指定安裝來源 http://192.168.10.7/cos7dvd
---- 后續(xù)過程與光盤安裝類似,可以不用完成安裝,關閉虛擬機即可
!!!! 若客戶機的內(nèi)存太小,開機PXE引導時容易出現(xiàn)內(nèi)核崩潰現(xiàn)象
kernel panic 內(nèi)核崩潰(恐慌)
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以外的所有軟件類
安裝后腳本,參考以下內(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)如何讓客戶機用上這個應答文件
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位、內(nèi)存>2G)
2)把虛擬機開機客戶機從網(wǎng)卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內(nèi)核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 自動完成安裝過程
感謝各位的閱讀!關于“Linux如何配置批量裝機”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。