測試環境:
一、PXE服務器:CentOS7 、vmware 的虛擬機
二、(僅主機模式) 192.168.220.168 內網。在部署環境前,先改爲橋接模式。能上網。環境搭建成功後再改爲主機模式。
三、執行批量安裝的機器最低配置:磁盤>=20G ,內存必須2G ;要求所有設置成僅主機模式。
四、要安裝的包: DHCP tftp http syslinux(提供引導文件)html
# 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端口。linux
# yum install dhcp tftp tftp-server syslinux httpd -y
redis
# mkdir -pv /var/www/html/centos7/x86_64 # mount /dev/cdrom /mnt/ # mount --bind /mnt /var/www/html/centos7/x86_64 #綁定掛載到http默認目錄下
#mkdir /var/www/html/ks #cd !$ #vi ks.cfg
內容以下:vim
#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官方文檔centos
#systemctl start httpd #systemctl enable httpd #netstat -lntp |grep ":80" #查看80端口是否啓動,是否是 httpd,並在瀏覽器上直接輸入ip地址,看能不能訪問。
#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"; }
# systemctl start dhcpd # systemctl enable dhcpd # netstat -luntp |grep dhcp #查看服務狀態,已經監聽在UDP 端口。
安裝好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
內容以下:app
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
#systemctl start tftp #systemctl enable tftp #ps aux |grep tftp #查看進程有沒有啓動
測試tftp:dom
#tftp 192.168.220.168 tftp> get chain.c32 tftp> quit #ll #查看有沒有把這個文件get 下來。
# init 0
更改網絡適配器爲僅主機模式。 更改虛擬網絡編輯器。(編輯 —> 虛擬網絡編輯器),更改成僅主機模式,並取消本地dhcp服務。
#netstat -lnutp # 查看 80端口,是否是開啓,查看dhcp服務有沒有監聽 69端口。 #ps aux |grep tftp #mount /dev/cdrom /mnt/ #mount --bind /mnt /var/www/html/centos7/x86_64