批量裝機環境 配置PXE引導 kickstart自動應答

回顧 ——
DNS智能解析(Split View)
1)主配置文件 /etc/named.conf
view "類別1" {
match-clients { 第一類客戶機地址; .. .. ; };
zone "XX區域名" {
type master;
file "/var/named/地址庫文件1"
};
};
view "類別2" {
match-clients { 第二類客戶機地址; .. .. ; };
zone "XX區域名" {
type master;
file "/var/named/地址庫文件2"
};
};
view "默認類別" {
match-clients { any; };
zone "XX區域名" {
type master;
file "/var/named/地址庫文件n"
};
};
2)地址庫文件

vim /var/named/地址庫文件1

.. ..
www A IP地址1

vim /var/named/地址庫文件2

.. ..
www A IP地址2

vim /var/named/地址庫文件n

.. ..
www A 默認IP地址

測試向指定的DNS服務器查詢XX域名的IP地址:

host XX域名 DNS服務器

或者

nslookup XX域名 DNS服務器

常用的公共DNS:
202.106.0.20
114.114.114.114
8.8.8.8 (谷歌)
9.9.9.9 (IBM)
1.1.1.1 (國外X公司)

!!! DNS配置常見問題
1)拼寫錯誤(多使用檢查工具)
2)有衝突的服務(pkill -9 dnsmasq)
3)地址庫文件的權限(如果是cp模板文件,別忘了 -p 選項)

RAID磁盤陣列 (多塊磁盤 --》一塊磁盤)——
RAID0,條帶模式,提高速度
RAID1,鏡像模式,提高可靠性
RAID10,條帶+鏡像模式,提高速度和可靠性
RAID5,均衡模式,提高速度/可靠性(性價比更好),使用1塊容錯盤
RAID6,優化版的RAID5,使用2塊容錯盤

進程管理 ——
通過查看進程來了解系統的運行狀態:
pstree -ap 或 pstree PID 【進程樹】
ps aux 或 ps -elf 【用戶、%CPU、%MEM等】
top -d 秒數 【系統負載、資源佔用排名】
pgrep -l 關鍵詞
pgrep -U 用戶名

控制進程:
cmd &
Ctrl z 暫停當前進程並放入後臺
jobs -l 列出當前用戶當前命令行環境的後臺任務
Ctrl c 終止當前進程
kill -9 PID...
killall -9 進程名...
killall -9 -u 用戶名
pkill -9 關鍵詞
pkill -9 -U 用戶名
xkill

man 命令名 ==》 查看命令用法手冊頁

man kilall

man 配置文件名 ==》 查看配置文件的手冊頁

man named.conf

今日目標 ——
通過網絡爲一批客戶機自動裝系統
1)準備裝機環境
2)配置PXE裝機服務器
3)實現自動應答/無人值守

準備裝機環境 ——
在真機上提供軟件安裝源 http://192.168.4.254/rh7dvd
1)啓用httpd服務

systemctl restart httpd

2)掛載RHEL7的ISO文件到 /var/www/html/rh7dvd

mkdir -p /var/www/html/rh7dvd

vim /etc/fstab

ISO文件的絕對路徑 /var/www/html/rh7dvd iso9660 defaults 0 0

mount /var/www/html/rh7dvd

ls /var/www/html/rh7dvd/ //確認目錄下有資源

3)檢查,確認軟件源可訪問
瀏覽器訪問 http://192.168.4.254/rh7dvd,可看到軟件目錄資源

常見問題:執行mount -a 掛載不成功
原因:同一個鏡像掛載到多個位置,如果其中一個位置已經掛載,那麼在執行mount -a時不再掛載新的位置
解決辦法:
重起,
或者 mount 掛載點
或者 卸載這個設備的所有掛載點,再重新mount -a

DHCP服務器,爲客戶機動態提供IP地址相關參數

一臺計算機如何從DHCP服務器獲取IP地址
1)客戶機 請求,DHCP DISCOVERY
2)服務器 提供,DHCP OFFER
3)客戶機 選擇,DHCP REQUEST
4)服務器 確認,DHCP ACK

快速搭建DHCP服務器(svr7) ——
1)裝包 dhcp

yum -y install dhcp

2)配置

vim /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.10 192.168.4.200;
next-server 192.168.4.7; //PXE裝機服務器地址
filename "pxelinux.0"; //啓動文件
}
3)起服務 dhcpd

systemctl restart dhcpd

4)確認監聽狀態

netstat -anptu | grep :67

5)在客戶機pc207上測試

dhclient -d eth0

選項含義:
-a,所有連接
-n,以數字方式顯示地址和端口
-p,列出對應的進程和PID
-t,列出TCP類型的連接
-u,列出UDP類型的連接

DHCP服務監聽端口:UDP 67

BOOTROM 啓動芯片

PXE 應用:
方式1:遠程裝操作系統
方式2:遠程運行操作系統(無盤工作站)

實現PXE網絡裝機 ——
基本條件:

  1. DHCP地址分配服務
  2. yum 軟件源
    PXE引導配置:
    1. 啓用TFTP引導服務,提供用來啓動客戶機的文件資料
      1)裝包、起服務

      yum -y install tftp-server

      systemctl restart tftp

      2)提供網卡啓動文件 pxelinux.0

      yum -y install syslinux

      cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux.0

—— 建議在客戶機pc207先測試,確保可以下載

yum -y install tftp

!!! 測試方法:tftp 服務器地址 -c get 文件名

tftp 192.168.4.7 -c get pxelinux.0

ls -lh pxelinux.0 //確認下載結果

3)提供用來安裝XX系統的內核文件(及運行內核所需的初始化文件)

訪問 http://192.168.4.254/isolinux/

找到 vmlinuz、initrd.img 文件的下載地址,複製使用

mkdir /var/lib/tftpboot/rhel7

cd /var/lib/tftpboot/rhel7

wget http://vmlinuz文件的下載地址

wget http://initrd.img文件的下載地址

ls /var/lib/tftpboot/rhel7/ //確認部署結果

initrd.img vmlinuz

4)提供pxelinux.0啓動程序的配置文件(用來顯示啓動菜單)

訪問 http://192.168.4.254/isolinux/

找到 isolinux.cfg 文件的下載地址,複製使用

mkdir /var/lib/tftpboot/pxelinux.cfg/

cd /var/lib/tftpboot/pxelinux.cfg/

wget http://isolinux.cfg文件的下載地址 -O default

cd /var/lib/tftpboot/

wget http://vesamenu.c32圖形模塊支持文件的下載地址

wget http://splash.png背景圖片文件的下載地址

ls /var/lib/tftpboot/ //確認部署結果

isolinux.cfg rhel7 vesamenu.c32
pxelinux.0 splash.png

ls pxelinux.cfg/ //確認菜單配置文件

default

!!!! TFTP服務的默認資源目錄
/var/lib/tftpboot/

!!!! 查找哪一個軟件包能夠提供 XXXX 文件

yum provides "*/XXXX"

4. 提供裝機菜單

vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamecu.cfg //菜單顯示由vesa...負責
timeout 600 //倒計時等待時間(1/10秒)
label linux
menu label ^Install Red Hat Enterprise Linux 7.2
kernel rhel7/vmlinuz 【第63行】
append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd 【第64行】

練習:新建一臺虛擬機,測試PXE網絡裝機的效果
1)虛擬機定製:從網絡安裝、內存2G、硬盤20G、網絡private1
2)啓動後能成功看到選擇菜單
3)選擇第一項後,成功加載圖形安裝程序
4)手動指定分區方式、軟件倉庫(http://192.168.4.)

客戶機的引導過程:
一臺需要裝RHEL7系統的客戶機(裸機)
==》電源 ==》主板開機BIOS自檢 ==》優先從網絡啓動
==》網卡芯片裏的PXE Client程序
==》獲取IP地址、按照DHCP指示去找TFTP服務器
==》向TFTP服務器索取 pxelinux.0 並下載
==》在內存中運行 pxelinux.0
==》從TFTP資源目錄 pxelinux.cfg/default 下載到菜單配置
==》按照default文件配置顯示一個選擇界面
==》如果客戶機的用戶選擇“Install Red Hat Enterprise Linux 7.2”,那麼
==》找TFTP服務器的 rhel7/ 目錄下載內核、初始化文件
==》在內存中運行vmlinuz內核文件,由內核獲取系統控制權限
==》根據配置的inst.stage2參數指定的位置去獲取安裝程序
==》在客戶機運行安裝程序
==》由安裝程序主導XX系統安裝過程

kernel panic,內核 恐慌

常見錯誤:
1)配置文件 default 錯寫爲 deafult
2)inst.stage2指定的軟件源位置寫錯 http://.../rhdvd
3)DHCP服務配置中
subnet 192.168.4.0 netmask 254.254.254.0
4)tftp服務沒開啓
5)……

NIC,Network Interface Card,網卡

實現自動應答的關鍵配置:
1)需要一份提前準備好的應答文件,客戶機必須能夠下載
確認訪問地址:http://192.168.4.254/ks-rhel7.cfg
2)修改 default 菜單配置使用這份應答文件

vim /var/lib/tftpboot/pxelinux.cfg/default

label linux
.. ..
kernel rhel7/vmlinuz
append initrd=rhel7/initrd.img ks=http://1 92.168.4.254/ks-rhel7.cfg

全自動裸機裝配(裝系統、配置系統)

安裝後腳本 —— 使PXE客戶機在完成系統安裝之後自動執行XX操作
比如:自動配置好yum源

rm -rf /etc/yum.repos.d/*.repo

!!!!

echo 'yum源配置文件內容' > /etc/yum.repos.d/rhel7dvd

echo '[rhel7]

name=Red Hat Enterprise Linux 7.2
baseurl=http://192.168.4.254/rh7dvd
gpgcheck=0' > /etc/yum.repos.d/rhel7.repo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章