welcome

kickstart自动化安装

 

preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动。

工作模式为客户端/服务器端的c/s模式

客户端从远端服务器下载镜像,并支持通过网络启动操作系统(启动过程,客户端要求服务器端分配ip地址,再用TFTP或MTFTP协议下载一个启动软件包到客户端内存中执行)

 

为了节省时间和成本,使用kickstart+PXE自动化安装部署来解决数百台服务器的系统,版本一致。

 

架构:DHCP+NFS+TFTP+PXE+kickstart

需要安装的服务:dhcp,tftp,nfs,kickstart(一个配置文件)等

前提:1.客户端开启pxe功能2.如是虚拟机环境,建议分配内存2g以上,太小可能会出现下面问题:

 

 

 

#服务器端:

1.挂载镜像

 

2.DHCP安装:

yum install dhcp* -y

配置dhcp:vi /etc/dhcp/dhcpd.conf

#有一个dhcpd.conf.sample的文件可以参考

 

如果dhcp地址池用完,可以用echo ""> /var/lib/dhcpd/dhcpd.leases释放掉地址 

 

3.TFTP安装:

yum install tftp* -y

配置tftp服务:vi /etc/xinetd.d/tftp

disable=yes改为no

#tftp基于xinetd.d的服务启动

 

 

4.配置TFTPBOOT+PXE配置

要实现远程安装系统,需要在TFTPBOOT目录指定相关PXE内核模块及相关参数。

#系统是5,默认tftpboot目录自动创建到/目录下

#系统是6,默认tftpboot目录在/var/lib/下,需要centos6.x需要软链接到/目录下

 

#yum install syslinux

#先用find命令查找pxelinux.0文件,如果没有执行上面的命令

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

#拷贝到tftpboot目录下

引导文件pxelinux.0

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

 

将镜像中的文件拷贝出来:

cp /mnt/images/pxeboot/vmlinuz /tftpboot/

cp /mnt/images/pxeboot/initrd.img /tftpboot/

拷贝初始化引导文件,内核到tftpboot目录下

 

在tftpboot目录下

mkdir -p pxelinux.cfg

# 参数:-p 确保目录名称存在,如果目录不存在,就新创建一个

cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

拷贝isolinux.cfg配置文件并重命名为default,系统安装的时候会根据此文件的配置启动相应的选项

类似一个菜单:

........

#注意可能需要给default文件添加权限chmod 777这样

加入:

label centos7.8//centos7.8标签

kernel vmlinuz//内核文件

append ks=nfs:kickstart服务器的ip地址:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img

#/centosinstall是nfs共享linux镜像的目录,也是linux存放安装文件的路径

#ks.cfg是kickstart主配置文件

#设置timeout 10,超时时间为10s

#ksdevice=eth0代表客户端从eth0安装操作系统--用于多个网卡的服务器,vm环境下可以不用这个

由于安装7.8的centos版本,安装后是ens33

 

#default文件 将default后的 改为centos7.8,就可以默认引导到centos7.8这个标签来,就不需要在安装的时候输入centos7.8

 #客户端:

 

5.配置nfs

nfs传镜像文件--默认已经安装

mkdir -p /centosinstall

 

cp -rf /mnt/* /centosinstall

#把镜像文件都拷贝到centosinstall目录下

并在nfs配置文件/etc/exports添加

/centosinstall   *(rw,sync)

#centosinstrall为共享目录,rw,sync允许任何主机访问

#注意/centosinstall目录要有读写权限

 

6.kickstart配置

#配置kickstart,一个是可以使用system-kickstart系统软件包来配置,也可以直接拷贝/root/目录下的anaconda-ks.cfg到刚分享的/centosinstall目录下,并重命名为ks.cfg

anaconda-ks.cfg文件:

#chmod 777 ks.cfg

#根据需要修改ks文件:

#clearpart --all --initlabel//初始化所有磁盘

 ks.cfg文件可分三部分:命令部分,软件部分,脚本部分

其中脚本部分:

%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
%post:后安装脚本(基本支持所有命令)

在%post中如果加入wget的命令,就要在%packages中加入wget包;另外,如在windows系统写的脚本,可能存在\r的字符问题,可以在linux上用vi/vim命令打开脚本文件,输入“:set fileformat=unix”,回车,保存退出。

 

#浪潮服务器在安装系统过程中,发现在dd后,系统无法起来,解决方法:在ks.cfg文件中增加

ignoredisk --only-use=sda 

 

重启服务

/etc/init.d/nfs restart

/etc/init.d/xinetd restart

/etc/init.d/dhcpd restart

 

启动客户端:dhcp获取到地址。输入引导的是centos7.8

 

 

交换机环路情况下报错:

 

如果系统盘大于2T,则ks脚本里的分区最少需要如下
part biosboot --fstype=biosboot --ondisk=sda --size=1
part /boot --fstype="ext4" --ondisk=sda --size=500

posted on 2018-12-22 06:40  vanspumakappa  阅读(325)  评论(0编辑  收藏  举报

导航