《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

时间:2022-04-29 03:20:14

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

文章最后会post上书本的笔记照片。

文章主要内容

无人值守系统

面对生产环境中数以百计的服务器需要安装系统,传统的使用光盘来为服务器逐个安装,效率未免太过低下。

使用PXE + TFTP +FTP + DHCP + Kickstart服务搭建出一个无人值守安装系统,可以自动地为数十台服务器安装系统,避免运维人员手动重复着枯燥乏味的工作,大大提升了系统安装的效率。

无人值守安装系统的工作流程:

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

PXE(Preboot eXecute Environment,预启动执行环境)可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统。

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

由于当前的客户端主机并没有完整的操作系统,无法完成FTP协议的验证,所以需要使用TFTP协议帮助客户端获取引导及驱动文件。vsftpd服务程序用于将完整的系统安装镜像通过网络传输给客户端(只要能将系统安装镜像成功传输给客户端即可,也可以使用httpd来替代vsftpd服务程序)。


部署相关服务程序

配置DHCP服务程序

DHCP服务程序用于为客户端主机分配可用的IP地址,而且是服务器与客户端主机进行文件传输的基础。

yum install -y dhcp
vim /etc/dhcp/dhcpd.conf
allow booting;
allow bootp; #允许了BOOTP引导程序协议,让局域网内暂时没有操作系统的主机也能获取静态IP地址
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 ;
max-lease-time ;
next-server 192.168.10.10;
filename "pxelinux.0"; #加载引导驱动文件pxelinux.0(此文件会在接下来的步骤中创建),让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步的安装过程
}
systemctl restart dhcpd
systemctl enable dhcpd

配置TFTP服务程序

vsftpd是一款功能丰富的文件传输服务程序,允许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。但是,当前的客户端主机还没有安装操作系统,无法进行登录认证。

TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。因此可以配置TFTP服务程序,为客户端主机提供引导及驱动文件。当客户端主机有了基本的驱动程序之后,再通过vsftpd服务程序将完整的光盘镜像文件传输过去。

yum install -y tftp-server
vim /etc/xinetd.d/tftp #TFTP的运行和关闭是由xinetd网络守护进程服务来管理的
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #开启TFTP服务程序
per_source =
cps =
flags = IPv4
}
systemctl restart xinetd #重启xinetd服务程序,并将其加入到开机启动项
systemctl enable xinetd
firewall-cmd --permanent --add-port=69/udp #TFTP服务程序默认使用的是UDP协议,占用的端口号为69,防火墙需要放行
firewall-cmd --reload

配置SYSLinux服务程序

SYSLinux是一个用于提供引导加载的服务程序。在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件。

yum install -y syslinux
cd /var/lib/tftpboot #进入TFTP服务程序的默认目录
cp /usr/share/syslinux/pxelinux.0 . #把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中(“.”代表当前所在路径)
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} . #在RHEL 7系统光盘镜像中也有一些我们需要调取的引导文件(光盘镜像已被挂载到/media/cdrom中)
cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
mkdir pxelinux.cfg #在TFTP服务程序的目录中新建pxelinux.cfg目录
cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default #将系统光盘中的开机选项菜单复制到该目录中,并命名为default(default文件就是开机时的选项菜单)
vim pxelinux.cfg/default #默认的开机菜单中有两个选项(安装系统/对安装介质进行检验)
default linux #default参数修改为linux,使得开机时默认执行安装系统选项
...
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet #将默认的光盘镜像安装方式修改成FTP文件传输方式,并指定好光盘镜像的获取网址以及Kickstart应答文件(ks)的获取路径
...

配置VSFtpd服务程序

在无人值守安装系统的服务中,光盘镜像是通过FTP协议传输的,因此势必要用到vsftpd服务程序(也可以使用httpd服务程序来提供Web网站访问的方式,只要能确保将光盘镜像顺利传输给客户端主机即可)。如果打算使用Web网站服务来提供光盘镜像,一定记得将上面配置文件中的光盘镜像获取网址和Kickstart应答文件获取网址修改一下。

