1、系統安裝鏡像為 :CentOS-7-x86_64-DVD-2003.iso
2、VMware® Workstation 15 Pro 15.5.1 build-15018445
1、PXE主機:192.168.1.20 掩碼255.255.255.02
2、HTTP目錄:/var/www/html/
3、TFTP目錄:/var/www/html/root/
4、PXE配置文件目錄:/var/www/html/root/pxelinux.cfg/
5、安裝包目錄:/var/www/html/root/centos7/
1、安裝作業系統鏡像使用CentOS-7-x86_64-DVD-2003.iso,安裝方法(略)
安裝使用最小安裝方式安裝,後期使用軟體全部使用YUM方式安裝。
2、配置地址
192.168.1.20 掩碼255.255.255.0
3、Yum配置:
[root@wasupxe ~]# more /etc/yum.repos.d/a.repo
==================================================
[base]
name=Base
baseurl=file:///mnt/cdrom/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
1、關閉防火牆
systemctl status firewalld.service #顯示服務的狀態
systemctl stop firewalld.service #停止防火牆
systemctl enable firewalld.service #在開機時啟用服務
systemctl disable firewalld.service #在開機時禁用服務
2、關閉selinux
臨時關閉selinux
setenforce 0,即可臨時關閉服務
永久關閉selinux
vi /etc/sysconfig/selinux
SELINUX=enforcing 改為 SELINUX=disabled
PXE服務端需要部署的組件:
DHCP服務:分配IP位址,定位引導程序
DNS(可選):為客戶機分配主機名
TFTP服務:提供引導程序下載
HTTP服務(或ftp/nfs):提供yum安裝源
服務端組件目錄
HTTP目錄:/var/www/html/
TFTP目錄:/var/www/html/root/
PXE配置文件目錄:/var/www/html/root/pxelinux.cfg/
安裝包目錄:/var/www/html/root/centos7/
服務端配置文件
HTTP配置文件:/etc/dhcp/dhcpd.conf
TFTP配置文件:/etc/xinetd.d/tftp
PXE配置文件:/var/www/html/root/pxelinux.cfg/default
Ks自動應答文件:/var/www/html/kickstarts/centos7.cfg
目的:為PXE系統分配IP位址;提供PXE文件的放置位置。
[root@wasupxe yum.repos.d]# yum install dhcp
在系統此位置有個示例文件,可在此基礎上修改:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
[root@wasupxe yum.repos.d]# vi /etc/dhcp/dhcpd.conf
#配置文件內容
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.220;
option domain-name-servers 192.168.1.20;
option domain-name "internal.example.org";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
filename "pxelinux.0";
next-server 192.168.1.20;
}
systemctl enable dhcpd
systemctl start dhcpd 開始
systemctl restart dhcpd 重啟
查看dhcp狀態,看udp的67埠有沒有起來。
[root@wasupxe ~]# ss -anptu |grep dhcp
在系統中查看地址分配情況
[root@wasupxe ~]# cat /var/lib/dhcpd/dhcpd.leases
用於安裝作業系統時,提供ISO鏡像數據。
[root@wasupxe ~]# yum -y install httpd
[root@wasupxe ~]# vi /etc/httpd/conf/httpd.conf
#配置文件內容
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin yjing@wasu.com
ServerName 127.0.0.0:80
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog "logs/error_log"
LogLevel warn
AddDefaultCharset UTF-8
EnableSendfile on
IncludeOptional conf.d/*.conf
ServerTokens Prod
KeepAlive ON
#完成編輯,啟動http服務
systemctl enable httpd
systemctl reload httpd
systemctl restart httpd
#測試一下 http://192.168.1.20看你寫的主頁能不能正常顯示
#測試一下 http://192.168.1.20/root 能不能顯示root目錄下的文件
用於提供引導程序下載
[root@wasupxe ~]# yum -y install xinetd tftp-server
[root@wasupxe ~]# mkdir /var/www/html/root
創建TFTP根目錄
vi /etc/xinetd.d/tftp
#TFTP 配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/www/html/root -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
systemctl enable xinetd
systemctl stop xinetd
systemctl start xinetd
[root@wasupxe ~]# tftp 192.168.88.101
tftp> get pxelinux.0
tftp> quit
安裝syslinux是為了提供PXE系統引導啟動所需要的文件
安裝方法:
[root@wasupxe ~]# yum install syslinux
從syslinux複製引導文件到TFTP根目錄:
[root@wasupxe~]# cp /usr/share/syslinux/{chain.c32,mboot.c32} /var/www/html/root /
[root@wasupxe~]# cp /usr/share/syslinux/pxelinux.0 /var/www/html/root /
[root@wasupxe~]# cp /usr/share/syslinux/memdisk /var/www/html/root /
[root@wasupxe~]# cp /usr/share/syslinux/menu.c32 /var/www/html/root /
從安裝文件中複製引導文件
[root@wasupxe ~]# cp /mnt/cdrom/isolinux/vmlinuz /var/www/html/root /
[root@wasupxe ~]# cp /mnt/cdrom/isolinux/initrd.img /var/www/html/root /
把ISO文件mount到/mnt/cdrom,然後把所有文件複製到tftpboot根目錄下
[root@wasupxe ~]# mount -o loop / CentOS-7-x86_64-DVD-2003.iso /mnt/cdrom
創建鏡像文件目錄:
[root@wasupxe ~]# mkdir /var/www/html/root/centos7
複製鏡像文件到鏡像目錄:
[root@wasupxe ~]# cp -R /mnt/cdrom /* /var/www/html/root/centos7
1. PXE配置文件
創建PXE配置文件目錄
[root@wasupxe ~]# mkdir /var/www/html/root/pxelinux.cfg
編輯PXE配置文件
[root@wasupxe ~]# vi /var/www/html/root/pxelinux.cfg/default
2. 啟動信息文件
[root@wasupxe root]# vi /var/www/html/root/boot.msg
3. 自動應答文件
[root@wasupxe ~]# vi /var/www/html/kickstarts/centos7.cfg
如何在虛擬機上做PXE自動安裝實驗。
1、配置虛擬網絡
修改VMware® Workstation的網卡參數,我們使用NAT方式組網,配置VMNET8的參數,如圖:
客戶機和PXE主機網絡參數配置如圖: