搭建kickstart+pxe环境,为超微单节点服务器自动部署redhat7.4
工作原因,要为某数据机房中的服务器安装系统,利用kickstart和pxe批量部署,全包安装.记一下过程和遇到的问题.
--------------以上---------------
1.安装服务端系统(redhat7.4)(需要安装图形化界面)
2.配置服务端ip为10.1.1.1/24(服务端ip配置完成后,建议使用crt等软件ssh管理,可复制粘贴,节省时间)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.1.1.1
NETMASK=255.255.255.0
重启网络服务
service network restart
3.关闭防火墙和selinux并禁止开机自启( systemctl is-enabled firewalld 查看防火墙是否自启,getenforce查看selinux状态)
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl status firewalld
getenforce
4.挂载镜像,搭建本地yum
mount /dev/cdrom /yum
cat > /etc/yum.repos.d/iso.repo <<EOF
[development]
name=iso
baseurl=file:///yum
enable=1
gpgcheck=0
EOF
4.安装配置dhcp
yum -y install dhcp
cat > /etc/dhcp/dhcpd.conf <<EOF
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.10 10.1.1.254;
option domain-name "linuxidc.seagate.com";
option routers 10.1.1.1;
option broadcast-address 10.1.1.255;
next-server 10.1.1.1;
filename "pxelinux.0";
default-lease-time 600;
max-lease-time 7200;
}
EOF
开启相关服务并配置开机自启
systemctl enable dhcpd.service
systemctl start dhcpd.service
5.安装配置tftp
yum install -y xinetd tftp
cat > /etc/xinetd.d/tftp <<EOF
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
EOF
启动相关服务并设置开机自启
systemctl enable xinetd.service
systemctl start xinetd.service
6.安装httpd,复制系统镜像
yum -y install httpd
cp -r -v /yum/ /var/www/html/
systemctl start httpd.service
systemctl enable httpd.service
7.安装syslinux并复制相关文件
yum -y install syslinux
find / -name pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /yum/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /yum/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /yum/isolinux/{boot.msg,splash.png} /var/lib/tftpboot/
修改default文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
timeout 1
label linux
menu label ^Install CentOS 7
kernel vmlinuz
menu default
append initrd=initrd.img inst.ks=http://10.1.1.1/ks.cfg quiet
8.创建ks.cfg配置文件
yum -y install system-config-kickstart
system-config-kickstart
配置完成后保存到/var/lib/www/html/目录下修改权限
chmod 755 /var/www/html/ks.cfg
9.客户端服务器连通服务端,开始自动部署
---------------------------------------
1.如果客户端无法自动部署,请检查以下
服务端dhcp服务是否正常?
网络是否连通?
客户端连接网络的网口是否开启pxe引导?
客户端是否需要收到触发网卡引导?(超微服务器默认开机一段时间后,会停止网卡引导,需要使用键盘触发引导)
2.如果客户端可以获取ip,无法获取其他,请重启服务端
3.如果全包安装的情况下,出现以下软件冲突报错,请修改ks.cfg文件
libcmpiCppImpl0 conflicts with 2:tog-pegasus-2.12.0-3.0.1.el6_4.x86_64
修改ks.cfg文件,取消勾选这个包,解决冲突问题