KickStart+PXE实现自动化部署安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KickStart+PXE实现自动化部署安装相关的知识,希望对你有一定的参考价值。

前言

??在日常的生产环境中,需要批量的部署大量相同的操作系统,如果我们去逐台安装无疑会花费大量的时间,通过Kictstart+PXE可以快速的部署安装,可以有效的节省人工和时间。

???
什么是PXE?

PXE(预启动执行环境),工作在Client/Server的工作模式,通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;
由Intel和Systemsoft公司于1999年9月20日公布的技术;

?
PXE工作原理:??
技术分享图片
?
实验环境

操作系统:centos6.5
server:192.168.42.16
client:dhcp获取
实验需求:通过网络自动化安装 centos6.5 操作系统

??
准备工作

iptables -F
service iptables save
sed -ri ‘/^SELINUX/cSELINUX=disabled‘ /etc/selinux/config
setenforce 0

??
服务器安装上安装需要的服务

yum -y install dhcp tftp-server vsftpd xinetd syslinux

???
dhcp配置

vim /etc/dhcp/dhcpd.conf

[[email protected] centos6.5]# cat /etc/dhcp/dhcpd.conf 
ddns-update-style   none;
#ignore client-updates;
authoritative;
#option domain-name "example.org";
#option domain-name-servers  8.8.8.8 , 202.96.128.166;
#default-lease-time 600;
#max-lease-time 7200;
log-facility local7;

subnet 192.168.42.0  netmask 255.255.255.0 {
        range 192.168.42.100  192.168.42.200;
        option domain-name-servers  202.96.128.166;
        option domain-name "class.com";
        option routers 192.168.42.2;
        option broadcast-address 192.168.42.255;
        default-lease-time 300;
        max-lease-time 7200;
        allow bootp;
        allow booting;
        next-server 192.168.42.16;               #tftp服务器地址
         filename "pxelinux.0";                         #启动引导文件
}

service dhcpd start
chkconfig dhcpd on

??
挂载系统镜像,通过ftp发布

mkdir /var/ftp/centos6.5
mount /dev/cdrom /var/ftp/centos6.5/

??
tftp配置

vim /etc/xinetd.d/tftp
disable= no

??
提供引导菜单所需的文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp -rf /var/ftp/centos6.5/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default

??
配置引导列表

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

default vesamenu.c32     #注意 vesamenu.c32是否存在tftpboot目录下
timeout 600
display boot.msg       #这个文件用来定义欢迎界面
prompt 1

label 1                                          #引导列表名称
   menu Install centos 6              #标签
   kernel  vmlinuz                          #内核文件
   append initrd=initrd.img ks=ftp://192.168.42.16/centos6-ks.cfg                   #initrd定义启动镜像文件

?
定义kickstart脚本,实现自动化安装

vim /var/ftp/centos6-ks.cfg

#定义安装类型
install
text
reboot
lang en_US.UTF-8
keyboard us
?
url --url="ftp://192.168.42.16/centos6.5"
rootpw --iscrypted     sdkfhiuqdsf14349#$%$%^451f1                * #root用户密码,此处需要填写MD5加密的密码字串*
firewall --disabled
#firewall --service=ssh
authconfig --useshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/ShangHai
bootloader --location=mbr --append="crashkernel=auto rhgb quiet"
zerombr

#分区
clearpart --all --initlabel
part /boot --fstype=ext4 --size=200
part swap --size=2048
part / --fstype=ext4 --grow --size=1      #这里大小等于1表示使用剩余所有内存

#安装软件包
%packages
@core
@base
wget
tree
psmisc
%end

#安装后操作
%post
rm -rf /etc/yum.repos.d/*
wget -q ftp://192.168.42.16/pub/centos6.5.repo -O /etc/yum.repos.d/centos6.5.repo
yum clean all
yum repolist
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
sed -i "s/ONBOOT.*$/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/rhgb //" /boot/grub/grub.conf
sed -i "s/HOSTNAME=.*$/HOSTNAME=centos6.5/" /etc/sysconfig/network
%end

启动服务

service vsftpd restart
service dhcpd restart
service xinetd restart

检查端口

[[email protected] /]# ss -ntulp | egrep ‘21|67|69‘
udp    UNCONN     0      0                      *:41869                 *:*      users:(("rpc.statd",1075,8))
udp    UNCONN     0      0                      *:67                    *:*      users:(("dhcpd",1850,7))
udp    UNCONN     0      0                      *:69                    *:*      users:(("xinetd",1785,5))
tcp    LISTEN     0      32                     *:21                    *:*      users:(("vsftpd",1831,3))

?
客户端测试,整个过程都是自动化安装,无需人为干预。
?
技术分享图片
技术分享图片
技术分享图片
完成。

以上是关于KickStart+PXE实现自动化部署安装的主要内容,如果未能解决你的问题,请参考以下文章

他们真的来了:PXE远程部署装机,进阶版kickstart无人值守装机(实验可跟做)

部署PXE高效批量网络装机并实现Kickstart无人值守自动安装

自动化部署操作系统-Kickstart+PXE自动部署

部署PXE远程安装服务实现Kickstart无人值守安装

PXE高效批量网络装机实现Kickstart无人值守安装

如何不费吹灰之力的装机?部署PXE实现Kickstart无人值守安装 — 装机界的最强王者