linux运维--pxe+HTTP+kickstart无人值守
注意客户端的内存至少为2G
第一步:关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld //临时关闭,重启失效
[root@localhost ~]# systemctl disable firewalld //永久关闭
[root@localhost ~]# setenforce 0 //临时关闭selinux重启失效
[root@localhost ~]# vi /etc/selinux/config //编辑文件永久关闭selinux

确认防火墙和selinux已关闭
[root@localhost ~]# getenforce
[root@localhost ~]# systemctl status firewalld

第二部安装配置服务端
Kickstart由TFTP、syslinux、DHCP(这里的DHCP可以替换为ftp等文件共享服务)和KS文件组成
server
一、DHCP的安装配置
[root@localhost ~]# yum install -y dhcp //安装
修改配置文件:
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
添加以下内容:
allow bootp;
allow booting;
subnet 192.168.19.0 netmask 255.255.255.0 { #指定网段
range 192.168.19.100 192.168.19.200; #指定IP范围
option routers 192.168.19.1; #指定网关
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.19.249; #指定TFTP服务器
filename "/pxelinux.0"; #指定要下载的文件
}
重启服务并设置开机自启
[root@localhost ~]# systemctl restart dhcpd //重启服务器
[root@localhost ~]# systemctl enable dhcpd //开机自启
测试dhcp功能
服务开机启动为网卡启动(重启即可),测试能够获取ip即可

二、安装tftp 和 syslinux 和 http
[root@localhost ~]# yum install -y tftp-server tftp syslinux httpd
使用虚拟机的话注意下图两项都勾选了,在挂载

挂载镜像文件到http目录下
[root@localhost ~]# mkdir /var/www/html/centos //创建挂载点
[root@localhost ~]# mount /dev/sr0 /var/www/html/centos/ //挂载
[root@localhost ~]# df -h //查看挂载

修改tftp配置文件
[root@localhost ~]# vi /etc/xinetd.d/tftp

复制安装时需要的启动文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost~]# cp /var/www/html/centos/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@localhost~]# cp /var/www/html/centos/isolinux/{boot.msg,vesamenu.c32} /var/lib/tftpboot/
[root@localhost~]# cp /var/www/html/centos/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default //找到以下行改为下图所示
---------------------------------------------------------------------------------------------------------------------
default vesamenu.c32
timeout 50
display boot.msg
label linux
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=Centos/x207/x86/ quiet
label check
menu label Test this ^media & install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
-------------------------------------------------------------------------------------------------------------------------------


[root@localhost ~]# ll /var/lib/tftpboot/ //最后这里应该有这些文件

创建ks文件 (这里以系统自带的ks文件为例,新安装的系统的密码、分区等都与母机一致)
[root@localhost ~]# cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
[root@localhost ~]# chmod a+r /var/www/html/ks.cfg
[root@localhost ~]# vi /var/www/html/ks.cfg
找到以下两行修改为下图所示,并在文件最后加上reboot
--------------------------------------------------------------------------------------------
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
-------------------------------------------------------------------------------------------

KS文件配置详解:http://www.linuxidc.com/Linux/2013-07/87299.htm
重新启动:systemctl restart tftp
开机自启:systemctl enable tftp
重新启动:systemctl restart httpd
开机自启:systemctl enable httpd
最后开启客户机安装系统,不需要手动操作
使用虚拟机测试时,遇到如下图错误,请检查内存是否大于2G

参考文献:http://www.linuxidc.com/Linux/2013-07/87299.htm

浙公网安备 33010602011771号