PXE高效批量网络装机(针对Linux)——基于红帽centos7

  在实际工作环境中,当你需要为几十台甚至上百台电脑装Linux系统的时候,如果要一台一台去装,不仅效率低下,而且也浪费了我们的时间,pxe的出现解决了这个问题,那么关于这个技术,我们可以好好的聊一聊。

什么时PXE?

PXE(预启动执行环境)是英特尔为Linux系统专门开发的技术,能够实现高效批量自动的解决装机问题。它解决了安装需要介质的麻烦,只需要一根网线即可完成。

该技术的优点:

1,装机规模化:该技术可以根据网络中的带宽,决定要同时装多少台主机。

2,装机自动化:除了按下电源以外,直到安装结束,均不需要人去管理,安装过程中可以做其他事。

3,远程安装:不必亲自跑到主机前,只需要搭建起PXE服务器等待主机连接即可。

搭建pxe服务器

前提条件:1,客户端的网卡支持pxe协议,并且主板支持网络引导

2,网络中得有一台dhcp服务器为客户端分配IP地址

3,pxe服务端需要有安装所需的各种数据。

安装思路:由于安装过程牵扯到多个服务,因此我按照系统安装寻找的服务顺序进行操作。

无人自动安装的前提是pex能进入到人机交互安装界面,因此要先实现pxe装机,在进行无人自动安装。

安装过程:

需要添加防火墙策略,或者关闭防火墙,以及关闭内核安全机制!!!

(1)dhcp服务:为了客户端主机能分配到IP地址,从而进行网络通信就需要该服务,它同时也指出pxe服务器的位置,以及pxe引导程序的名称。具体命令如下:

[root@localhost ~]# yum -y install dhcp   安装服务
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf   打开dhcp配置文件添加如下内容
subnet 192.168.10.0 netmask 255.255.255.0 {   子网声明部分
        range 192.168.10.100 192.168.10.200;  地址池
        next-server 192.168.10.202;    pxe服务IP地址
        filename "pxelinux.0";     pxe引导程序
}

关于dhcp部分不明白的可看我往期文章http://t.csdnimg.cn/v9EmW

关于dhcp的服务就已经配置完毕。

(2)TFTP服务:(简单文件传输协议)该服务为客户端提供了四个文件缺一不可,该服务的名称为tftp-server,安装后进入到/var/lib/tftpboot/在该目录下要存放四个文件,获取要拷贝到本目录下分别是:

1,初始化镜像文件:该文件提供让内核读取硬盘或引导设备的功能,如果挂载了系统光盘,则该文件位于光盘根目录下images/pxeboot下,。文件名称“initrd.img” 

2,内核文件:该文件用于加载启动环境,包括寻找mbr引导记录等。该文件与1号文件位置相同。文件名称“vmlinuz”

3,pxe引导程序:该文件默认没有需要安装软件syslinux,安装完毕后该文件是/usr/share/syslinux/pexlinux.0,将该文件拷贝。

4,pxe引导程序的配置文件:该文件需要创建目录pxelinux.cfg在该目录下创建文件default文件,注意文件和目录名称固定不能变!!!添加如下内容。

default auto   默认装系统的方式
prompt 1      需要人交互

label auto          定义auto方式
        kernel vmlinuz       指定内核
        append initrd=initrd.img     指定初始化镜像        
        method=ftp://192.168.10.201/myiso     指定系统镜像文件目录的位置在pxe服务器上,该IP为我pxe服务器的地址

在到/etc/xinetd.d/tftp 下修改一个参数

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = yes      将该选项改为no,表示启用tftp服务
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

至此四个文件都有tftp的配置也已经结束了。

(3)FTP服务:该服务提供了操作系统的镜像

安装vsftpd服务,在/var/ftp下创建名为myiso的目录,名称随意但要与上一步中的method指定的一致,不一致会导致找不到操作系统文件,

在该目录下可以将系统光盘的全部文件都拷贝到该目录,因为每个人的光盘挂载路径不一样这里就不再演示。

拷贝完毕后服务的配置都已经确定完毕。

很重要的一点!!!挨个把服务启动起来   dhcpd   tftp  vsftpd

到这里就可以用没装过系统的主机验证是否成功。

无人值守自动安装

如果pxe装机没有问题的话就可以进行自动安装的操作了

该技术需要三个点:

1,修改yum仓库文件。路径为/etc/yum.repos.d/修改其中光盘的文件默认为CentOS-Media.repo,

将设备标识修改为development如下:

[development]     重点是该标识,为后面自动安装做铺垫
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2,安装system-config-kickstart软件 

安装后用该软件包的名称执行命令,也就是system-config-kickstart,需要注意前提该服务需要服务器主机有桌面环境才能正常运行。否则会报错。运行后会出现如下界面

按照提示设置相关参数即可。列出几个必须要设置的参数,其他根据需要设置即可。

标识1:该项要填pxe服务器的IP地址,模板ftp://0.0.0.0 

标识2:该项要填操作系统镜像文件目录的名称,例如我的myiso

设置为安装新引导装载程序,也可以启用grub密码增加系统安全性,可参考我的往期文章,http://t.csdnimg.cn/nxQFG

可以根据需要选择清不清除主引导记录,没安装系统的不需要管,重装系统的需要参考,在下方可以设置分区非常方便。

如果该选项右侧为一片空白,原因是yum仓库中的设备标识不是development。修改重载kickstart服务即可。

参数设置完毕后保存,默认文件名为ks.cfg,不需要改变,存放路径为与操作系统镜像文件目录同一级即可,例如我的myiso同级即可。

在文件系统中寻找路径。

最后需要修改/var/lib/tftpboot/pxelinux.cfg/default文件,添加如下内容:

default auto   默认装系统的方式
prompt 1      需要人交互

label auto          定义auto方式
        kernel vmlinuz       指定内核
        append ks=ftp://pxe服务器IP地址/ks.cfg   添加该行指明应答文件位置
        initrd=initrd.img     指定初始化镜像        
        method=ftp://服务器IP地址/myiso     指定系统镜像文件目录的位置
        

到此重启tftp服务,再去进行测试就能够实现自动化安装,只需要开启电源即可。

至此呢所有的过程就已经介绍完毕。有任何疑问下方留言,看到会及时答复。

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值