LinuxPXE+Kickstrart无人值守安装服务

要求:关闭VMware虚拟网络编辑器中自身的DHCP服务

主机名称 操作系统 IP地址
NoneOS Centos7 192.168.72.250
Custormer  

 

 

 1、挂在本地镜像源本配置Yum仓库,安装DHCP服务

[root@NoneOs ~]# yum install dhcp -y

2、配置DHCP服务

[root@NoneOs ~]# vim /etc/dhcp/dhcpd.conf

allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.72.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.72.250;
        range dynamic-bootp 192.168.72.100 192.168.72.200;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.72.250;
        filename "pxelinux.0";
}

[root@NoneOs ~]# systemctl restart dhcpd
[root@NoneOs ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

 

3、配置TFTP服务程序

[root@NoneOs ~]# yum install tftp-server -y

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

[root@NoneOs ~]# systemctl restart xinetd
[root@NoneOs ~]# systemctl enable xinetd

 

TFTP服务程序默认使用UDP协议,占用的端口是69,在生产环境中需要在firewalld防火墙工具中写入使其永久生效的允许策略。

firewall-cmd --permanent --add-port=69/udp
firewall-cmd --reload

在实验环境中可以直接将防火墙关闭

[root@NoneOs ~]# systemctl stop firewalld

4、SYSlinux服务

[root@NoneOs ~]# yum install syslinux -y

 

首先将SYSlinux提供的引导文件复制到TFTP服务程序的默认目录中,就是之前pxelinux.0该文件,这样客户端主机就能顺利地获取到引导文件。还需要调用一些Centos7光盘镜像的一些引导文件,确认光盘镜像挂在到本地然后将其中的一些引导文件复制到TFTP服务程序的默认目录中。

[root@NoneOs tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@NoneOs tftpboot]# cp /media/images/pxeboot/{vmlinuz,initrd.img} .
[root@NoneOs tftpboot]# cp /media/isolinux/{vesamenu.c32,boot.msg} .

然后在TFTP服务程序的目录中新建pxelinux.cfg目录,此目录虽然带有后缀,但是依然是目录。将系统光盘中的开机选项菜单复制到该目录中,并命名为default

[root@NoneOs tftpboot]# mkdir pxelinux.cfg
[root@NoneOs tftpboot]# cp /media/isolinux/isolinux.cfg pxelinux.cfg/default

修改复制来的default文件

[root@NoneOs tftpboot]# vim pxelinux.cfg/default
 1 default linux

64 append initrd=initrd.img inst.stage2=ftp://192.168.72.250 ks=ftp://192.168.7    2.250/pub/ks.cfg quiet

 5、配置vsftpd服务

 光盘镜像通过FTP协议来传输,因此用到vsfptd服务。

[root@NoneOs ~]# yum install vsftpd -y

 [root@NoneOs ~]# systemctl restart vsftpd


 [root@NoneOs ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

 

在确认光盘镜像文件正常挂在到本地目录之后,把该目录中的光盘镜像文件全部复制到vsftpd的工作目录中。

[root@NoneOs ~]# cp -r /media/* /var/ftp/

在生产环境中,需要将FTP协议在firewalld防火墙中写入永久生效的允许策略,然后在SELINUX中放行FTP传输:

firewall-cmd --permanent --add-service=ftp

firewall-cmd --reload

setsebool -P ftpd_connect_all_unreserved=on

6、创建KickStart应答文件

kisckStart并不是一个服务程序,而是一个应答文件,包含了系统安装过程中需要使用的选项和参数信息,系统可以自动调取这个应答文件的内容,从而实现无人值守安装系统。

这个文件就在root管理员的家目录名为anaconda-ks.cfg文件。

 

[root@NoneOs ~]# cp -r /media/* /var/ftp/
[root@NoneOs ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@NoneOs ~]# chmod +r /var/ftp/pub/ks.cfg
[root@NoneOs ~]# vim /var/ftp/pub/ks.cfg
5 url --url=ftp://192.168.72.250
23 timezone Asia/Shanghai --isUtc
28 clearpart --all --initlabel

 

7、自动部署客户端主机

 

 

 

 

 

 

 

 

 网络模式选择仅主机

 

 自动安装无须人工干预

 

posted @ 2019-08-30 08:42  DevonL  阅读(355)  评论(0编辑  收藏  举报