pxe+Kickstart无人值守化自动安装

1.简介

1.1 pxe简介

1.2 pxe的工作过程

1.3 Kickstart

2. 实验环境

3. Kickstart无人值守部署

3.1 配置DHCP服务

3.2 TFTP服务配置

3.3 准备引导相关的文件

3.4 HTTP服务配置(准备安装镜像)

3.5 创建ks.cfg应答文件

4. 测试 


想学学cobber,cobber是基于Kickstart的。所以就看了看kickstart的知识。

1.简介

1.1 pxe简介

PXE并不是一种安装方式,而是一种引导方式。进行PXE安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client。PXE协议使计算机可以通过网络启动。

协议分为Client和Server端。PXE Client在网卡的ROM中,当计算机引导时,BIOS把PXE Client调入内存执行,由PXE Client将放置在远端的文件通过网络下载到本地运行。

运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE Client(将要安装OS的主机)分配一个IP地址,由于是给PXE Client分配IP地址,所以在配置DHCP服务器时需要增加相应的PXE设置。

此外,在PXE Client的ROM中,已经存在了TFTP Client。PXE Client通过TFTP协议到TFTP Server上下载所需的文件。

1.2 pxe的工作过程

  • PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
  • DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;
  • PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;
  • PXE Client 取得pxelinux.0 文件后之执行该文件;
  • 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;
  • 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装。(本篇为HTTP)

1.3 Kickstart

KickStart是一种无人值守化自动安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序就会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数;当没有找到合适的参数,才需要安装者手工干预。

这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

pxe+kickstart无人值守化自动安装完整示意图如下:

2. 实验环境

实验环境:VMware Workstation 15

系统平台:CentOS 7.4(最小安装)

网络模式:NAT模式

DHCP/TFTP/HTTP IP:192.168.146.101

防火墙、Selinux均关闭

3. Kickstart无人值守部署

 

安装相关软件包

[root@CentOS7 ~]# yum -y install dhcp xinetd tftp-server syslinux system-config-kickstart httpd

3.1 配置DHCP服务

[root@CentOS7 ~]# vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
#指定引导文件
filename "pxelinux.0";
#指定引导文件服务器
next-server 192.168.146.101;
subnet 192.168.146.0 netmask 255.255.255.0 {
        option routers 192.168.146.2;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.146.2;
        range dynamic-bootp 192.168.146.140 192.168.146.200;
        default-lease-time 60;
        max-lease-time 7200;
}
#启动http服务
[root@CentOS7 ~]# systemctl restart dhcpd

3.2 TFTP服务配置

[root@CentOS7 ~]# vim /etc/xinetd.d/tftp

{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        #指定服务目录
        server_args             = -s /var/lib/tftpboot
        #服务开关(默认为yes,需改为no)
        disable                 = no           
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
#启动tftp服务
[root@CentOS7 ~]# systemctl restart tftp xinetd

3.3 准备引导相关的文件

#创建网络引导配置文件目录
[root@CentOS7 ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
#复制系统映像
[root@CentOS7 ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
#复制系统内核
[root@CentOS7 ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
#复制引导文件 
[root@CentOS7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#复制引导配置文件
[root@CentOS7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#变更配置文件权限
[root@CentOS7 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
#修改配置文件
[root@CentOS7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
#将64行改为
64   append initrd=initrd.img ks=http://192.168.146.101/ks.cfg

3.4 HTTP服务配置(准备安装镜像)

#创建挂载目录
[root@CentOS7 ~]# mkdir /var/www/html/CentOS7
#挂载系统镜像
[root@CentOS7 ~]# mount /dev/cdrom /var/www/html/CentOS7
#启动http服务
[root@CentOS7 ks]# systemctl restart httpd
#注意:需要修改default文件的ks文件路径
[root@CentOS7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
#将64行改为
64   append initrd=initrd.img ks=http://192.168.146.101/ks.cfg

3.5 创建ks.cfg应答文件

#创建KS应答文件到/var/www/html目录下
[root@CentOS7 ~]# vim /var/www/html/ks.cfg
 1 #platform=x86, AMD64, or Intel EM64T
 2 #version=DEVEL
 3 # Install OS instead of upgrade
 4 install
 5 # Keyboard layouts
 6 keyboard 'us'
 7 # Root password
 8 rootpw --iscrypted $1$lzi1yxOL$JIBTFLwje42.tI1JdYX.m0
 9 # Use network installation
 10 url --url="http://192.168.146.101/CentOS7"
 11 # System language
 12 lang zh_CN
 13 # System authorization information
 14 auth  --useshadow  --passalgo=sha512
 15 # Use text mode install
 16 text
 17 firstboot --disable
 18 # SELinux configuration
 19 selinux --disabled
 20
 21 # Firewall configuration
 22 firewall --disabled
 23 # Network information
 24 network  --bootproto=dhcp --device=ens33
 25 # Reboot after installation
 26 reboot
 27 # System timezone
 28 timezone Asia/Shanghai
 29 # System bootloader configuration
 30 bootloader --location=mbr
 31 # Clear the Master Boot Record
 32 zerombr
 33 # Partition clearing information
 34 clearpart --all --initlabel
 35 # Disk partitioning information
 36 part /boot --fstype="xfs" --size=200
 37 part swap --fstype="swap" --size=2048
 38 part / --fstype="xfs" --grow --size=1
 39
 40 %packages
 41 @base
 42
 43 %end

4. 测试 

CentOS7最小安装成功。

至此,pxe+kickstart无人值守化自动安装搭建完毕。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值