您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux如何配置批量裝機的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
項目名稱:機房PXE全自動批量裝配
任務目標:機房里有一批(200多臺)計算機,需要為其安裝CentOS 7.5操作系統,并且部署好Web服務 …… 。
完成時間:24小時內需要交付
應用場景:
1)XX學校機房
2)紅帽認證考試環境
3)企業集群節點部署
4)數據中心服務器批量配置
Shell腳本
項目需求:
為一批機器(比如裸機)快速安裝CentOS7操作系統
通過獨立網絡(不要有其他的DHCP服務器,必要時應關閉VMware的DHCP)來實現
自己整理一份Word版的實驗報告,以備不時之需
任務分析
任務一:準備一臺CentOS7服務器
任務二:提供DHCP服務
任務三:為客戶機提供軟件包資源(Web方式)
任務四:提供網絡啟動相關的文件(構建TFTP啟動服務器)
任務五:測試PXE網絡啟動及安裝
任務六:提供自動應答文件(回答安裝過程中的各種問題)
任務七:客戶機無人值守安裝測試
TFTP,簡單FTP協議(UDP 161)
FTP,TCP 21/20 。。。
相關知識:快速獲取XX命令或者配置文件的使用說明/手冊
man 命令名
或者
man 配置文件名
在英文環境下運行XX命令行
LANG= XX命令行
Shell腳本,長腳(自己跑)的包含了很多可執行命令行的文本文件
vim 腳本文件
。。。。。
chmod +x 腳本文件
相關知識:
PXE,預啟動環境(Pre-boot eXcute Environment)
—— 默認集成在網卡BOOTROM芯片內(pxeclient)
額外準備:PXE服務器(為客戶機裝系統、為客戶機提供系統)
如何提供一個PXE批量裝機的服務器端:
1)DHCP服務,提供IP地址、告知引導服務器在哪、告知獲取一個啟動文件
2)TFTP服務,提供啟動內核、啟動配置文件等等
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
!!!! 如果當前主機中沒有網絡連接,需要先添加連接,再配置地址
1)找到網卡設備的名字(比如ens33)
nmcli device status
.. ..
2)為網卡ens33添加連接(比如也叫ens33)
格式:nmcli con add con-name 連接名 ifname 網卡名 type ethernet
nmcli connection add con-name ens33 ifname ens33 type ethernet
Linux配置文件內,# 開始的部分表示注釋
任務二:提供DHCP服務
1)為客戶機分配IP地址相關參數
2)告訴客戶機下一步去找哪一臺服務器、去索取一個網卡啟動文件
!!!! Linux系統配置文件中的注釋標記 #
!!!! 停用工作網絡(比如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"; //告知需要下載的網卡啟動文件名
}
systemctl enable dhcpd --now //設置開機自啟,并立即啟動
其他配置參考:
#option routers 默認網關地址;
#option domain-name-servers DNS服務器1地址,DNS服務器2地址;
#default-lease-time 3600; //默認租約時間
#max-lease-time 7200; //最大租約時間
!!!! DHCP服務排錯 ——
1)檢查服務狀態
systemctl status dhcpd
狀態正常應該是 綠色的 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地址網段不符。
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請求不屬于任何已經定義的某一個虛擬主機,那么以第一個虛擬主機的網頁目錄做反饋
vim /etc/httpd/conf.d/vhosts.conf //在第1行插入以下內容
<VirtualHost *:80>
DocumentRoot /var/www/html
</VirtualHost>
systemctl enable httpd --now
任務四:提供網絡啟動相關的文件(構建TFTP啟動服務器)
1)網卡啟動文件 pxelinux.0
由軟件包 syslinux 提供(/usr/share/syslinux/pxelinux.0)
2)啟動菜單配置 pxelinux.cfg/default (配置模塊文件、背景圖片……)、加載CentOS7系統安裝程序(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 //創建配置目錄
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網絡啟動及安裝
1)新建一臺虛擬機(CentOS64位、內存>2G)
2)把虛擬機開機客戶機從網卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝Install CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 手動指定安裝來源 http://192.168.10.7/cos7dvd
---- 后續過程與光盤安裝類似,可以不用完成安裝,關閉虛擬機即可
!!!! 若客戶機的內存太小,開機PXE引導時容易出現內核崩潰現象
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
基本配置:語言、時區、管理密碼
安裝方法:全新安裝、HTTP安裝源的設置
安裝引導裝載程序:安裝新引導裝載程序
分區:三個單選都選第一項、添加 swap 2000M、/ 剩余所有空間
網絡配置:添加一個連接(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)把虛擬機開機客戶機從網卡啟動
---- DHCP自動獲取到地址
---- 連接TFTP服務器
---- 下載pxelinux.0啟動文件
---- 獲取菜單配置文件 pxelinux.cfg/default
3)看到安裝菜單 ==》選擇安裝CentOS7
---- 下載 vmlinuz、initrd.img
---- 運行內核文件、加載安裝程序、確保能看到圖形選語言界面、……
---- 自動完成安裝過程
感謝各位的閱讀!關于“Linux如何配置批量裝機”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。