• PXE批量装机


    1、环境准备

    1.1、硬件环境准备

    角色

    主机名/域名

    IP地址

    服务

    备注

    服务器

    pxe.yunban.cn

    192.168.2.10/24

    ftp/tftp/dhcp/pxe/syslinux

    客户端

    自动获取

    1.2、软件环境准备

    软件名称

    类型

    版本

    备注

    CentOS

    操作系统

    7.0或以上版本

    vsftp

    应用软件

    3.0或以上版本

    dhcp

    应用软件

    4.0或以上版本

    syslinux

    应用软件

      5.2或以上版本

    tftp-server

    应用软件

    5.2或以上版本

    1.3、注意事项

    1) 为每台服务器安装操作系统,服务器安装CentOS 7.0系统,主机名与设计保持一致;

    2) 如果是使用VM安装,则为每台服务器安装好VMware Tools

    3) 为所有服务器主机分配好IP地址,可以选择禁用IPv6,使用IPv4环境(集体实验环境下,网络可以选择连接到VMnet1);

    4) 所有服务器均处于局域网中,项目部署全程关闭iptables

    2、服务器初始状态准备

    1、 IP地址配置如下:

     

    2、 主机名、防火墙以及selinux状态如下

     

    3、部署FTP服务

    1、安装FTP服务,并将安装源复制到/var/ftp/centos7目录下:

    [root@pxe ~]# yum -y install vsftpd         //安装vsftpd

    [root@pxe ~]# rpm -q vsftpd                    //检测是否安装

    vsftpd-3.0.2-10.el7.x86_64 

    [root@pxe ~]# mkdir /var/ftp/centos7     //创建一个文件夹

    [root@pxe ~]# cp -ar /media/* /var/ftp/centos7/    //将挂载在/media下的镜像文件复制到/var/ftp/centos7

    [root@pxe ~]# du /var/ftp/centos7/                //查看磁盘使用情况

    2508 /var/ftp/centos7/EFI/BOOT/fonts

    6028 /var/ftp/centos7/EFI/BOOT

    6032 /var/ftp/centos7/EFI

    85652 /var/ftp/centos7/images/pxeboot

    91924 /var/ftp/centos7/images

    86028 /var/ftp/centos7/isolinux

    286188 /var/ftp/centos7/LiveOS

    3832540 /var/ftp/centos7/Packages

    13236 /var/ftp/centos7/repodata

    4315992 /var/ftp/centos7/ 

    2.启动FTP服务,并设置为开机自启动

    [root@pxe ~]# systemctl start vsftpd

    [root@pxe ~]# systemctl enable vsftpd

    Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

    4、部署TFTP服务

    1、安装TFTP服务

    [root@pxe ~]# yum -y install tftp-server

    [root@pxe ~]# rpm -q tftp-server

    tftp-server-5.2-12.el7.x86_64

    2、修改配置文件,开启TFTP服务,默认是关闭的

    [root@pxe ~]# vim /etc/xinetd.d/tftp

    10         wait                    = no

    14         disable                 = no

    3、启动TFTP服务,并设置为开机自启动。

    [root@pxe ~]# systemctl start tftp

    [root@pxe ~]# systemctl enable tftp

    Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.

    [root@pxe ~]# netstat -anput|grep 69

    udp6       0      0 :::69                   :::*                                1/systemd

    5、准备相关文件以及PXE引导程序

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

    [root@pxe ~]# cd /var/ftp/centos7/isolinux/

    [root@pxe isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/

    [root@pxe isolinux]# ll /var/lib/tftpboot/

    总用量 42644

    -r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

    -r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

    2、 准备kickstart配置文件

    以本机/root/anaconda-ks.cfg为模板,部署其余服务器的操作系统

    [root@pxe isolinux]# cd /root

    [root@pxe ~]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

    [root@pxe ~]# chmod 777 /var/ftp/ks.cfg

    [root@pxe ~]# ll /var/ftp/ks.cfg

    -rwxrwxrwx 1 root root 955 1月  25 23:26 /var/ftp/ks.cfg

    将添加安装源cdrom修改为ftp://192.168.2.21/centos7

    [root@pxe ~]# vim /var/ftp/ks.cfg

    5 url --url=ftp://192.168.2.10/centos7(指定安装源)

    6 #cdrom(第六行注释点)

    3、 准备 PXE 引导程序、启动菜单文件

    [root@pxe ~]# yum -y install syslinux

    [root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    [root@pxe ~]# ls /var/lib/tftpboot/

    initrd.img  pxelinux.0  vmlinuz

    [root@pxe ~]# cp /var/ftp/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/

    [root@pxe ~]# chmod 644 /var/lib/tftpboot/isolinux.cfg

    [root@pxe ~]# ll /var/lib/tftpboot/

    总用量 42676

    -r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

    -rw-r--r-- 1 root root     3032 1月  25 23:33 isolinux.cfg

    -rw-r--r-- 1 root root    26771 1月  25 23:32 pxelinux.0

    -r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

    4、 创建pxe启动菜单

    [root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

    [root@pxe ~]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    [root@pxe ~]# ll -R /var/lib/tftpboot/

    /var/lib/tftpboot/:

    总用量 42672

    -r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

    -rw-r--r-- 1 root root    26771 1月  25 23:32 pxelinux.0

    drwxr-xr-x 2 root root       20 1月  25 23:36 pxelinux.cfg

    -r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

    /var/lib/tftpboot/pxelinux.cfg:

    总用量 4

    -rw-r--r-- 1 root root 3032 1月  25 23:33 default

    5、 修改pxe启动菜单,指定安装源位置pxe和ks.cfg文件位置:

    [root@pxe ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

    1 default linux

    2 prompt 0

    3 timeout 600

    65   append initrd=initrd.img inst.repo=ftp://192.168.2.10/centos7 inst.ks=ftp://192.168.2.10/ks.cfg

    6、部署DHCP服务

    1、 安装DHCP服务

    [root@pxe ~]# yum -y install dhcp

    [root@pxe ~]# rpm -q dhcp

    dhcp-4.2.5-42.el7.centos.x86_64

    2、 修改DHCP配置文件

    [root@pxe ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

    [root@pxe ~]# vim /etc/dhcp/dhcpd.conf

    IPv4 DNS设置首选地址为本机地址,并设置默认租约为6小时,最长租约为12小时

    7 option domain-name "pxe.yunban.cn";

    8 option domain-name-servers 202.106.0.20;

    10 default-lease-time 21600;

    11 max-lease-time 43200;

    创建DHCP的作用域,定义地址池,指定引导文件位置,以及tftp服务地址

    27 subnet 192.168.2.0 netmask 255.255.255.0 {

    28         range 192.168.2.10 192.168.2.100;

               option routers 192.168.2.1;

    29         next-server 192.168.2.10;

    30         filename "pxelinux.0";

    31 }

    设置主机声明,将本机网卡的MAC地址与IP地址进行绑定

    65 host pxe.yunban.cn {

     66   hardware ethernet 00:0c:29:08:9b:a5;

     67   fixed-address 192.168.2.10;

     68 }

    启动DHCP服务器

    [root@pxe ~]# systemctl start dhcpd

    [root@pxe ~]# systemctl enable dhcpd

    Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

    7、开启客户端测试

    创建客户机:

     

    此时客户机获取到ip地址,并加载内核文件、初始化镜像文件。

     

    客户机正在安装系统。

     

    系统安装成功

     

  • 相关阅读:
    转载:如何在 ES5 环境下实现一个const
    vue-element-admin中public中json中的代码没有打包到线上
    cordova打包vue2(webpack)android、ios app
    Cordova开发App入门之创建android项目
    vuex的理解
    Vue中的computed属性
    yarn 常用命令(基于vue框架)
    npm和yarn的使用对比
    npm常用命令
    asp.net ashx一般处理程序实现async await异步操作
  • 原文地址:https://www.cnblogs.com/elin989898/p/11402127.html
Copyright © 2020-2023  润新知