章节概述:

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

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

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服务程序:

[root@linuxprobe ~]# 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服务章节):

[root@linuxprobe ~]# 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服务允许的规则:

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

安装tftp服务程序:

[root@linuxprobe ~]# 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服务程序:

[root@linuxprobe ~.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服务并添加到开机启动项中:

[root@linuxprobe xinetd.d]# systemctl restart xinetd
[root@linuxprobe xinetd.d]# systemctl enable xinetd

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

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

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

[root@linuxprobe ~]# 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):

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

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

[root@linuxprobe tftpboot]# mkdir pxelinux.cfg
[root@linuxprobe 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服务程序:

[root@linuxprobe ~]# 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服务允许的规则:

[root@linuxprobe ~]# firewall-cmd --permanent --add-service=ftp
success
[root@linuxprobe ~]# firewall-cmd --reload
success

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

[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

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

[root@linuxprobe ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.4 创建KickStart应答文件

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

[root@linuxprobe ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@linuxprobe ~]# chmod +r /var/ftp/pub/ks.cfg

编辑模板文件:

[root@linuxprobe ~]# 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分钟后系统已经顺利的安装完毕:

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

  1. Linux服务器pxe+kickstart部署无人值守安装

    一.    使用光盘镜像安装好一台Redhat6.8系统的虚拟机(图形化界面) 二.    部署相关服务程序 1.     安装并配置dhcpd服务程序 a)安装dhcp服务程序 b)对dhcp服务进 ...

  2. pxe+kickstart实现无人值守批量安装linux

    pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端:      ...

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

    一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需 ...

  4. pxe+kickstart cobbler无人值守装机

    环境准备: 一台服务器 [root@admin tftpboot]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [roo ...

  5. pxe+kickstart部署多个版本的Linux操作系统(上)---原理篇

    PXE概述: 1.PXE(Pre-bootExecution Environment),预启动执行环境2.通过网络接口启动计算机3.支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系 ...

  6. 基于PXE的Centos无人值守安装(Win平台)

    一.环境准备 PXE服务器端 1.工具 tftpd32 (下载)用于提供DHCP和ftp服务 hfs   (下载)     用于提供安装软件的http方式下载 Kickstart           ...

  7. pxe+kickstart自动化批量安装系统详解-技术流ken

    前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...

  8. 使用kickstart + pxe 部署无人值守安装

    1.作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的安装系统方法: 光盘安装系统:一个服务器DVD内置光驱百 ...

  9. Ubuntu 16.04 PXE+kickstart部署系统

    #PXE+TFTP+Kickstart 自动部署服务器系统系统Ubuntu16.04apt-get install isc-dhcp-servervim /etc/default/isc-dhcp-s ...

随机推荐

  1. [转载]使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理

    转载,原文来自 http://blog.csdn.net/hawksoft/article/details/21776009 最近调试原来的微信模拟登陆时发生了“基础连接已关闭,发送时发生错误”的错误 ...

  2. WCF入门(7)

    前言 前段时间忙着驾照科目二的考试,都没有机会碰自己的电脑.说起来也是第一次参加这么没信心的考试,不过好在过了. 再打个广告吧,昨天终于把下载的WCF视频全部传到了QQ群共享里面,群号37819043 ...

  3. c# 关于浅拷贝和深拷贝

    class Program { static void Main(string[] args) { //浅拷贝 Person p1 = new Person(); p1.Name = "张三 ...

  4. 坑爹的BFC;块格式上下文

    Formatting context(FC) Formatting context 是 W3C CSS2.1 规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位 ...

  5. 扩展KMP

    刘雅琼论文 http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 论文讲的非常详细. 给定母串S,子串T,n=strlen(S),m=st ...

  6. HP 电脑装 纯净版的win7

    新买的 HP 电脑,自带 Win10 的操作系统,今天把它改成 装win7 系统 在安装的过程中遇到的问题 1.数字证书错误.您安装的操作系统来源不明之类的错误,具体没有记下来 2.磁盘的格式不是NT ...

  7. 【HDU 2604】Queuing

    题 题意 f和m两种字母组成字符串,fmf 和 fff 这种为不安全的字符串,现在有2*L个字母,问你有多少安全的字符串.答案mod M. 分析 递推,这题本意是要用矩阵快速幂.不过我发现这题好神奇, ...

  8. 【CodeForces 472A】Design Tutorial: Learn from Math

    题 题意:给你一个大于等于12的数,要你用两个合数表示出来.//合数指自然数中除了能被1和本身整除外,还能被其他的数整除(不包括0)的数. 分析:我们知道偶数除了2都是合数,给你一个偶数,你减去一个偶 ...

  9. 【poj1067】 取石子游戏

    http://poj.org/problem?id=1067 (题目链接) 题意 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走 ...

  10. BZOJ4590 自动刷题机

    Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动 刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写 ...