kickstart是RedHat公司开源的软件,所以对CentOS兼容性最好。
原理:我们将手动安装的所有的详细步骤记录到一个文件中,然后kickstart通过读取这个文件就可以实现自动化安装系统。
kickstart是一个项目的名称。没有这个软件。使用者水平是高中以上
cobbler是对kickstart的所有组件的封装。使用者水平是初中以上。本质上就是网页版本的kickstart。
kickstart的原理及组件
安装DHCP服务
环境准备
[root@kickstart ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@kickstart ~]# uname -r 3.10.0-693.el7.x86_64 [root@kickstart ~]# getenforce Disabled [root@kickstart ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@kickstart ~]# hostname -I 10.0.0.201 172.16.1.201
安装DHCP
yum -y install dhcp
配置DHCP
cat >>/etc/dhcp/dhcpd.conf<<EOF subnet 172.16.1.0 netmask 255.255.255.0 { range 172.16.1.100 172.16.1.199; option subnet-mask 255.255.255.0; default-lease-time 21600; max-lease-time 43200; next-server 172.16.1.201; filename "/pxelinux.0"; } EOF
启动dhcp查看日志
[root@kickstart ~]# systemctl start dhcpd [root@kickstart ~]# systemctl status dhcpd tailf /var/log/messages
DHCP服务对kickstart系统的影响程度
新建空白虚拟机,建完后做快照。
TFTP没有安装导致报错
安装TFTP服务
安装
[root@kickstart ~]# yum -y install tftp-server
启动
systemctl start tftp.socket
TFTP服务对kickstart系统的影响程度
上面报错是在TFTP服务的根目录找不到启动文件pxelinux.0
[root@kickstart ~]# cd /var/lib/tftpboot/ # TFTP服务的根目录 [root@kickstart tftpboot]# ls [root@kickstart tftpboot]# yum -y install syslinux cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
首先排除最简单故障原因:selinux是否关闭,防火墙是否关闭
上面的错误是因为pxelinux.0这个小系统的配置文件(default)不存在,或者文件名不对
如何找到这个配置文件
第一步:挂载镜像
第二步
mkdir -p /var/www/html/CentOS7 mount /dev/cdrom /var/www/html/CentOS7
第三步:从镜像中找到相关的配置文件
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
6、安装HTTP服务
作用1:提供自动应答文件下载
作用2:提供安装系统所需的所有rpm包下载
[root@kickstart ~]# yum -y install httpd
[root@kickstart ~]# systemctl start httpd.service
检查步骤
http://10.0.0.201/CentOS7/ curl http://172.16.1.201/CentOS7/
7、default配置文件
[root@kickstart tftpboot]# pwd /var/lib/tftpboot [root@kickstart tftpboot]# cd pxelinux.cfg/ [root@kickstart pxelinux.cfg]# vim default
8、不该出现的错误
报错原因:selinux没关
http://blog.oldboyedu.com/autoinstall-kickstart/
append initrd=initrd.img method=http://172.16.1.201/CentOS7/
CentOS6安装步骤补充
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
# epel出现一个情况,把一个必须的包给清除了
yum localinstall Django14-1.4.21-1.el6.noarch.rpm
yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd
CentOS7
echo "192.168.19.200 mirrors.aliyun.com" >>/etc/hosts
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd