第19章 使用PXE+Kickstart部署无人值守安装

章节概述:

本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统。

这种系统能够实现自动化运维、避免了重复性劳动,帮助提升工作效率,对于运维人员真的是太有帮助了。

本章目录结构

  • 19.1 无人值守系统
  • 19.2 部署相关服务程序
    • 19.2.1 配置DHCP服务程序
    • 19.2.2 配置TFTP服务程序
    • 19.2.3 配置SYSLinux服务程序
    • 19.2.4 配置VSFtpd服务程序
    • 19.2.4 创建KickStart应答文件
  • 19.3 自动部署客户机
19.1 无人值守系统

坦白来讲,使用光盘或U盘这种传统物理方式安装系统效率真的很低,尤其当需要批量部署系统时更是明显。

一般的机房设备都会在数百台以上,即便购买了数百张系统光盘,那您也必需对每台设备初始化安装向导,免不了会有选错的参数,更何况如此多的设备没有几天肯定装不完吧。

其实我们可以用PXE+DHCP+TFTP+VSftpd+Kickstart部署出无人值守安装系统,这种系统能够实现自动化运维、避免了重复性劳动,帮助提升工作效率,对于DHCP已经是咱们学习过的了,所以这里就不再多说,小伙伴们如果忘记了可以翻去前面章节复习下。

PXE(Preboot execute environment)是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用。

Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。

简单文件传输协议TFTP(Trivial File Transfer Protocol)是一种基于UDP协议的传输协议,其与前面学习的vsftpd服务程序的FTP协议有很大不同,TFTP协议不具备FTP的许多功能(例如列出目录,密码认证等等),但TFTP协议配置非常简单,而且资源消耗更低,非常适合传输不敏感的文件。
出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

19.2 部署相关服务程序

咱们需要依次部署DHCP、TFTP、SYSLinux、VSFtpd与Kickstart服务,在这之前请先准备两台虚拟机并配置好网卡参数:

编辑
主机名称 操作系统 IP地址
无人值守系统 红帽RHEL7操作系统 192.168.10.10
客户端 未安装操作系统 -

并确保您的虚拟机软件自带DHCP服务功能已经关闭:

19.2.1 配置DHCP服务程序

安装dhcpd服务程序:

[[email protected] ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 dhcp          x86_64          12:4.2.5-27.el7             rhel7          506 k
………………省略部分安装过程………………
Complete!

配置dhcpd服务程序(将下面的内容复制进去即可,具体参数含义请回顾dhcpd服务章节):

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        option subnet-mask      255.255.255.0;
        option domain-name-servers  192.168.10.10;
        range dynamic-bootp 192.168.10.100 192.168.10.200;
        default-lease-time      21600;
        max-lease-time          43200;
        next-server             192.168.10.10;
        filename                "pxelinux.0";
}

重启dhcpd服务并添加到开机启动项:

[root@linuxprobe ~]# systemctl restart dhcpd
[root@linuxprobe ~]# systemctl enable dhcpd
ln -s ‘/usr/lib/systemd/system/dhcpd.service‘ ‘/etc/systemd/system/multi-user.target.wants/dhcpd.service‘

添加防火墙对dhcpd服务允许的规则:

[[email protected] ~]# firewall-cmd --permanent --add-service=dhcp
success
[[email protected] ~]# firewall-cmd --reload
success
19.2.2 配置TFTP服务程序

安装tftp服务程序:

[[email protected] ~]# yum install tftp-server
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 tftp-server       x86_64              5.2-11.el7                rhel7            44 k
Installing for dependencies:
 xinetd            x86_64              2:2.3.15-12.el7           rhel7            128 k
………………省略部分安装过程………………
Complete!

