1. 程式人生 > >批量裝機環境 、 配置PXE引導 、 kickstart自動應答

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

pxe


虛擬機A
1. 將防火墻狀態設置為trusted
2.SELinux當前修改為permissive
3.SELinux永久狀態修改為permissive
4.清空Yum緩存,檢查Yum是否可用

虛擬機B
1. 將防火墻狀態設置為trusted
2.SELinux當前修改為permissive
3.SELinux永久狀態修改為permissive
4.清空Yum緩存,檢查Yum是否可用

/etc/selinux/config (永久狀態配置文件)

########################################################

完成虛擬機訪問外網

1.在真機實現,橋設備的創建(br0)
[root@room9pc14 /]# systemctl status NetworkManager(圖形的)
[root@room9pc14 /]# systemctl status network (命令行)
[root@room9pc14 /]# systemctl stop NetworkManager(圖形的)
[root@room9pc14 /]# systemctl status network (命令行)

vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0 #設備名
TYPE=Bridge #設備類型
BOOTPROTO=none #手工配置IP地址
ONBOOT=yes #開機自起動
IPADDR=172.40.50.114
NETMASK=255.255.255.0
GATEWAY=172.40.50.1

2.讓真機的enp2s0真實網卡,連接br0,追加寫入
vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
BRIDGE=br0


3.重起network

4.虛擬機有一張網卡,選擇br0橋設備

######################################################

部署DHCP服務器

? Dynamic Host Configuration Protocol
– 動態主機配置協議,由 IETF(Internet 網絡工程師任
務小組)組織制定,用來簡化主機地址分配管理

? 主要分配以下入網參數
–IP地址/子網掩碼/廣播地址
– 默認網關地址、DNS服務器地址

? DHCP地址分配的四次會話
– DISCOVERY --> OFFER --> REQUEST -->ACK


前提,虛擬機不要橋接真實網絡

虛擬機A:
1.裝軟件包 dhcp
2.配置文件 /etc/dhcp/dhcpd.conf
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.example #讀入其他文件

subnet 192.168.4.0 netmask 255.255.255.0 { #分配的網段
range 192.168.4.100 192.168.4.200; #分配的IP地址範圍
option domain-name-servers 8.8.8.8; #分配DNS
option routers 192.168.4.254; #分配網關
default-lease-time 600; #IP地址默認租用時間
max-lease-time 7200; #IP地址租用最大時間
}

3.起服務 dhcpd
[root@svr7 /]# systemctl restart dhcpd
[root@svr7 /]# systemctl enable dhcpd


#####################################################
虛擬機A上:

殺死KVM虛擬化中的dnsmasq,dnsmasq會提供DHCP服務,會有沖突

[root@svr7 /]# netstat -anptu | grep :67
udp 0 0 0.0.0.0:67 0.0.0.0:* 8051/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2392/dnsmasq

[root@svr7 /]# killall dnsmasq
[root@svr7 /]# netstat -anptu | grep :67

########################################################
? PXE,Pre-boot eXecution Environment
– 預啟動執行環境,在操作系統之前運行
– 可用於遠程安裝
? 工作模式
– PXE client 集成在網卡的啟動芯片中
– 當計算機引導時,從網卡芯片中把PXE client調入內存
執行,獲取PXE server配置、顯示菜單,根據用戶選
擇將遠程引導程序下載到本機運行

#######################################################

PXE網絡裝機服務器

一、構建DHCP服務

1.指定下一個服務器IP的地址

[root@svr7 /]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 8.8.8.8;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一個服務器IP地址
filename "pxelinux.0"; #指定網卡引導文件,文件名稱
}

2.重起dhcpd服務


pxelinux.0(網卡引導文件):安裝說明書,二進制文件

安裝一個軟件,就可以生成pxelinux.0
#####################################################
二、搭建TFTP服務

TFTP:簡單的文件傳輸協議 端口:69

服務端程序:tftp-server

服務名:tftp
默認共享路徑: /var/lib/tftpboot

1.安裝tftp-server
2.啟動tftp服務,並設置為開機自起

3.部署pxelinux.0文件
# yum provides */pxelinux.0 #查詢倉庫中哪一個包產生該文件
# yum -y install syslinux

# rpm -ql syslinux #查詢軟件包,安裝清單

# rpm -ql syslinux | grep pxelinux.0

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

# ls /var/lib/tftpboot/
########################################################
pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default

4.部署default默認的菜單文件
# mkdir /var/lib/tftpboot/pxelinux.cfg

# mount /dev/cdrom /mnt/

# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

# ls -l /var/lib/tftpboot/pxelinux.cfg/default

# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

# ls -l /var/lib/tftpboot/pxelinux.cfg/default

5.部署 圖形的模塊 vesamenu.c32
# ls /mnt/isolinux/

# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/

# ls /var/lib/tftpboot/

6.修改菜單文件/var/lib/tftpboot/pxelinux.cfg/default

# vim /var/lib/tftpboot/pxelinux.cfg/default
......
11 menu title NSD1709 PXE Server !
......
61 label linux
62 menu label Install RHEL7
63 kernel vmlinuz
64 append initrd=initrd.img

7.部署啟動內核與驅動程序
#cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/

# ls /var/lib/tftpboot/

initrd.img pxelinux.cfg vmlinuz
pxelinux.0 vesamenu.c32

########################################################
pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default
default------》vesamenu.c32-----》vmlinuz、initrd.img
########################################################

三、FTP服務,傳輸RPM包

1.搭建vsftpd服務,共享光盤所有內容
2.安裝vsftpd軟件
3.設置vsftpd服務啟動,設置為開機自起動
4.共享光盤所有內容
[root@svr7 /]# mkdir /var/ftp/rhel7
[root@svr7 /]# mount /dev/cdrom /var/ftp/rhel7

[root@svr7 /]# ls /var/ftp/rhel7

[root@svr7 /]# firefox ftp://192.168.4.7/rhel7

##################################################
四、無人值守安裝,生成應答文件

1.圖形生成應答文件程序:system-config-kickstart

2.運行圖形程序:system-config-kickstart

讀取本地Yum倉庫信息,要求Yum倉庫客戶端配置文件,倉庫標識為

[development]


3.運行圖形程序:system-config-kickstart

[root@svr7 /]# ls /root/ks.cfg
[root@svr7 /]# vim /root/ks.cfg

4.搭建vsftpd服務,共享應答文件

[root@svr7 /]# cp /root/ks.cfg /var/ftp/
[root@svr7 /]# ls /var/ftp/

####################################################
五、通過菜單指定ks.cfg應答文件

[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default

61 label linux
62 menu label Install RHEL7
63 kernel vmlinuz
64 append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg


#######################################################
總結:
DHCP------>IP地址、next-server、filename
tftp------>pxelinux.0、default
default---->vesamenu.c32、vmlinuz、initrd.img、ks.cfg
ks.cfg----> url="ftp://192.168.4.7/rhel7"

########################################################



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