一.配置安装服务器 两台服务器(172.168.0.253,(dhcp,TFTP)172.168.0.252(FTP)
1.安装dhcp服务()给客户端分配IP地址和网络参数)(172.168.0.253)
[root@boot ~]# yum -y install dhcp
2.修改配置文件
[root@boot ~]# cp -r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@boot ~]# vim /etc/dhcp/dhcpd.conf
# A slightly different configuration for an internal subnet.
subnet 192.168.4.0 netmask 255.255.255.0 { (指点网段)
range 192.168.4.1 192.168.4.254; (给客户端定IP范围)
option domain-name-servers 202.96.128.68; (给客户端指定DNS地址)
option routers 192.168.4.250; (给客户端指定网关)
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.253; (本机IP,服务器ip)
filename "pxelinux.0"; (启动文件的名称)
}
3.重启服务并设为开机自启
[root@boot ~]# systemctl restart dhcpd
[root@boot ~]# systemctl enable dhcpd
4.关闭防火墙(设置开机禁用防火墙)
[root@boot ~]# systemctl stop firewalld
[root@boot ~]# systemctl disable firewalld
[root@boot ~]# setenforce 0
5.安装TFTP服务器
[root@boot ~]# yum -y install tftp-server xinetd
6.修改配置文件
[root@boot ~]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot (默认共享的路径)
disable = no (设为no不禁用tftp服务)
per_source = 11
cps = 100 2
flags = IPv4
tftp是被xinetd动态管理的服务,所以我们需要连同xinetd一起安装,后面的操作中启动服务我们仅启动xinetd即可,无须单独启动tftp服务。
7.安装软件包获得引导文件
[root@boot ~]# yum -y install syslinux
8.将客户端所需启动引导文件复制到TFTP服务器
[root@boot ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
9.将Centos7.2光盘放入光驱并运行如下命令,从光盘中复制启动镜像文件和启动配置文件至TFTP共享目录
[root@boot ~]# mount /dev/cdrom /var/ftp/pub
[root@boot ~]# cp /var/ftp/pub/isolinux/* /var/lib/tftpboot/
[root@boot ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@boot ~]# cp /var/ftp/pub/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@boot ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
10.启动配置文件
[root@boot ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.ks=hd:LABEL=ftp://192.168.4.252/ks.cfg ip=dhcp quiet
label check
menu label Test this ^media & install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
(配置说明):每一个label定义了一个启动菜单项目,menu default 定义了默认引导方式,从配置文件可以看出,有一个启动项是直接安装Centos7,另一种是安装光盘进行测试后在安装系统。timemout定义了启动界面的超时时间,默认如果用户60秒不做任何操作,则系统将直接使用默认引导安装系统,本案例我们将超时时间修改为6秒(时间单位为1/10秒)。此外,kernel指定的是系统内核文件(vmlinuz),在上面步骤中,我们已经从光盘将内核文件从光盘中复制到TFTP共享目录下,这样客户端最终可以通过网络TFTP共享获得该文件。如果没有后面的inst.ks参数,至此,我们可以实现无光盘启动,后面的安装步骤需要我们手动进行,设置inst.ks 参数可以指定自动应到文件的位置,从而实现无人值守自动安装部署操作系统。本例将访问192.168.4.252的FTP共享,读取kickstart文件。
11.重启TFTP服务并设置为开机自启
[root@boot ~]# systemctl restart xinetd
[root@boot ~]# systemctl enable xinetd
[root@boot ~]# ss -nutlp | grep :69
udp UNCONN 0 0 *:69 *:* users:(("xinetd",pid=3774,fd=5))
12.创建kickstart自动应答文件 (在192.168.4.252上安装)
[root@FTP ~]# yum -y install system-config-kickstart
[root@FTP ~]# mkdir /ks/
13.运行system-config-kickstart,设置效果如如所示。
[root@FTP ~]# system-config-kickstart
后面配置文件把软件包添加进去即可
13,.由于前面图形工具中,关于软件包安装的选项提示失败,所以生成ks.cfg后,我们还需要手动往该文件添加部分内容;
[root@FTP ~]# vim /var/ftp/ks.cfg
14.编写完成ks.cfg后,我们可以通过命令来检查该文件是否有语法错误,无任何报错信息,则一切正常
[root@FTP ~]# ksvalidator /var/ftp/ks.cfg
15.部署FTP服务器 (安装vsftp软件包)
[root@FTP ~]# yum -y install vsftpd
16.启动vsftp服务并设置为开机自启
[root@FTP ~]# systemctl restart vsftpd
[root@FTP ~]# systemctl enable vsftpd
17.关闭防火墙防止客户无法访问服务器
[root@FTP ~]# systemctl stop firewalld (禁用防火墙)
[root@FTP ~]# systemctl disable firewalld (开机禁用防火墙)
[root@FTP ~]# setenforce 0 (关闭selinux防护功能)
18.将系统光盘或ISO文件通过NFS共享
部署完成FTP服务后,需要将光盘中的文件复制到/var/ftp/pub/目录中,如果有光盘和光驱,也可以通过mount的方式将光盘直接挂在至/var/ftp/pub/目录下
[root@FTP ~]# mount /dev/cdrom /var/ftp/pub
如果没有光盘,仅有ISO镜像文件,也可以将ISO镜像文件挂载至/var/ftp/pub/目录
[root@FTP ~]# mount -o loop -t iso9660 镜像文件 /var/ftp/pub
19.启动客户端,安装部署系统
在所有客户端主机的BIOS中,将第一启动方式设置为PXE网络启动,或通过类似于开机按f12这样的方式设置启动方式,机型不同网络启动的方式也不同,设置完成后,重启所有客户端计算机即可完成大规模集中安装部署操作系统
注:在网络启动中,路径需要写服务器名字后面跟共享的路径目录,应答文件同样(如图)