Linux中PXE高效批量网络装机

目录

一、pxe

1、pxe批量装机原理

2、手动批量安装

1)安装tftp-server,vsftp,syslinux,dhcp软件

2)配置dhcp服务

3)修改tftp配置文件

4) 将pxelinux.0文件拷贝到站点文件里

5)在vsftpd文件的家目录新建文件夹,并将光驱挂载到新文件夹上

6)将四大文件中的两个文件从/var/ftp/centos7/image/pxeboot中拷贝到站点文件加中

7)手动创建第四大文件,在站点文件夹下

8)检查是否关闭防火墙和selinux,没有的话将其关闭,并开启dhcpd服务、tfpt服务、vsftp服务 

9)新建一个机器进行测试(此处使用虚拟机进行演示)

二、kickstart 无人值守安装

1、安装kickstart软件

2、在虚拟机上使用图形化界面设置,初始化后的安装设置

3、设置好之后,修改配置文件/var/lib/tftpboot/pxelinux.cfg/default

4、可选择较low的图形界面选择安装的系统,也可以不选择,直接安装

5、客户机测试

三、cobbler的使用

1、cobbler工作原理

2、实际操作

1)安装相关包并启动服务

2)cobbler检查系统环境 

3)生成root的新密码

4)修改cobbler的配置文件 

5)重新启动cobbler服务

6)修改通过cobbler服务生成dhcp.conf配置文件的dhcp的模板文件

7)同步cobbler

8)导入CentOS系统的安装文件,生成相应的YUM源

9)新建一个虚拟机测试


一、pxe

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

pxe是通过网卡引导启动

pxe批量装机需要四大件:(缺一不可)

  1. initrd.img(驱动)
  2. vmlinuz(内核)
  3. pxelinux.cfg/default(引导文件)
  4. pxelinux.0(小型的grub程序)

1、pxe批量装机原理

        1)网卡需要查找相关的dhcp服务器(获取地址时间)

        2)找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

        3)网卡使用tftp客户端吧引导程序加载到内存中来

        4)bios执行引导程序

        5)引导程序会去TFTP去查找配置文件

        6)根据配置文件去引导安装系统

        7)系统安装过程

2、手动批量安装

步骤如下:

1)安装tftp-server,vsftp,syslinux,dhcp软件

[root@heitui ~]#yum install tftp-server   vsftpd   syslinux  dhcp   -y


2)配置dhcp服务

[root@heitui ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

# 将模板拷贝到dhcpd.conf文件中


[root@heitui ~]#vim /etc/dhcp/dhcpd.conf                # 编辑dhcp配置文件

3)修改tftp配置文件

[root@heitui ~]#rpm -ql tftp-server                # 查找tftp服务相关的文件


[root@heitui ~]#vim /etc/xinetd.d/tftp                # 修改tftp配置文件

4) 将pxelinux.0文件拷贝到站点文件里

 [root@heitui ~]#rpm -ql syslinux | grep "pxelinux.0"                # 查找pxelinux.0文件


[root@heitui ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/        # 拷贝pxelinus.0到站点文件

5)在vsftpd文件的家目录新建文件夹,并将光驱挂载到新文件夹上

[root@heitui ~]#cd /var/ftp/ 

[root@heitui ftp]#mkdir centos7

[root@heitui ftp]#mount /dev/sr0 centos7/

6)将四大文件中的两个文件从/var/ftp/centos7/image/pxeboot中拷贝到站点文件加中

[root@heitui ~]#cd /var/ftp/centos7/images/pxeboot                #切换到目标目录下

[root@heitui pxeboot]#cp initrd.img /var/lib/tftpboot/                #拷贝initrd.img至站点文件夹下
[root@heitui pxeboot]#cp vmlinuz /var/lib/tftpboot/                  #拷贝vmlinuz至站点文件夹下

7)手动创建第四大文件,在站点文件夹下

[root@heitui pxeboot]#cd /var/lib/tftpboot/
[root@heitui tftpboot]#mkdir pxelinux.cfg

[root@heitui tftpboot]#cd pxelinux.cfg/
[root@heitui pxelinux.cfg]#vim default

default  heitui
timeout  600

label  heitui
       kernel  vmlinuz
       append initrd=initrd.img
       method=ftp://192.168.3.100/centos7

label  test
       kernel  vmlinuz
       append test initrd=initrd.img
       method=ftp://192.168.3.100/centos7

label  recuse
       kernel  vmlinuz
       append recuse initrd=initrd.img
       method=ftp://192.168.3.100/centos7

 

