zoukankan      html  css  js  c++  java
  • “批量高效”熟知的PXE远程安装服务

          PXE是由Intel公司开发的网络引导技术,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。  

         在大规模的的linux应用环境中,服务器不具备光驱设备的情况下,那怎么给几十上百台服务器裸机快速安装系统呢?这边的话就需要用到PXE远程安装服务。

    如何搭建PXE远程安装服务器?

    本例的 PXE 远程安装服务器集成了 CentOS 7 安装源、 TFTP 服务、 DHCP 服务,能够向客户机裸机发送 PXE 引导程序、 Linux 内核、启动菜单等数据,以及提供安装文件。

    规划:
    一台Linux系统搭建服务   ip:20.0.0.30

    一台Linux系统做PXE测试   DHCP获取

    软件版本:Centos 7.6 

    1.准备Centos7安装源

     采用FTP协议发布安装源,可以在服务器上部署一个yum软件仓库

    [root@localhost ~]# mkdir -p /var/ftp/centos7
    [root@localhost ~]# mount /dev/cdrom /mnt 
    [root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7
    [root@localhost ~]# yum -y install vsftpd
    [root@localhost ~]# systemctl start vsftpd
    [root@localhost ~]# systemctl enable vsftpd

    【架设ftp一定要关闭防火墙和核心防护----systemctl stop firewalld #systemctl disable firewalld 】

    2.安装并启用TFTP服务

    TFTP 服务由 tftp-server 软件包提供,配置文件位于/etc/xinetd.d/tftp。配置时只
    要将“disable = yes”改为“disable = no”,然后启动 TFTP 服务即可。

    [root@localhost ~]# yum -y install tftp-server
    [root@localhost ~]# vi /etc/xinetd.d/tftp
    service tftp
    {
    ####省略部分信息
    protocol = udp                   ###TFTP 采用 UDP 传输协议
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot            ###指定 TFTP 根目录
    disable = no 
    ####省略部分信息
    }

    [root@localhost ~]# systemctl start tftp    ###开启TFTP服务
    [root@localhost ~]# systemctl enable tftp

    3.准备 Linux 内核、初始化镜像文件

    用于 PXE 网络安装的 Linux 内核、初始化镜像文件可以从 CentOS 7 系统光盘获得,分别为 vmlinuz 和 initrd.img,位于文件夹 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下。

    [root@localhost ~]# cd /mnt/images/pxeboot/                   ####切换到挂载目录/mntimages/pxeboot/

    [root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/             ###两个文件并将其复制到 tftp 服务的根目录下

    4.准备 PXE 引导程序

    用于 PXE 网络安装的引导程序为 pxelinux.0,由软件包 syslinux 提供。安装好软件包syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下。

    [root@localhost ~]# yum -y install syslinux
    [root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    5.安装并启用 DHCP 服务
    由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关
    引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。

    [root@localhost ~]# yum -y install dhcp
    [root@localhost ~]# vi /etc/dhcp/dhcpd.conf

    [root@localhost ~]# systemctl start dhcpd
    [root@localhost ~]# systemctl enable dhcpd

    6.配置启动菜单文件

    启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作手动建立。

    [root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
    [root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
    default auto        ###指定默认入口名称

    prompt 1           ###1 表示等待用户控制

    label auto

    kernel vmlinuz

    append initrd=initrd.img method=ftp://20.0.0.30/centos7
    label linux text
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://20.0.0.30/centos7
    label linux rescue
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://20.0.0.30/centos7

    7.验证 PXE 网络安装

    搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了,修改BIOS 设置,将“Boot First”设为“NETWORK”

    道阻且长,行则将至!加油! --不是冷漠
  • 相关阅读:
    简洁又漂亮的单网页404页源码(html格式404源码)
    运行bee run之后出现的错误以及解决方法
    window beego 安装出现的错误
    golang gin框架 使用swagger生成api文档
    go语言切片作为函数参数
    Go中函数接收器不能改变接收者的地址
    docker 删除none镜像
    redis下载安装
    git切换分支
    angular自定义验证器添加入模板驱动表单
  • 原文地址:https://www.cnblogs.com/bushilengmo/p/13434699.html
Copyright © 2011-2022 走看看