PXE实现无人值守批量安装服务器
今天我们使用PXE+Kickstart+TFTP+DHCP+FTP实现无人值守安装服务器。
一、无人值守所需服务介绍:
1)PXE
- PXE,远程引导技术
- 功能:使计算机通过网络启动
- 硬件要求:客户端的网卡必须支持PXE
2)Kickstart
- Kickstart,一种无人值守自动部署安装操作系统的方式
- 核心技术:自动应答文件
- 功能:系统通过执行
自动应答文件
中的内容进行自动安装系统
3)TFTP
- TFTP,用于服务器之间进行简单文件传输的协议
- 端口号:69
- 默认共享路径:
/var/lib/tftpboot/
- 本次实验作用:共享PXE相关文件,比如:系统引导文件(客户端通过TFTP取这些文件)
4)DHCP
给客户机分配IP地址
5)FTP
- FTP,文件传输协议
- 默认共享路径:
/var/ftp/
- 本次实验作用:共享ISO镜像文件及Kickstart自动应答文件
6)运行流程图
(初学者可能目前不太理解这个图,没关系咱继续往下看。随着后续的学习您会理解以下流程图的)
二、实验介绍
本次实验采用all-in-one模式,即 我们将FTP、DHCP、TFTP服务全部署在一台服务器上。
1)服务器介绍:
- qll251,CentOS7系统双网卡,
192.168.1.251 和 192.168.2.251
(2.251属于LAN1 用于PXE网络) - qll252,CenOS7系统,
网卡选择LAN1
2)实验要求
- 关闭服务器防火墙及禁用selinux
- 服务器能使用
yum
安装软件,本地yum源或网络yum源均可
三、开始部署环境
1)部署FTP服务
[root@qll251 ~]# yum -y install vsftpd #安装ftp服务
[root@qll251 ~]# systemctl start vsftpd #启动ftp服务
[root@qll251 ~]# systemctl enable vsftpd #设置ftp服务开机自启动
## 到此,ftp部署已完成。共享路径:/var/ftp
2)部署DHCP服务
- 安装dhcp服务
[root@qll251 ~]# yum -y install dhcp
- 修改dhcpd.conf配置文件
[root@qll251 ~]# vim /etc/dhcp/dhcpd.conf
- 启动dhcp服务并设置开机自启动
[root@qll251 ~]# systemctl start dhcpd
[root@qll251 ~]# systemctl enable dhcpd
3)部署tftp-server服务
- 安装tftp-server所需服务
[root@qll251 ~]# yum -y install tftp-server
[root@qll251 ~]# yum -y install xinetd #Xinetd管理tftp工作
- 修改TFTP服务的配置文件
- 启动tftp服务,并设置开机自启动
[root@qll251 ~]# systemctl start tftp && systemctl enable tftp
[root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd
4)制作kickstart自动应答文件
- 安装kickstart
[root@qll251 ~]# yum -y install system-config-kickstart
- 在终端上执行
system-config-kickstart
注意:如果用终端软件比如MobaXerm,执行上面命令无法弹出选择框,需要您安装gdm
yum -y install gdm
(您直接在带有图形化界面的机器上执行命令也是一样的)
- 进入kickstart配置向导,先完成“基本配置”
- 选择安装方法
5. 进行分区
6. 网络配置、验证、防火墙配置、显示配置。您按需选择就行。我就不在此演示了
7. 软件包选择
8. 设置安装后的脚本(可选项)
9. 保存自动应答文件
到目前为止,FTP,DHCP,TFTP服务及kickstart应答文件都已准备完毕。接下来我们配置PXE启动所需的相关文件
四、准备PXE启动所需的文件
先挂载我们所需的光盘镜像
[root@qll251 ~]# mount /dev/sr0 /media #系统镜像挂载至/media
1)ftp需要共享出去的文件
共享目录:/var/ftp;需要共享两个
- /var/ftp/ks.cfg (制作应答文件时,已保存该文件)
- 光盘启动镜像
#我们在制作自动应答文件的第四步中指定光盘文件目录是:/var/ftp/pub
[root@qll251 ~]# cp -r /media/* /var/ftp/pub
2)tftp需要共享出去的文件
[root@qll251 ~]# yum -y install syslinux
[root@qll251 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝的第一个文件
[root@qll251 ~]# cp /media/images/pxeboot/initrd.img /var/lib/tftpboot/ #拷贝的第二个文件
[root@qll251 ~]# cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot/ #拷贝的第三个文件
[root@qll251 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@qll251 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷贝的第四个文件,拷贝时,命令为default
[root@qll251 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #设置default文件权限:644
tftp共享目录:/var/lib/tftpboot;需要共享4个文件
- pxelinux.0 #网络装机需要用到pxelinux.0;由yum install syslinux获得的
- initrd.img:#其实就是ramdisk的映像文件(内存模拟磁盘)。举个例子:主机系统坏掉了,我们使用win pe启动,你会发现主机就算没有硬盘也能正常运行
- vmlinuz:包含一个最小功能的内核,通常先执行vmlinuz,之后加载initrd.img文件,最后加载根分区。
- isolinux.cfg重命名为default
3)修改default配置文件
[root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
1 default linux #将第一行的 default改成default linux
61 label linux
62 menu label ^Install CentOS 7
63 kernel vmlinuz
64 append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg
##指定安装程序通过FTP服务访问系统镜像及ks.cfg应答文件
五、执行批量安装服务器
1)客户机的BIOS启动顺序调整为网络优先。或者开机Log界面按F12选择从网络启动
2)开始无人值守安装
以下步骤全部为系统自动执行,无需人为干预,只需等待安装完成即可
我们看下它都自动执行了哪些操作
最后我们通过预定义的root密码登录,可以看到事先写的测试脚本“hello world”已生效。系统分配的IP是192.168.2.3
好了,以上便是今天分享的批量安装服务器的内容。
更多IT技术,请微信搜索公众号秦露露
或者扫描下方二维码关注
PXE实现无人值守批量安装服务器的更多相关文章
- 【Linux】使用 PXE+Kickstart 无人值守批量安装系统
一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...
- pxe+kickstart无人值守批量安装linux
一.原理和概念: 1.PXE: PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...
- pxe+kickstart实现无人值守批量安装linux
pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端: ...
- (转)Cobbler无人值守批量安装Linux系统
本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...
- kvm cobbler无人值守批量安装操作系统
kvm cobbler无人值守批量安装操作系统 cobbler:一个自动网络安装系统的工具,集成PEX.dhcp.dns.tftpd.sync等服务.可以供大家管理安装操作系统 kvm:Linux系统 ...
- pxe+kickstart自动化批量安装系统详解-技术流ken
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
- cobbler无人值守批量安装Linux系统
本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...
- 利用cobbler无人值守批量安装centos
准备: 至少两台机器,分别用作cobbler的服务端和安装测试端 准备一个iso的安装文件,最好是4G多的那个dvd包,以前用网易源上那个centos 6.4 x86_64 通过xen安装时就报错:N ...
- PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
随机推荐
- 面试问题之C++语言:mutable关键字
转载于:https://www.cnblogs.com/xkfz007/articles/2419540.html mutable关键字 mutable的中文意思是"可变的,易变的" ...
- Linux常用命令-学习笔记
Linux命令格式: 命令 [命令参数] [命令对象] # 命令之间的参数和对象用单个空格进行分割 # "[]"代表可选,{}代表必选其中的一项,|代表或者的关系,<> ...
- Spring 切面可以应用五种类型的通知?
Spring 切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用. after: 在方法执行之后调用的通知,无论方法执行是否成功. after-returning: 仅当方法 ...
- 你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条 件可能还没有满足,所以在处理前,循环检测条件是否满足会更好.下面是一段 标准的使用 wait 和 notify 方法 ...
- 学习Apache(二)
反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...
- Heartbeat+DRBD+NFS
添加路由心跳线 master: # route add -host 10.20.23.111 dev eth2 # echo "/sbin/route add -host 10.20.23. ...
- npm run start 后台运行
yum provides */nohup nohup npm start & 原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用. 停止程序 ps -ef ...
- 聊一聊Java8 Optional,让你的代码更加优雅
码农在囧途 随着时间的推移,曾经我们觉得重要的东西,可能在今天看来是如此的浅薄和无知,同理,今天我们放不下,想不开,觉得重要的东西,多年后我们可能也会觉得也就那样,所以,今天的的所有烦恼,忧愁,想不开 ...
- Python模块导入方式
import导入方式 from...import导入方式 from...import... 导入模块相当于在此文件中写了所导入函数名(对比c/c++中的.h文件来理解),所以在之后使用导入的函数直接 ...
- 干货,看微信小程序后台用户数据如何演变和递增
这几天发现附近小程序又多了好几家,其中有普通小程序和门店小程序,把它们做一个对比,门店小程序更多的像一张名片,只有基本的企业名称.地址.营业时间.电话和门店照片,和普通小程序相比显得逊色许多.楼下的水 ...