PXE批量装机

目录

前言

PXE (Preboot eXcution Environment)

PXE批量部署的优点

PXE的c/s功能

服务端

客户端

PXE服务器和客户机的工作过程

搭建PXE远程安装服务器所需安装包

项目部署

1、安装并启用DHCP 服务

2、安装并启用TFTP服务

3、准备PXE 引导程序pxelinux.0

4、配置启动菜单文件

5、安装ftp服务,准备centos 7安装源

6、实现Kickstart无人值守安装

总结


前言

虽然现在的工作中已经很少碰到大量装机的情况了,我们依然要了解如何去批量装机。这是一门非常方便的技术。对我们的工作的帮助也是很大的。我们可以使用它简化我们的工作流程。当遇到类似的项目我们总是能更轻松的解决问题。

PXE (Preboot eXcution Environment)

预启动执行环境,在操作系统之前运行。
PKE严格来说并不是一种安装方式,而是一种引导的方式。

PXE批量部署的优点

规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质

PXE的c/s功能

服务端

运行DHCP服务,用来分配地址、定位引导程序(next server)
运行TFTP服务,提供引导程序下载

客户端

网卡支持PXE协议
主板支持网络引导

PXE服务器和客户机的工作过程

  1. PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。
  2. DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个I地址给PXE客户机,并且告知IPXE浸客户机:TPP服务器的IP地址和PE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
  3. PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
  4. TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
  5. PXE客户机通过网络来启动到系统安装主界面。
  6. PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。
  7. 文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
  8. PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

搭建PXE远程安装服务器所需安装包

vsftpm                                                                                                                    #用来放置安装镜像,通过ftp访问镜像安装
dhcp.x8(6_64 12:4.2.5-7pd-3.0.2-27.el7.x86_64.r9.el7.centos                                      #用来给客户机分配
ipsyslinux-4.05-15.el7.x86_64.rpm                                                                            #用来提供pxe的引导程序
tftp-server.x86_64 0:5.2-22.el7.rpm                                                                          #用来提供引导镜像文件的下载xinetd.x86_64 xinetd.x86_64 2:2.3.15-14.el7                                                             #用来托管tftp
system-config-kickstart.noarch 0:2.9.7-1.el7.rpm                                                     #用来无人值守安装

项目部署

1、安装并启用DHCP 服务

yum -y install dhcp
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf


ddns-update-style none;                                //禁止动态更新
subnet 192.168.117.0 netmask 255.255.255.0 {           //配置网段
range 192.168.117.40 192.168.117.50;                   //配置地址池
option routers 192.168.117.20;                        //配置网关
option domain-name-servers 114.114.114.114;
next-server 192.168.117.20;                           //指定tftp服务器的地址(*)
filename "pxelinux.0";                                 //指定pxe引导程序的文件名(*)
}


systemctl start dhcpd              
systemctl enable dhcpd  

2、安装并启用TFTP服务

yum -y install tftp-server

vim /etc/xinetd.d/tftp     //tftp被xinet所托管,xinetd默认没有安装配置文件xinetd即extended internet



service tftp
{       
                 socket_type                 = dgram
                 protocol                    = udp
                 wait                        =no              // wait
no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待
                 user                        =root
                 server                      = /usr/sbin/in.tftpd
                 server_args                 = -s /var/lib/tftpboot           //指定TFTP根目录(引导文件的存储路径)-c允许上传
                 disable                     = no                            //disable no表示开启TFTP服务
                 per_source                  =11                            //通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每IP地址的连接数是11个
                 cps                         =100 2                        //表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求
                 flags                       =IPv4
}



#准备tftp 需要共享出去的文件
mount /dev/cdrom /mnt
cd / mnt /images/pxeboot/

#内核文件内核初始化镜像文件
/var/lib/tftpboot/             站点
cp initrd.img vmlinuz /var/lib/tftpboot/

systemctl start xinetd
systemctl enable xinetd
systemctl start tftp
systemctl enable tftp

3、准备PXE 引导程序pxelinux.0

yum provides */pxelinux.0        #查找这个文件是由哪个软件包安装的,当不是一个路径和一个软件包时用*/
yum -y install syslinux
rpm -ql syslinux | grep pxelinux               #查找pxe引导程序的位置
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/          #拷贝到tftp的根目录下,系统引导文件注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件


4、配置启动菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg   //默认pxelinux.cfg是没有的需要手动创建,注意它是一个目录而非文件虽然是以.cfg结尾

vim /var/lib/tftpboot/pxelinux.cfg/default



default auto                     //指定默认入口名称,对应下面的label auto
prompt 0                         //设置是否等待用户选择,1表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车表示选择auto模式

label auto                       //默认的图形安装
          kernel vmlinuz
          append initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg      //method必须指定网络路径
          
label linux text               //文本安装模式,出现boot:时输入linux text 
          kernel vmlinuz
          append text initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg
label linux rescue           //救援模式,出现boot:时输入linux rescue
          kernel vmlinuz
          append rescue initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg

5、安装ftp服务,准备centos 7安装源

yum -y install vsftpd
mount /dev/cdrom /mnt
mkdir /var/ftp/centos7
cp -rf / mnt/* /var/ftp/centos7             #将镜像复制其中
systemctl start vsftpd

6、实现Kickstart无人值守安装

yum install -y system-config-kickstart          #在CentOS 7系统中安装 system-config-kickstart

vim /root/ftp/ks.cfg

#Install OS instead of upgrade
install                                                                     //全新安装

#Keyboard layouts
keyboard 'us'                                                         //英文键盘

#Root password
rootpw --iscrypted $1$9Rn8w7vF$npbKh8CeIbTxjwHUlcw4n0   //root密码

#Use network installation
url --url="ftp://192.168.117.20/centos7"   //网络安装路径

# System language
lang en_us                                 //系统语言,zh_CN表示中文

#system authorization information
auth --useshadow --passalgo=sha512 

#Use text mode install
text                                       //字符模式安装,graphical表示图形化安装
firstboot --disable

#SELinux configuration
selinux --disabled                         //禁用selinux

#Firewall configuration
firewall --disabled                        //禁用防火墙

#Network information
network --bootproto=dhcp --device=ens33    //网卡配置

#Reboot after installation
reboot                                     //安装完重启

#System timezone
timezone Asia/ shanghai                    //时区:上海

#system bootloader configuration
bootloader --location=mbr                  // mbr引导

#clear the Master Boot Record
zerombr

#Partition clearing information
clearpart --all --initlabel               //清除所有分区信息和初始化分区标签

#Disk partitioning information
part / --fstype="xfs" --grow --size=1     //分区配置
part swap --fstype=" swap" --size=2048
part /boot --fstype="xfs"" --size=300


%packages
@base                                    //安装基础软件包
@^gnome-desktop-environment              //安装桌面环境
%end

总结

无人值守安装非常方便,最大的便利之处便在于,当我们偶尔遇到装机的情况的时候,我们可以使用设置好的服务器来进行自动装机,这样就可以名正言顺的摸鱼了,毕竟我们的工作是保证服务器的正常运行,而不是代替服务器去运行。既然服务器有这个功能,我们为什么要自己手动操作。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值