分析vsftpd服务程序时发现,FTP服务器为了随时能够回应客户端的请求必需运行一个长期驻扎在系统中的守护进程,但这样也意味着会有一定的资源浪费,网络守护进程服务程序xinetd便是为了解决资源浪费问题而设计的,因为xinetd服务程序会同时监听多个系统端口,依据客户端请求的端口再转发给指定的服务程序,而tftp便是由xinetd服务程序来管理的。
编辑xinetd配置文件,启动TFTP服务程序:

[[email protected] ~.d]# vim /etc/xinetd.d/tftp
//将disable的值修改为no。
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

重启xinetd服务并添加到开机启动项中:

[[email protected] xinetd.d]# systemctl restart xinetd
[[email protected] xinetd.d]# systemctl enable xinetd

添加防火墙对tftp服务允许的规则:

[[email protected] ~]# firewall-cmd --permanent --add-port=69/udp
success
[[email protected] ~]# firewall-cmd --reload
success
19.2.3 配置SYSLinux服务程序

syslinux是用于提供引导加载的服务程序,目的是简化安装Linux系统的时间,安装syslinux服务程序:

[[email protected] ~]# yum install syslinux
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 syslinux             x86_64             4.05-8.el7               rhel7             1.0 M
………………省略部分安装过程………………
Complete!

将引导相关文件复制到tftp目录以供客户端下载(请确保光盘镜像已挂载到/media/cdrom):

[[email protected] ~]# cd /var/lib/tftpboot
[[email protected] tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[[email protected] tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
[[email protected] tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

将引导模板文件复制tftp目录:

[[email protected] tftpboot]# mkdir pxelinux.cfg
[[email protected] tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

编辑引导模板文件:

[root@linuxprobe tftpboot]# vim pxelinux.cfg/default
//将第1行修改为:
default linux
//将第64行修改为:
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
//将第70行修改为:
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 rd.live.check ks=ftp://192.168.10.10/pub/ks.cfg quiet

19.2.4 配置VSFtpd服务程序

安装vsftpd服务程序:

[[email protected] ~]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 vsftpd                 x86_64                 3.0.2-9.el7                  rhel7                 166 k
………………省略部分安装过程………………
Complete!

重启vsftpd服务程序并添加到开机启动项:

[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s ‘/usr/lib/systemd/system/vsftpd.service‘ ‘/etc/systemd/system/multi-user.target.wants/vsftpd.service‘

添加防火墙对vsftpd服务允许的规则:

[[email protected] ~]# firewall-cmd --permanent --add-service=ftp
success
[[email protected] ~]# firewall-cmd --reload
success

将光盘镜像文件的内容复制到FTP目录中(请先确保您的光盘已经挂载到/media/cdrom目录):

[[email protected] ~]# cp -r /media/cdrom/* /var/ftp

设置SELinux对于FTP协议的允许策略:

[[email protected] ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.4 创建KickStart应答文件

复制一份应答文件模板并给于权限:

[[email protected] ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[[email protected] ~]# chmod +r /var/ftp/pub/ks.cfg

编辑模板文件:

[[email protected] ~]# vim /var/ftp/pub/ks.cfg
//将第6行的cdrom修改为:
 url --url=ftp://192.168.10.10
//将第21行的时区修改为:
 timezone Asia/Shanghai --isUtc
//将第28行修改为:
 clearpart --all --initlabel

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

19.3 自动部署客户机

当我们部署好了无人值守系统后,就可以新增一台虚拟机来验证啦:

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

  • 第1步:运行新建虚拟机向导。

  • 第2步:创建一个空白硬盘。

  • 第3步:选择虚拟机系统。

  • 第4步:填写系统名称与虚拟机保存路径。

  • 第5步:创建硬盘设备(默认大小即可)。

  • 第6步:选择自定义硬件,将网卡的类型修改为与无人值守系统一致(此步骤省略)。

当开启客户端虚拟机电源后,会自动化的进行部署系统:

耐心的等待安装中:

大约20分钟后系统已经顺利的安装完毕:

时间: 2024-11-08 19:21:51

第19章 使用PXE+Kickstart部署无人值守安装的相关文章

使用PXE+kickstart部署无人值守安装

实验是在虚拟机上实现,在真实的生产环境下的无人值守安装,需要根据具体情况自行进行调整. 实验前,已经预装了一台CentOS6.5 32位的虚拟机,使用的是NAT模式,IP地址为192.168.206.131,网关是192.168.206.2. 我们要在无人值守安装服务端实现如下配置: tftp服务器:192.168.206.131 nfs服务器:192.168.206.131 dhcp服务器:192.168.206.131 先将软件进行安装: yum install -y tftp tftp-s

linux之PXE+kickstart实现无人值守安装

  PXE方式安装linux系统 1.PXE简介: PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务

DHCP+TFTP+pxe+Kickstart实现无人值守自动装系统

 已经提前配置好YUM 一.需检查iptableis是否关闭 二.安装DHCP服务并修改配置 三.安装tftp并修改其配置 四.配置PXE相关文件 五.使用system-config-kickstart生成自动装机配置文件,我这里是基于http实现的 六.修改/var/lib/tftpboot/pxelinux.cfg/default文件 七.把镜像放到http目录下 八.装机测试 OK DHCP+TFTP+pxe+Kickstart实现无人值守自动装系统

Pxe+Kickstart 无人职守安装

一.Pxe+ Dhcp + Tftp + Apache + Kickstart 简介. 1.)PXE: 可以提供网络接口的中间层,负责串联起tftp,dhcp,httpd,.Pex不依赖磁盘,而是通过网络找到tftp引导内核装载,找到httpd根据Kickstart配置文件内找到对应的软件包,并且为客户机通过dhcp动态分配IP地址. 2.)DHCP: UDP协议,67端口,通过配置地址池为客户机自动分配IP地址,通过租约来控制IP地址合理使用. 3.)TFTP: UDP协议,69端口,一种小型

自建DHCP TFTP服务 用PXE启动实现无人值守安装Centos6

1.安装DHCP TFTP yum -y install dhcp tftp-server tftp 2.配置DHCP文件 cat > /etc/dhcp/dhcpd.conf << EOF # option domain-name "dwhd.org"; #设置DHCP的DNS option domain-name-servers 172.16.0.1,114.114.114.114; #设置DHCP 分配出去的IP超时时间 单位秒 default-lease-ti

使用 PXE+Kickstart 实现无人值守批量部署系统

一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需要实现无人值守批量部署系统. 简单看一下拓扑图: 1. 什么是PXE? 简单来说:PXE主要是引导作用,具体的详细信息这里就不多说了,详情百度即可. PXE引导流程: 2. 什么是Kickstart? 简单两句就是:Kickstart是一种无人值守的安装方式.它的工作原理是在安装过程中记录典型的需要

PXE结合Kickstart实现无人值守安装CentOS6.5

简介 PXE:Pre-boot execution Environment,预启动执行环境,是由Inte公司开发的网络引导技术,工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统 安装条件 1.客户机的网卡支持PXE协议(集成 BOOTROM芯片),且主板支持网络引导.目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可2.网络中有一台DHCP服务器以便为客户机自动分配地址.指定引

pxe+kickstart cobbler无人值守装机

环境准备: 一台服务器 [[email protected] tftpboot]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] tftpboot]# uname -a Linux admin 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [[email

PXE+kickstart实现自动安装centOS6.5

关于PXE pxe工作于Client/Server的网络模式,客户端在本地没有操作系统的情况下,能够通过网络从服务器端下载到镜像文件和kickstart文件,并基于kickstart文件自动完成系统安装.在为多台服务器部署环境时,通过这种方式批量安装操作系统,大大减少了工作量. PXE依赖的服务: 1)dhcp:为客户端动态分配IP地址.子网掩码.网关.DNS地址等网络属性: 2)tftp:为客户端提供安装需要的引导程序,内核,ramdisk等文件: 3)http:提供kickstart文件及安