PXE(Preboot eXcution Environment)预启动执行环境,在操作系统之前运行
[root@localhost ~]# yum install dhcp* -y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
27 subnet 192.168.10.0 netmask 255.255.255.0 {
28 range 192.168.10.20 192.168.10.30;
29 option routers 192.168.10.10;
30 option domain-name-servers 192.168.10.10;
31 next-server 192.168.10.10; ##指定TFTP服务器地址##
32 filename "pxelinux.0"; ##指定要下载的引导程序文件,需安装软件包syslinux##
33 }
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# cd /var/ftp ##ftp站点目录##
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 47G 4.4G 43G 10% /
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 8.5M 478M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 166M 849M 17% /boot
tmpfs tmpfs 98M 32K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /var/ftp/centos7
[root@localhost ftp]#
[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# vim /etc/xinetd.d/tftp
disable = yes ##此行yes改为no##
[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cd /var/ftp/centos7/images/pxeboot/ ##压缩内核、初始化文件位置##
[root@localhost pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]#
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# ls
[root@localhost pxelinux.cfg]# vim default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.10/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.10.10/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.10.10/centos7
虚拟机上网模式选择为仅主机模式,修改网卡配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static ##修改为static##
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.10.10 ##IP地址##
NETMASK=255.255.255.0 ##子网掩码##
[root@localhost ~]# systemctl restart network ##修改完配置文件后重启网络服务##
在VMware Workstation中重新创建一个新的虚拟机,选择稍后安装操作系统,网络类型选择仅主机模式,无需挂载光盘镜像文件,配置好之后开启虚拟机,在读条的时候快速按一下Esc键,在弹出的引导菜单中选择网络启动
出现此页面时选择auto或者回车
之后就会跳到安装Linux操作系统的界面,此方法虽然提高了系统安装的灵活性,然而安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便,下面介绍通过kickstart工具进行无人值守安装。
[root@localhost ~]# yum install system-config-kickstart -y
通过桌面菜单“应用程序”–“系统工具”–“kickstart”即可打开“kickstart配置程序”窗口
配置好之后点文件–保存到ftp站点 /var/ftp 之后打开/root/anaconda- ks.cfg文件,把软件包复制粘贴到ks.cfg文件中
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools
%end
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
启动客户机裸机之后,当客户机以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装centos7系统,而无须手动干预。