8)检查是否关闭防火墙和selinux,没有的话将其关闭,并开启dhcpd服务、tfpt服务、vsftp服务 

 [root@heitui pxelinux.cfg]#systemctl status firewalld.service        #查看防火墙的状态

 [root@heitui pxelinux.cfg]#getenforce                # 查看selinux的状态

[root@heitui pxelinux.cfg]#systemctl start dhcpd        # 开启dhcpd服务

[root@heitui pxelinux.cfg]#systemctl start tftp                # 开启tftp服务

[root@heitui pxelinux.cfg]#systemctl start vsftpd                # 开启vsftp服务

9)新建一个机器进行测试(此处使用虚拟机进行演示)

新建虚拟机的设置

 然后直接开启虚拟机

 启动后会自动获取IP地址,然后静静等待


二、kickstart 无人值守安装

在上述操作的基础上继续做无人值守安装

以下步骤中,步骤4可以忽略不做

1、安装kickstart软件

[root@heitui tftpboot]#yum install system-config-kickstart -y

2、在虚拟机上使用图形化界面设置,初始化后的安装设置

1)使用kickstar工具设置基本配置

 2)安装方法

 3)引导文件

4) 分区,boot分区4G,swap分区4G,根(/)分区剩下所有空间




5)网络配置 

 6)防火墙与selinux设置

 7)显示配置,安装字符界面

 8)安装后脚本

 9)保存操作,及保存位置/etc/ftp/ks.cfg


3、设置好之后,修改配置文件/var/lib/tftpboot/pxelinux.cfg/default

 [root@heitui pxelinux.cfg]#vim default

ks=ftp://192.168.3.100/ks.cfg

4、可选择较low的图形界面选择安装的系统,也可以不选择,直接安装

这里展示使用的

1)将/usr/share/syslinux/下的menu.c32拷贝到/var/lib/tftpboot/站点文件夹下

[root@heitui tftpboot]#cp /usr/share/syslinux/menu.c32 . 

2)然后修改default

5、客户机测试

上面的4可以不做,不做4,不会出现上图的界面,直接开机安装,需要等好久之后 


三、cobbler的使用

1、cobbler工作原理

        1)client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP

        2)DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

        3)client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

        4)cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

        5)client裸机通过上面告知的TFTP server地址通信,下载引导文件

        6)client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image

        7)cobbler server发送请求的kickstart和os iamge

        8)client裸机加载kickstart文件

        9)client裸机接收os image,安装该os image

2、实际操作

1)安装相关包并启动服务

[root@heitui ~]#yum install epel-release.noarch -y                # 安装epel源

[root@heitui ~]#yum install -y cobbler dhcp httpd tftp -y        # 安装相关软件

[root@heitui ~]#systemctl start cobblerd httpd tftp         #启动软件,其中dhcp最后启动


2)cobbler检查系统环境 

[root@heitui ~]#cobbler check

3)生成root的新密码

[root@heitui ~]#openssl passwd -1 '123123'

4)修改cobbler的配置文件 

[root@heitui ~]#vim /etc/cobbler/settings        # 修改配置文件

# 将生成的root密码的密文填入101行

101行   default_password_crypted: "$1$JewpB912$A8NrV3.3AKrHGjsuy1REn/"

# 将242行的0改成1,表示通过cobbler生成dhcpd.conf的配置文件

242行   manage_dhcp: 1

# 将dhcp获取地址后的下一个服务(tftp服务)的IP填入278行

278行   next_server: 192.168.3.100

# 将298行的0改成1,表示防止重复安装操作系统

298行   pxe_just_once: 1

# 在390行,将IP地址改为cobbler服务器的IP地址

390行   server: 192.168.3.100





5)重新启动cobbler服务

[root@heitui ~]#systemctl restart cobblerd.service

 

6)修改通过cobbler服务生成dhcp.conf配置文件的dhcp的模板文件

[root@heitui ~]#vim /etc/cobbler/dhcp.template

subnet 192.168.3.0 netmask 255.255.255.0 {
     option routers             192.168.3.2;
     option domain-name-servers 8.8.8.8;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.3.25 192.168.3.45;

7)同步cobbler

 [root@heitui ~]#cobbler sync

8)导入CentOS系统的安装文件,生成相应的YUM源

[root@heitui ~]#mount  /dev/sr0   /mnt

[root@heitui ~]#cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64

# 从/mnt下,将名为centos-7-x86_64的系统导入cobbler服务器中

[root@heitui ~]#cobbler system add --name=default --profile=centos-7-x86_64

# 设置默认安装菜单, 这样未装系统的设备会自动从pxe引导启动你需要安装的系统, 不需要再手动接显示器选了。此操作也可以不做

9)新建一个虚拟机测试

直接启动虚拟机

等待一段时间


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值