linux之PXE架构无人值守安装
Posted 浅唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之PXE架构无人值守安装相关的知识,希望对你有一定的参考价值。
PXE架构 无人值守安装
1.TFTP简介
1.)概述 简单的文件传输协议 端口
简单文件传输协议(Trivial File Transfer Protocol)
网络文件基于UDP传输的最简单的协议 端口为UDP 69
数据库端口 端口3306
DNS 端口53
DHCP 端口 服务端67 客户端68
FTP 端口 21 20端口不确定
samba 端口 137 138 139 445
ssh 端口 22
2.)特点
1.同样属于C/S架构:客户端程序tftp,服务端程序tftp-server,基于守护进程xinetd来运行。
2.xinetd配置文件:/etc/xinetd.d/tftp
tftp服务端提供客户端文件访问根目录:/var/lib/tftpboot
这个目录是客户端可以下载访问的
TFTP部署 安装tftp-server 和xinetd服务 修改配置,并启动服务
TFFP服务
1.安装 yum -y install tftp-server xinetd
xinetd配置文件:/etc/xinetd.d/tftp
Tftp服务交给 xinerd管理
这些都是 xinetd管理的服务
2.修改配置并启动命令 vi /etc/xinetd.d/tftp
修改为: wait = no (等待) disable = no (使不能)
systemctl start xinetd
systemctl start tftp.socket ---启动服务
netstat -antulp |grep :69 --查看端口
PXE网络启动
1.PXE概述 依赖的软件DHCP VSFTP
PXE:preboot execute environment(预引导启动环境)
1.由Intel公司开发的网络引导技术,工作于C/S架构,基于网络引导启动客户端操作系统的安装。
允许客户端通过网络从远程服务器下载引导镜像,并加载安装整个文件或整个操作系统。
2.依赖dhcp,tftp,file server(vsftpd,httpd,nfs等),客户端主机网卡也需支持BOOTROOM芯片,支持PXE相关协议。
dhcp分配IP地址及指定引导文件位置。
tftp提供引导镜像文件的下载
file server提供操作系统安装包的下载,将光盘的内容复制到file server中,如vsftpd。
3.网络引导Linux的相关软件由syslinux提供,安装syslinux程序
yum install syslinux -y
2.优点:
PXE这种安装系统的方式可以不受光驱,光盘以及一些外部设备的限制,还可以做到无人值守,
大大减轻了运维人员的工作负荷,像在一些主机数量庞大的机房进行批量安装,PXE是不二的选择。
3.工作过程示意图
名词解释
pxelinux.0 :pxe引导程序(由syslinux程序提供)
pxelinux.cfg/default :系统启动时的启动菜单,指出要加载的内核镜像和inird 镜像,然后引导。
vmlinuz :Linux内核
initrd.img :初始化镜像文件,存放了引导时的一些驱动程序 解压
tftp服务端 ,默认提供请求的文件目录/var/lib/tftpboot内。
syslinux程序的相关文件目录:/usr/share/syslinux之中。
4.工作过程文本解释:
工作站开机后, PXE BootROM(自启动芯片) 获得控制权之前先做自我测试,然后以广播形式发出一个请求 FIND 帧。如果服务器收到工作站所送出的要求, 就会送回 DHCP 回应, 内容包括分配的 IP 地址,及pxe引导程序名称,以及下载的地址。 否则, 服务器会忽略这个要求。
工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需的文件。 之后,将有更多的讯息在工作站与服务器之间作应答, 用以决定启动参数。
BootROM 由 TFTP 通讯协议从服务器下载开机映像, 这个映像就是系统的映象文件。工作站使用 TFTP 协议接收启动文件后,将控制权转交启动引导程序,引导操作系统,完成远程启动
4.PXE架构 安装xinetd DHCP vsftpd程序
首先安装基于UDP协议的TFTP服务端,来进行后期的简单文件的网络传输。
服务器通过 TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载
1.安装xinetd程序,为tftp服务提供支持,并进行配置
yum –y install xinetd
yum -y install tftp-server --前面已安装过了
vim /etc/xinetd.d/tftp ---编辑配置文件
修改为: wait = no (等待) disable = no (使不能)
启动tftp服务
systemctl start xinetd
systemctl start tftp.socket ---启动服务
2.在tftp根路径导入需要提供给工作站的引导文件和内核文件 进入目录查看权限 改为644
cd /media/cdiso/isolinux/
移动这三项到 /var/lib/tftpboot
cp initrd.img vmlinuz isolinux.cfg /var/lib/tftpboot/
vmlinuz :Linux内核
initrd.img 镜像文件系统
isolinux.cf 启动菜单
cd /var/lib/tftpboot
查看权限 如果不是644则改为644权限 chmod 644 isolinux.cf
##
对比镜像中 initrd.img vmlinuz 文件内容的区别
cd /media/cdiso/images/pxeboot -- 进入这个挂载
ls -lh initrd.img vmlinuz /media/cdiso/isolinux/initrd.img /media/cdiso/isolinux/vmlinuz
安装syslinux 在tftp根路径导入 提供给客户端的pxe引导程序文件pxelinux.0
yum -y install syslinux --安装软件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ --复制文件
cd /var/lib/tftpboot/ -查看
4.启动菜单配置 vim /var/lib/tftpboot/isolinux.cfg
vim isolinux.cfg
default linux 默认选择的是linux lable
prompt 0
timeout 30
5.创建pxelinux.cfg目录,并将isolinux.cfg引导镜像菜单文件进行重命名为默认名称default
mkdir pxelinux.cfg
mv isolinux.cfg ./pxelinux.cfg/default 移动到这个目录下
6.安装配置dhcp服务,动态为新的客户机分配IP地址以及将pxe的引导程序文件基于UDP传输给客户机
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf ---修改DHCP配置文件,增加地址池
# A slightly different configuration for an internal subnet.
subnet 192.168.10.0 netmask 255.255.255.0 { 分配的网段
range 192.168.10.11 192.168.10.150; 分配的ip范围
option domain-name-servers 8.8.8.8; dns
option domain-name "ujiuye.com"; 域名
option routers 192.168.10.10; 网关
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.10.10; 支持tftp的ip需要到下一台某一天机器下载的文件
filename "pxelinux.0" ; 网络启动的依赖程序下载的文件名称
启动服务systemctl start dhcpd
查看端口netstat -antulp | grep :67
7.安装vsftpd服务,提供在客户机pxe引导成功之后进行安装操作系统的程序源包 挂载光盘之/var/ftp/centos/
yum -y install vsftpd ---安装vsftpd服务
cd /var/ftp/
mkdir centos ---创建挂载目录
mount /dev/cdrom /var/ftp/centos ---挂载光盘
或者将光盘内容复制到 /var/ftp/centos/
cp -rfp /media/cdrom/* /var/ftp/centos/
启动服务 systemctl start vsftpd
查看服务ftp://192.168.10.10/centos
5.kickstart无人值守安装
1.示意图
2.安装kickstart程序
1.要实现kickstart无人值守安装,源服务器可以使用图形界面配置kickstart脚本。
2.安装kickstart程序
yum -y install system-config-kickstart
3.修改yum配置环境修改标签
会出现这样错误, 所以去修改本地yum源
cd /etc/yum.repos.d/
vim CentOS-Base.repo
标签修改为 [development] -这样就会显示 软件包选择
4.重启服务system-config-kickstart完成配置 然后移动ks.cfg
system-config-kickstart --在虚拟机内,远程终端不可以
执行完 启动服务完成配置后 生成一个ks.cfg的文件 将其放在root下 然后复制到ftp分享的目录
cp ks.cfg /var/ftp/ ---复制ks.cfg文件到 ftp分享目录下
cd /var/ftp/ ---ftp分享的目录
修改默认的default文件中 指引向自动部署的 以上是关于linux之PXE架构无人值守安装的主要内容,如果未能解决你的问题,请参考以下文章