PXE高效远程部署

PXE概述

        PXE 的全称是preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统

PXE批量部署优点

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

环境准备

        一台Linux服务器

IP地址:192.168.221.131

        关闭防火墙和selinux

systemctl stop firewalld            #关闭防火墙
    
setenforce 0                        #关闭selinux

        安装FTP服务,准备CentOS7安装源

yum -y install vsftpd        #安装FTP服务

mkdir /var/ftp/CentOS7       #在FTP根目录创建文件,存放CentOS7安装源

mount /dev/cdrom  /var/ftp/CentOS7/    #将CentOS7光盘挂载到这个目录

systemctl start vsftpd       #启动FTP服务

systemctl enable vsftpd      #设置开机自启动

        安装TFTP服务

       TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,它主要用于在客户机与服务器之间进行小文件的传输1。TFTP基于UDP协议实现,因此不具备通常FTP的许多功能

yum -y install tftp-server        #安装TFTP服务
vi /etc/xinetd.d/tftp             #编辑配置文件,将disable的值改为no
##################################################################################
service tftp
{
        socket_type             = dgram            #表示这个服务使用数据报套接字(UDP)
        protocol                = udp              #明确指定协议为 UDP
        wait                    = no               #表示可以多台客户机一起连接
        user                    = root             #服务将以 root 用户的身份运行
        server                  = /usr/sbin/in.tftpd     #这是 TFTP 服务器的路径
        server_args             = -s /var/lib/tftpboot   #指定了 TFTP 的根目录
        disable                 = no               #yes为禁用服务,启用需要改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4             #表示服务只接受Ipv4连接
}
##################################################################################
systemctl start tftp            #启动服务
systemctl enable tftp           #设置开机自启动

        准备Linux系统的内核文件和初始化镜像文件(Linux引导加载模块)

cd /var/ftp/CentOS7/images/pxeboot/        #这里已经把光盘挂载到这里了
cp vmlinuz    /var/lib/tftpboot/           #复制Linux系统的内核文件到TFTP根目录
cp initrd.img   /var/lib/tftpboot/         #复制初始化镜像文件(Linux引导加载模块)到TFTP根目录   

        安装DHCP服务

        我这里使用的是VMware虚拟机,所以要关闭自带的DHCP

        左上角编辑——>虚拟网络编辑器——>打开的窗口右下角更改设置——>点击VMnet8

yum -y install dhcp            #安装DHCP

#复制DHCP配置文件模板到DHCP配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

vi /etc/dhcp/dhcpd.conf        #编辑DHCP配置文件,在26行添加
##################################################################################
subnet 192.168.221.0 netmask 255.255.255.0 {        #网段和子网掩码
  range 192.168.221.20 192.168.221.30;             #设置IP地址分配范围
  option routers 192.168.221.2;                   #网关
  next-server 192.168.221.131;                   #指定服务器地址
  filename "pxelinux.0";                        #指定PXE引导程序文件名
}
##################################################################################

systemctl start dhcpd                #启动DHCP服务
systemctl enable dhcpd               #设置开机自启动

        安装PXE引导程序

yum -y install syslinux            #安装PXE引导程序

#把PXE引导程序路径复制到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

        配置启动菜单文件

在PXE远程部署中,启动菜单配置文件默认放在TFTP根目录下的pxelinux.cfg子目录default文件中,这里使用ls命令会发现没有这个文件,所以需要我们自己创建

mkdir /var/lib/tftpboot/pxelinux.cfg            #创建pxelinux.cfg目录

#创建并编辑配置文件default
vi /var/lib/tftpboot/pxelinux.cfg/default    
##################################################################################
default auto                              #指定默认入口名称
prompt 1                                  #设置是否等待用户选择,“1”表示等待用户控制

label auto                                #图形安装(默认)引导入口,label 用来定义启动项
    kernel vmlinuz                        #kernel 和 append用来定义引导参数
    append initrd=initrd.img method=ftp://192.168.221.131/CentOS7

label linux text                          #文本安装引导入口
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.221.131/CentOS7

label linux rescue                        #救援模式引导入口
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://192.168.221.131/CentOS7
##################################################################################

            验证PXE远程部署是否成功

1.新建一台虚拟机,这里安装源是CentOS7,所以系统版本也要选择一致

2.新建完成后不用设置镜像,直接打开即可

3.在boot后输入auto或者直接按回车

4.出现这个页面即代表成功

安装Kictstart

        在配置PXE的虚拟机上安装kickstart,实现无人值守安装

yum -y install system-config-kickstart        #安装kickstart

system-config-kickstart                       #执行应用程序

        配置Kickstart

                       基本配置(时区使用默认或者自己选择)

                        安装方法

                        引导装载程序选项

                        分区信息

                        网络配置,添加ens33,网络类型DHCP

                        防火墙配置

                        安装后脚本

        这里是系统安装之后自动执行的Linux命令,根据需要自己填写,这里在根目录下创建一个文件看一下效果

                        保存,然后直接关闭窗口即可停止运行

        现在配置需要安装的软件包

        这时会发现多了一个ks.cfg的文件,然后配置安装脚本

        根据需要将anaconda-ks.cfg文件中的安装脚本复制到ks.cfg文件中,从%packages复制到%end,复制到ks.cfg文件末尾

        vi  anaconda-ks.cfg

        如果要最小化安装,复制下面内容即可

%packages
@^minimal
%end

        复制ks.cfg到FTP根目录,然后编辑启动菜单文件,添加ks引导参数

cp ks.cfg /var/ftp/                    #复制到FTP根目录

vi /var/lib/tftpboot/pxelinux.cfg/default        #编辑启动菜单文件

#添加ks引导参数
ks=ftp://192.168.221.131/ks.cfg

        然后重新启动那台新建的虚拟机就会自动开始安装了

        安装完成等待重启后,使用root用户登录,密码就是前面自己设置的密码,然后查看根目录下有一个test目录,就是刚刚写的安装后脚本执行的,我这里安装的是最小化

安装完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值