要求環境:
測試環境:
1、PXE服務器:CentOS7 、vmware 的虛擬機
2、(僅主機模式) 192.168.220.168 內網。在部署環境前,先改成橋接模式。能上網。環境搭建成功後再改成主機模式。
3、執行批量安裝的機器最低配置:磁盤>=20G ,內存必須2G ;要求全部設置成僅主機模式。
4、要安裝的包: DHCP tftp http syslinux(提供引導文件)
1、關閉所有防火牆。
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
如在生產環境,建議安裝iptables,並設置規則。放行UDP 67 68 69 tcp/80 22端口。
2、 安裝所需軟件包
# yum install dhcp tftp tftp-server syslinux httpd -y
3、掛載光盤製作安裝源
# mkdir -pv /var/www/html/centos7/x86_64
# mount /dev/cdrom /mnt/
# mount --bind /mnt /var/www/html/centos7/x86_64 #綁定掛載到http默認目錄下
4、配置kickstart 的 ks.cfg 文件
#mkdir /var/www/html/ks
#cd !$
#vi ks.cfg
內容如下:
#version=DEVEL
#System authorization information
auth --enableshadow --passalgo=sha512
#Use CDROM installation media
#cdrom
#Install OS instead of upgrade
install
#Use network installation
url --url=http://192.168.220.168/centos7/x86_64
#Use graphical install
graphical
#Run the Setup Agent on first boot
firstboot --enable
#ignoredisk --only-use=sda
#Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
#System language
lang zh_CN.UTF-8
#Network information
network --bootproto=dhcp --device=enp0s3 --onboot=off --ipv6=auto
network --hostname=localhost.pkey.cn
#Root password
rootpw --iscrypted $1$yWDcMXl5$rH8ndJJjZ10w0dIHHx/Mo.
#System timezone
timezone Asia/Shanghai --isUtc
#System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
#Partition clearing information
clearpart --none --initlabel
%packages
net-tools
vim
wget
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
selinux --disabled
reboot
說明:
安裝的網絡鏡像地址: url --url=http://192.168.220.168/centos7/x86_64
安裝後的系統密碼: rootpw --iscrypted $1$yWDcMXl5$rH8ndJJjZ10w0dIHHx/Mo.
密碼可以通過openssl passwd -1 "PASSWORD"
安裝後可以在%packages 與其%end之間配置預安裝的包,更多好玩的配置請參看redhat官方文檔
5、啓動httpd並設置開機啓動
#systemctl start httpd
#systemctl enable httpd
#netstat -lntp |grep ":80" #查看80端口是否啓動,是不是 httpd,並在瀏覽器上直接輸入ip地址,看能不能訪問。
6、配置dhcp服務的配置文件
#vim /etc/dhcp/dhcpd.conf
內容如下:
option domain-name "pkey.cn";
option domain-name-servers 192.168.220.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.220.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.220.120 192.168.220.129;
option routers 192.168.220.1;
next-server 192.168.220.168;
filename "pxelinux.0";
}
7、啓動dhcp並設置開機啓動
# systemctl start dhcpd
# systemctl enable dhcpd
# netstat -luntp |grep dhcp #查看服務狀態,已經監聽在UDP 端口。
8、配置tftp服務
安裝好tftp-server軟件包後 默認的數據根目錄是/var/lib/tftpboot/ 無須修改,只需要複製一些軟件引導文件進來。
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot #引導文件
#cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot #內核文件
#cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot #引導菜單
#ls #看沒有把文件copy過來。
製件引導默認文件:
#mkdir -pv /var/lib/tftpboot/pxelinux.cfg
#cd !$
#vi default
內容如下:
default menu.c32
prompt 5
timeout 30
MENU TITLE CentOS 7 PXE Menu
LABEL linux
MENU LABEL Install CentOS 7 x86_64
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://192.168.220.168/centos7/x86_64 ks=http://192.168.220.168/ks/ks.cfg
9、啓動tftp 並設置開機啓動
#systemctl start tftp
#systemctl enable tftp
#ps aux |grep tftp #查看進程有沒有啓動
測試tftp:
#tftp 192.168.220.168
tftp> get chain.c32
tftp> quit
#ll #查看有沒有把這個文件get 下來。
10、關閉PXE服務器,設置vmware。
# init 0
更改網絡適配器爲僅主機模式。 更改虛擬網絡編輯器。(編輯 —> 虛擬網絡編輯器),更改爲僅主機模式,並取消本地dhcp服務。
11、開機,重新掛載 cdrom,並檢查相關服務情況。開啓要安裝的客房端(僅主機模式)。
#netstat -lnutp # 查看 80端口,是不是開啓,查看dhcp服務有沒有監聽 69端口。
#ps aux |grep tftp
#mount /dev/cdrom /mnt/
#mount --bind /mnt /var/www/html/centos7/x86_64