yum install -y vsftpd
systemctl restart vsftpd #重启服务并加入开机启动项
systemctl enable vsftpd
cp -r /media/cdrom/* /var/ftp #把目录中的光盘镜像文件全部复制到vsftpd服务程序的工作目录/var/ftp中
firewall-cmd --permanent --add-service=ftp #在firewall防火墙中放行ftp协议
firewall-cmd --reload
setsebool -P ftpd_connect_all_unreserved=on #在SELinux中放行FTP传输

创建KickStart应答文件

无人值守安装系统服务还需要让客户端主机能够一边获取光盘镜像,还能够一边自动填写好安装过程中出现的选项。彻底解放人的干预,彻底实现无人值守自动安装系统,而不是单纯地传输系统光盘镜像。

Kickstart并不是一个服务程序,而是一个应答文件。Kickstart应答文件中包含了系统安装过程中需要使用的选项和参数信息,系统可以自动调取这个应答文件的内容,从而彻底实现了无人值守安装系统。

在root管理员的家目录中有一个名为anaconda-ks.cfg的文件,它就是应答文件。

cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg    #将anaconda-ks.cfg文件复制到vsftpd服务程序的工作目录中(在开机选项菜单的配置文件中已经定义了该文件的获取路径,也就是vsftpd服务程序数据目录中的pub子目录中)
chmod +r /var/ftp/pub/ks.cfg #复制过来的文件赋予所有人都可读的权限
vim /var/ftp/pub/ks.cfg #编辑Kickstart应答文件
...
url --url=ftp://192.168.10.10 #把光盘镜像安装方式修改成FTP协议,填写好FTP服务器的IP地址
...
timezone Asia/Shanghai --isUtc #时区修改成上海(Asia/Shanghai)
...
clearpart --all --initlabel #磁盘选项设置为清空所有磁盘内容并初始化磁盘
...

至此,PXE + TFTP +FTP + DHCP + Kickstart服务组成的无人值守安装系统搭建完成。


自动部署客户机

对于虚拟机,没有特别的要求,只要选择稍后安装操作系统,网卡选择与服务端一致的仅主机模式,启动主机即可开始传输光盘镜像文件并进行自动安装。

在生产环境中,大家只需要将配置妥当的服务器上架,接通服务器和客户端主机之间的网线,然后启动客户端主机即可。


书本笔记

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务的更多相关文章

  1. Linux基础学习-使用PXE+Kickstart无人值守安装服务

    无人值守安装系统 PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技 ...

  2. 《Linux就该这么学》培训笔记_ch16_使用Squid部署代理缓存服务

    <Linux就该这么学>培训笔记_ch16_使用Squid部署代理缓存服务 文章最后会post上书本的笔记照片. 文章主要内容: 代理缓存服务 配置Squid服务程序 正向代理 标准正向代 ...

  3. Linux安装-kickstart无人值守安装

    Linux安装-kickstart无人值守安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家做运维估计都避免不了时不时会去机房安装一台linux服务器,但是服务器启动的特别慢 ...

  4. Linux系统下手把手完成无人值守安装服务

    刚入职的运维新手经常会被要求去做一些安装操作系统的工作,如果按照用镜像光盘安装操作系统,效率会相当低下.那么如何提升效率,搭建出一套可以批量安装Linux系统的无人值守的安装系统? PXE+TFTP+ ...

  5. 【Linux】使用 PXE&plus;Kickstart 无人值守批量安装系统

    一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...

  6. pxe&plus;kickstart无人值守批量安装linux

    一.原理和概念: 1.PXE:         PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  7. linux部署pxe&plus;kickstart批量安装linux操作系统

    环境 系统 centos6.6 无图形界面 ip 192.168.2.1 系统 centos7.2 有图形界面 以下命令在centos6.6上执行 1. yum -y install dhcp* tf ...

  8. linux系统PXE&plus;Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  9. centos7&sol;rhel7下配置PXE&plus;Kickstart自动安装linux系统

    应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...

随机推荐

  1. Android文件下载之进度检测

    近期因为项目的需要,研究了一下Android文件下载进度显示的功能实现,接下来就和大家一起分享学习一下,希望对广大初学者有帮助. 先上效果图: 上方的蓝色进度条,会根据文件下载量的百分比进行加载,中部 ...

  2. Maven依赖版本冲突的分析及解决小结

    1:前言 做软件开发这几年遇到了许多的问题,也总结了一些问题的解决之道,之后慢慢的再遇到的都是一些重复性的问题了,当然,还有一些自己没有完全弄明白的问题.如果做的事情是重复的,遇到重复性问题的概率也就 ...

  3. RPC 框架通信原理

    RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据: ...

  4. 在項目中快速部署SLF4J&plus;LOGBACK

    想了解SLF4J,LOGBACK是什么?可以访问:http://www.slf4j.org/    http://logback.qos.ch/ 本文大部分参考了Cody Burleson<Ho ...

  5. 关于两个php&period;ini的说明

    关于两个php.ini的说明     Apache 和 php下各有一个php,ini文件 D:\wamp\bin\apache\apache2.4.9\bin\php.ini用于web访问时的配置文 ...

  6. 怎么用EDIUS实现跟踪马赛克效果

    我们经常会在一些新闻的视频中看到一些马赛克,这些马赛克一般都是保护人物的隐私权,肖像权什么的.我们时常也会看到即使人物位置发生了变化,被遮挡的地方依旧还是被遮挡住,一点也不用担心因为人物运动而使马赛克 ...

  7. 最长不下降子序列&sol;&sol;序列dp

    最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 最长不下降 ...

  8. Php 输出语句

    输出语句 echo 示例: print(); 示例: 只能输出标量数据类型,无法输出布尔false print_r(); print_r可以以比较容易理解的方式显示数据 示例: var_dump(); ...

  9. dp和px,那些不得不吐槽的故事——Android平台图

    http://blog.sina.com.cn/s/blog_6499f8f101014ipq.html 一个优秀的手机软件,不仅要有精巧的功能,流畅的速度,让人赏心悦目的UI也往往是用户选择的重要理 ...

  10. 虚拟代理模式-Virtual Proxy&lpar;Java实现&rpar;

    虚拟代理模式-Virtual Proxy 虚拟代理模式(Virtual PRoxy)会推迟真正所需对象实例化时间. 在需要真正的对象工作之前, 如果代理对象能够处理, 那么暂时不需要真正对象来出手. ...