1、配置网络服务器
方式1:http/https服务器充当iso源存放服务器
1 [root@localhost ~]# yum install httpd -y # 安装httpd服务 2 [root@localhost ~]# mkdir /media/rhel7-install # 创建挂载目录 3 [root@localhost ~]# mount /dev/sr0 /media/rhel7-install # 挂载光盘iso镜像 4 [root@localhost ~]# cp -r /media/rhel7-install /var/home/html/ # iso源文件复制到httpd服务访问目录下 6 [root@localhost ~]# systemctl enable --now httpd # httpd服务开机自启
可通过 http://ip地址/rhel7-install/ 访问操作系统安装源
[root@localhost ~]# yum install -y vsftpd # 安装vsftpd服务 [root@localhost ~]# mkdir /media/rhel7-install # 创建镜像挂载目录 [root@localhost ~]# mount /dev/sr0 /media/rhel7-install # 挂载ISO镜像到rhel7-install目录 [root@localhost ~]# cp -r /media/rhel7-install /var/ftp/ # 拷贝rhel7-install目录拷贝到vftpd的访问目录下 [root@localhost ~]# systemctl enable --now vsftpd.service # vsftpd服务开机自启 [root@localhost ~]# systemctl start vsftpd.service # 启动vsftpd服务
可通过 ftp://IP地址/rhel7-install 验证能否看到操作系统安装源(window打开文件管理器-->网络-->输入访问地址查看)
2、配置PXE网络引导服务
2.1、安装DHCP服务
step1:安装DHCP服务
[root@localhost ~]# yum install -y dhcp
step2:设置DHCP配置文件进行相关配置
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf # 内容如下: option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configflie code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 192.168.50.0 netmask 255.255.255.0 { # DHCP所在网段(依据实际情况而改动) option routers 192.168.50.2; # 网关(按具体情况修改) range 192.168.50.81 192.168.50.89; # DHCP的IP地址池(按具体情况修改) class “pxeclients” { match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”; next-server 192.168.50.80; # pxe server服务器的IP地址 if option architecture-type = 00:07 { filename “uefi/shim.efi”; } else { filename “pxelinux/pxelinux.0”; } } }
2.2、安装TFTP服务器用来存放bootloader引导
step1:安装tftp服务器,并启动tftp服务
[root@localhost ~]# yum install -y tftp-server xineted # 安装tftp-server和xineted服务 [root@localhost ~]# vim /etc/xinetd.d/tftp # 编辑内容如下: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot # tftpd服务默认的访问目录 disable = no # 将disable的值改为no,启动tfpd服务 per_source = 11 cps = 100 2 flags = IPv4 } [root@localhost ~]# systemctl restart xinetd.service # 重启xinetd服务(tftpd受xinetd管理) [root@localhost ~]# systemctl enable xinetd.service # 设置开机自启
step2:安装syslinux,用来生成pxelinux.0文件
[root@localhost ~]# yum install -y syslinux
# 注意:syslinux是一个fat文件系统的内核加载器(安装完成后会在/usr/share/syslinux/目录下有个pxelinux.0文件)
step3:复制pxelinux.0文件到tftp共享目录(/var/lib/tftpboot/)中
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux [root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
step4:在/var/lib/tftpboot/pxelinux目录下创建子目录images/RHEL-7用来存放boot镜像文件和vmlinuz驱动文件
[root@localhost ~]# mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-7/ [root@localhost ~]# cp /var/ftp/rhel7-install/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-7/
2.3、创建kickstart自动应答配置文件
kickstart用来实现在安装过程中自动应答启动的配置,实现自动启动操作系统。
kickstart的说明见如下:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/chap-kickstart-installations
通过拷贝/root目录下的anaconda-ks.cfg文件,并自定义配置,并且把配置文件放在可以网络访问的位置:操作系统安装源的位置
注意:可以在https://access.redhat.com/labs/kickstartconfig/自动生成ks文件,但不支持一些高级分区功能。
制作简单的ks.cfg文件:
step1:拷贝anaconda-ks.cfg文件为ks.cfg文件,并编辑
[root@localhost ~]# cp /root/anaconda-ks.cfg /root/ks.cfg [root@localhost ~]# vim /root/ks.cfg # 编辑的ks.cfg内容如下: #version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 #firewall firewall --disable #install mode install url --url ftp://192.168.50.80/rhel7-install/ #after installation reboot # 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=ens33 --onboot=on --ipv6=auto --activate network --hostname=localhost.localdomain # Root password rootpw --plaintext 12345678 # Selinux mode selinux --permissive # x configuration skipx # System services services --enabled="chronyd" # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda autopart --type=lvm # Partition clearing information clearpart --none --initlabel %packages @^minimal @core chrony kexec-tools %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end
step2:将编辑好的ks.cfg文件拷贝到网络源的镜像所在位置,如vstfp服务作为网络源时:
[root@localhost ~]# cp /root/ks.cfg /var/ftp/rhel7-install/ [root@localhost ~]# chmod 777 /var/ftp/rhel7-install/ks.cfg # 赋予ks.cfg文件具有读写、执行权限
2.4、创建内核引导配置文件
在tfpt服务器的目录(/var/lib/tftpboot/)下的pxelinux目录下创建内核引导配置文件:
step1、在/var/lib/tftpboot/pxelinux目录下创建pxelinux.cfg子目录
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
step2、在pxelinux.cfg目录下添加操作系统启动的配置文件 default
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux/pxelinux.cfg/default # 编辑内容如下: default linux prompt 1 timeout 60 display boot.msg label linux menu label ^Install system menu default kernel images/RHEL-7/vmlinuz append initrd=images/RHEL-7/initrd.img ip=dhcp inst.repo=ftp://192.168.50.80/rhel7-install/ inst.ks=ftp://192.168.50.80/rhel7-install/ks.cfg label vesa menu label Install system with ^basic video driver kernel images/RHEL-7/vmlinuz append initrd=images/RHEL-7/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=ftp://192.168.50.80/rhel7-install/ label rescue menu label ^Rescue installed system kernel images/RHEL-7/vmlinuz append initrd=images/RHEL-7/initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
3、启动客户端,验证安装过程