linux 批量系统安装服务PXE+Kickstart

无人值守安装系统:使用PXE+TFTP+FTP+DHCP+Kickstart服务搭建出一个无人值守安装系统。PXE预启动执行环境,用于在无人值守安装系统中引导客户端主机安装linux操作系统。Kickstart的工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数的时候自动匹配Kickstart生成的文件。

一. 配置DHCP服务程序

    DHCP服务程序用于为客户端主机分配可用IP地址。

    yum install dhcp;

    vim  /etc/dhcp/dhcp.conf

allow booting; # 开机为机器分配IP地址,即便主机没有操作系统
allow bootp;   # 
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        option subnet-mask      255.255.255.0;
        option domain-name-servers  192.168.10.10;
        range dynamic-bootp 192.168.10.100 192.168.10.200;
        default-lease-time      21600;
        max-lease-time          43200;
        next-server             192.168.10.10;
        filename                "pxelinux.0";  # 目的是让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步安装过程
}

    配置完文件后,重启服务systemctl restart dhcpd; systemctl enable dhcpd;

二. 配置TFTP服务程序

鉴于客户端主机还没有安装操作系统,,tftp基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源,因此配置tftp为客户端主机提供引导及驱动文件。当客户端有了基本的驱动程序后,再通过vsftpd服务协议将完整的光盘镜像文件传输过去。

1. 安装服务 yum install tftp-server

2. tftp由xinetd网络守护进程服务来管理。vim /etc/xinetd.d/tftp其中将disable  打开为no

3. 重启服务 systemctl restart xinetd;   systemctl enable xinetd;

4. tftp使用端口号69,设置防火墙

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

    firewall-cmd --reload

三. 配置SYSLinux服务程序

    1. SYSLinux是一个用于提供引导加载的服务程序。yum install syslinux

    2. 复制一些引导文件到tftp服务程序的默认目录中。

cd /var/lib/tftpboot  # tftp默认目录

cp /usr/share/syslinux/pxelinux.0 .
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
# 在当前路径下创建一个新文件夹,拷贝系统文件isolinux.cfg文件,并编辑

mkdir pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
vim pxelinux.cfg/default
# 补充文件内容 1 default linux
# append initrd=initrd.img inst.stage2=ftp://192.168.10.22 ks=ftp://192.168.10.22/pub/ks.cfg quiet

四. 配置vsftpd服务程序

1. 光盘镜像通过ftp协议传输。 安装服务 yum install vsftpd

2. 重启服务systemctl restart vsftpd; systemctl enable vsftpd;

3. 复制光盘镜像文件到vsftpd服务程序的的工作目录 cp -r /media/cdrom/* /var/ftp

4. 编辑ftp协议的防火墙策略,设置selinux放行ftp    

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

firewall-cmd --reload

setsebool -P ftpd_connect_all_unreserved=on

五. 创建KickStart应答文件

1. 拷贝应答文件  cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg; 设置权限 chomd +r /var/ftp/pub/ks.cfg

2. 编辑应答文件vim /var/ftp/pub/ks.cfg

6 url --url=ftp://192.168.10.22
21 timezone Asia/Shanghai --isUtc
29 clearpart --all --initlabel

 

 

你可能感兴趣的:(linux笔记,linux运维汇总)