2021-05-12 14:32:11
使用PXE安裝CentOS 7.2
1.環境
本文使用VMware 虛擬機器進行實驗。
點選VMware--編輯--虛擬網路編輯器,新建VMnet15,選擇僅主機模式,取消勾選DHCP服務(因為這裡使用自己的DHCP服務)。我這裡配好後是192.168.93.0/24網路。
-
一台PXE伺服器
CentOS 7.2系統
2張網絡卡,
網絡卡eno16777736 ,使用NAT模式(用於yum安裝軟體),DHCP獲取IP
網絡卡eno50332184 ,連線至VMnet15網路,設定靜態IP:192.168.93.10
-
一台PXE客戶機(待安裝系統)
2GB 記憶體(太小不行)
1張網絡卡,
網絡卡eno16777736 ,連線至VMnet15網路
2.需求
- SYSLINUX,提供pxelinux.0
- DHCP-SERVER,為客戶機提供IP
- TFTP-SERVER,為客戶機提供簡單檔案傳輸(如傳輸pxelinux.0等)
- VSFTP-SERVER或APACHE-SERVER,提供repo的系統檔案服務
- CentOS 7.2(或7.4都行)安裝光碟,如CentOS-7-x86_64-Everything-1511.iso
3.設定
在PXE伺服器上,
3.1預設定
臨時關閉防火牆
systemctl stop firewalld
臨時關閉SELinux
setenforce 0
安裝各個伺服器與依賴庫
yum -y install tftp-server vsftpd syslinux dhcp xinetd
掛載CentOS 7.2安裝光碟(需要先將光碟連線至PXE伺服器虛擬機器上)
mount -t iso9660 -o loop /dev/cdrom /mnt
3.2設定VSFTP
為了vsftp伺服器使用光碟,把/mnt再繫結到/var/ftp/centos(因為vsftp不允許軟連線目錄)
mkdir -p /var/ftp/centos
mount --bind /mnt/ /var/ftp/centos
3.3設定TFTP
3.3.1設定pxe啟動檔案
新建tftp啟動目錄
mkdir -p /tftpboot/pxelinux.cfg
把光碟中isolinux裡面的檔案都複製到tftp啟動目錄中
cd /mnt/isolinux cp -a * /tftpboot/
複製pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
將tftp啟動目錄中的isolinux.cfg(剛從光碟中複製過來的)改名default,並移動至pxelinux.cft目錄下
cd /tftpboot
mv isolinux.cfg pxelinux.cfg/default
編輯default檔案,增加我們設定的PXE啟動項
vi pxelinux.cfg/default
在一堆label 上面新增如下內容
label linux-nidey menu label ^Install CentOS 7 nidey kernel vmlinuz append initrd=initrd.img inst.repo=ftp://192.168.93.10/centos quiet
label另起一個名字,menu就是客戶機啟動時看到的安裝選項名
注意,如果不使用kickstart自動部署,則append後面第二個引數應該用inst.repo,而不是inst.stage2(這種情況客戶機啟動時會卡在獲取安裝源步驟)
URL使用前面設定的vsftp伺服器(也可以使用Apache-server的http服務,或者搭建nfs也行)
append引數使用inst.stage2則安裝時會卡在這裡
append引數使用inst.repo則安裝時正常獲取安裝源(圖是另截的,見諒...)
3.3.2設定tftp-server
tftp伺服器依附於xinetd服務下,
vim /etc/xinetd.d/tftp
server_args 設定我們剛才建立的tftp啟動目錄,並啟用tftp
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
3.4設定DHCP
vim /etc/dhcp/dhcpd.conf
設定允許引導啟動,
192.168.93.0子網,掩碼255.255.255.0,地址池192.168.93.240~192.168.93.250
引導啟動檔名為pxelinux.0(syslinux提供的,在/tftpboot目錄下)
next-server設定為PXE伺服器IP,也就是本機:192.168.93.10
因為這裡只在一個區域網下安裝系統,閘道器和DNS其實都不用設定。
ddns-update-style interim; ignore client-updates; allow booting; allow bootp; subnet 192.168.93.0 netmask 255.255.255.0 { # option routers 192.168.93.1; # option domain-name "s.un"; # option domain-name-servers 192.168.93.1; option subnet-mask 255.255.255.0; option time-offset -18000; default-lease-time 21600; max-lease-time 43200; range dynamic-bootp 192.168.93.240 192.168.93.250; filename "pxelinux.0"; next-server 192.168.93.10; }
3.5啟動服務
systemctl start xinetd
systemctl start dhcpd
systemctl start vsftpd
4.安裝
在PXE客戶機上,
進入BISO,設定網路啟動為第一項。
開機,DHCP獲取,IP,載入啟動,進入安裝介面,選擇安裝就好了。
】
CentOS7.2下PXE+kickstart自動化安裝系統 http://www.linuxidc.com/Linux/2017-11/148604.htm
自動化運維之-PXE實現系統批次自動安裝 http://www.linuxidc.com/Linux/2017-10/147379.htm
Ubuntu 16.04+Kickstart+PXE安裝系統 http://www.linuxidc.com/Linux/2017-09/146763.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2018-01/150563.htm
相關文章