kickstart自动化安装系统

环境:服务器192.168.10.100

1. 安装DHCP

yum install dhcp -y

配置文件

cat >> /etc/dhcp/dhcpd.conf << EOF
allow booting;
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.100;
range dynamic-bootp 192.168.10.200 192.168.10.250; #起始IP-结束IP
default-lease-time 21600; #默认租期
max-lease-time 43200; #最大租期
next-server 192.168.10.100; #告知客户端TFTP的地址
filename "pxelinux.0"; #告知客户端下载pxelinux.0的目录
}
EOF

然后启动DHCP服务

systemctl start dhcpd && systemctl enable dhcpd && systemctl status dhcpd

2. 安装ftp

yum -y install tftp-server
vim /etc/xinetd.d/tftp
disable = no # 将yes改成no,然后启动

启动

systemctl start tftp.socket && systemctl status tftp.socket &&systemctl enable tftp.socket

3.配置syslinux服务

yum -y install syslinux

将pxelinux.0放入到/var/lib/tftpboot/下

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

4.安装http服务

yum -y install httpd
systemctl start httpd.service && systemctl status httpd && systemctl enable httpd

将镜像挂载到站点目录

mkdir -p /var/www/html/CentOS7
mount /dev/cdrom /var/www/html/CentOS7

然后访问验证 curl http://192.168.10.20/CentOS7/

复制镜像到/var/lib/tftpboot/

cp -a /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg #用于存放客户端配置文件
cp /var/www/html/CentOS7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

5.编写default文件

vim /var/lib/tftpboot/pxelinux.cfg/default

将第一行 default vesamenu.c32 改成default linux

将大概64行

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
 #append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet 	###改成如下
  append initrd=initrd.img inst.stage2=http://192.168.10.100/CentOS7 ks=http://192.168.10.100/ks.cfg quiet

6.编写ks.cfg文件

cp ~/anaconda-ks.cfg /var/www/html/ks.cfg
chmod +r ks.cfg #赋权

访问验证 curl http://192.168.10.100/ks.cfg

拷贝文件后,再参考如下内容修改---------------

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# cdrom
url --url=http://192.168.10.100/CentOS7/		####改成httpd的镜像访问地址
# 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 --ipv6=auto --activate		###网卡
network  --hostname=localhost.localdomain		#hostname
# Root password
rootpw --iscrypted $6$gOQwBOIU7EeGID48$ou.Ud6WCJ6AF.L58SKnvNztB/iPqoH7j3C9rZ3xzHhrdfdOalv5hof3KkgXRzNsGX50GUpJr8A0y/cUG0zUqY.
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# X Window System configuration information
#xconfig  --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
autopart --type=lvm
reboot

%packages
@^minimal
@core
@development
@system-admin-tools
chrony
kexec-tools
tree
nmap
sysstat
lrzsz
dos2unix
telnet
wget
vim
net-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

7.然后客户端

现在就可以使用PXE + Kickstart无人值守安装系统了,在生产环境中,大家只需要将配置妥当的服务器上架,接通服务器和客户端主机之间的网线,然后启动客户端主机即可。然后就开始传输光盘镜像文件并进行自动安装了—期间完全无须人工干预,直到安装完毕时才需要运维人员进行简单的初始化工作。

8.遇到报错

could not find kernel image vmlinuz

解决方法

setenforce 0 #临时解决方法
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
systemctl stop firewalld && systemctl disable firewalld

posted @ 2020-03-10 21:36  博客萨斯州  阅读(511)  评论(0编辑  收藏  举报