kickstart技术安装操作系统

kickstartRedHat公司开源的软件,所以对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

猜你喜欢

转载自www.cnblogs.com/machangwei-8/p/9571889.html