目錄
一、系統裝機的原理
1.1、系統裝機方式
1.2、系統安裝過程
?二、PXE批量網絡裝機
2.1、PXE實現原理
2.2、搭建PXE實際案例
2.2.1、安裝必要軟件
2.2.2、搭建DHCP服務器
2.2.3、搭建TFTP服務器
2.2.4、掛載鏡像并拷貝引導文件到tftp服務啟動引導文件夾下
2.2.5、編輯pxelinux.cfg配置文件
2.2.6、啟動服務
2.2.7、驗證PXE批量網絡裝機
三、kickstart自動化安裝操作系統工具
3.1、安裝kickstart
?3.2、基本配置
?3.3、安裝方法
3.4、引導裝載程序選擇
3.5、分區信息
3.6、防火墻配置
3.7、顯示配置
3.8、保存配置
3.9、編輯default配置文件
3.10、驗證
一、系統裝機的原理
1.1、系統裝機方式
- U盤裝機:U盤作為啟動介質,將操作系統鏡像寫入U盤,然后通過U盤啟動計算機進行系統安裝。
- 光盤裝機:將操作系統鏡像刻錄到光盤中,通過光驅啟動計算機進行裝機。
- 網卡裝機:從網絡中的服務器上加載操作系統鏡像來進行裝機。
1.2、系統安裝過程
- 加載bootloader:它位于硬盤的引導扇區(MBR、GPT)中,負責初始化硬件并加載操作系統內核。
- 加載啟動安裝菜單
- 加載內核與initrd系統
- 加載根系統
- 運行anaconda的安裝向導
?二、PXE批量網絡裝機
PXE 的全稱是 preboot execute environment它其實是Intel在很久以前提出來的一項用于通過網絡來引導系統的標準。允許客戶機通過網絡從遠程服務器上下載引導鏡像,并加載安裝文件或者整個操作系統。
PXE實現網卡引導啟動的條件:
- BIOS支持
- 網卡支持
- BIOS中開啟網絡裝機,默認關閉狀態。
- DHCP服務器用于分配IP地址并引導客戶端到TFTP服務器提供啟動程序和操作系統鏡像。
2.1、PXE實現原理
- ?客戶端啟動:客戶端開機后通過網卡發送DHCP請求。
- DHCP響應:DHCP服務器分配IP地址,并告知TFTP服務器器地址及引導文件路徑。
- 下載引導文件:客戶端從TFTP服務器獲取引導文件(pxelinux.0、grub)。
- 加載內核和鏡像:通過引導文件加載內核(vmlinuz)和初始化內存盤(initrd.img)。
- 自動化安裝:從文件服務器(HTTP、FTP、NFS)獲取操作系統鏡像和配置文件,完成網絡裝機。
2.2、搭建PXE實際案例
2.2.1、安裝必要軟件
為實現網絡遠程裝機,需要DHCP服務、syslinux引導加載程序(pxelinux.0)、TFTP服務與FTP服務,所以預先安裝這四個軟件。
[root@localhost ~]# systemctl stop firewalld.service //關閉防火墻
[root@localhost ~]# setenforce 0 //關閉selinux
[root@localhost ~]# yum install tftp-server vsftpd syslinux dhcp -y
已安裝:dhcp.x86_64 12:4.2.5-83.el7.centos.2 syslinux.x86_64 0:4.05-15.el7 tftp-server.x86_64 0:5.2-22.el7 vsftpd.x86_64 0:3.0.2-29.el7_9 作為依賴被升級:dhclient.x86_64 12:4.2.5-83.el7.centos.2 dhcp-common.x86_64 12:4.2.5-83.el7.centos.2 dhcp-libs.x86_64 12:4.2.5-83.el7.centos.2 完畢!
[root@localhost ~]#
2.2.2、搭建DHCP服務器
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf //查看模板配置文件路徑
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y //拷貝模板配置文件并覆蓋源文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
//拷貝子網配置,粘貼并進行修改27 subnet 192.168.153.0 netmask 255.255.255.0 { //改為DHCP服務器IP地址與子網掩碼28 range 192.168.153.20 192.168.153.100; //設置自動分配地址段范圍29 option routers 192.168.153.2; //網關30 next-server 192.168.153.223; //指向TFTP服務器的IP地址31 filename "pxelinux.0"; //引導程序文件的名稱32 }
2.2.3、搭建TFTP服務器
[root@localhost ~]# rpm -qc tftp-server //查看配置文件路徑
/etc/xinetd.d/tftp
[root@localhost ~]# vim /etc/xinetd.d/tftp //編輯配置文件14 disable = no //yes改為no,關閉禁用
2.2.4、掛載鏡像并拷貝引導文件到tftp服務啟動引導文件夾下
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
2.2.5、編輯pxelinux.cfg配置文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg
[root@localhost pxelinux.cfg]# vim default1 default linux2 timeout 6003 4 label linux5 kernel vmlinuz6 append initrd=initrd.img method=ftp://192.168.153.223/centos77 8 label linux text9 kernel vmlinuz10 append text initrd =initrd.img method=ftp://192.168.153.223/centos711 12 label linux rescue13 kernel vmlinuz14 append rescue initrd=initrd.img method=ftp://192.168.153.223/centos7
2.2.6、啟動服務
[root@localhost pxelinux.cfg]# systemctl start dhcpd vsftpd tftp
[root@localhost pxelinux.cfg]# systemctl status dhcpd vsftpd tftp
● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:05:33 CST; 31min agoDocs: man:dhcpd(8)man:dhcpd.conf(5)Main PID: 63999 (dhcpd)Status: "Dispatching packets..."Tasks: 1CGroup: /system.slice/dhcpd.service└─63999 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid2月 27 22:05:33 localhost.localdomain systemd[1]: Started DHCPv4 Server Daemon.● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s agoProcess: 64508 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)Main PID: 64512 (vsftpd)Tasks: 1CGroup: /system.slice/vsftpd.service└─64512 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf2月 27 22:37:11 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
2月 27 22:37:11 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.● tftp.service - Tftp ServerLoaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s agoDocs: man:in.tftpdMain PID: 64510 (in.tftpd)Tasks: 1CGroup: /system.slice/tftp.service└─64510 /usr/sbin/in.tftpd -s /var/lib/tftpboot2月 27 22:37:11 localhost.localdomain systemd[1]: Started Tftp Server.
2.2.7、驗證PXE批量網絡裝機
關閉虛擬機的DHCP服務,避免沖突。
新建虛擬機,建議內存分配2G以上,以免引導文件沒有足夠內存展開。
?啟動后,自動獲取IP地址,并加載引導程序,PXE批量網絡裝機完成。
三、kickstart自動化安裝操作系統工具
它通過一個配置文件(通常稱為ks.cfg)定義安裝過程中的所有選項,從而實現無人值守安裝。
避免安裝linux圖形界面后,仍需要人工完成系統引導。
3.1、安裝kickstart
[root@localhost ~]# yum install system-config-kickstart -y
?3.2、基本配置
?3.3、安裝方法
3.4、引導裝載程序選擇
3.5、分區信息
3.6、防火墻配置
3.7、顯示配置
3.8、保存配置
3.9、編輯default配置文件
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 4 label linux5 kernel vmlinuz6 append initrd=initrd.img method=ftp://192.168.153.223/centos7 ks=ftp://192.168.153.223/ks.fcg //指向ks.fcg文件,實現無人值守完成系統引導
3.10、驗證
開始自動進行系統引導操作,驗證完成