PXE网络装机之centos7(批量自动装机)

栏目: 服务器 · 发布时间: 7年前

内容简介:PXE远程服务器(192.168.1.1)所需准备:客户端要求:一、搭建PXE远程安装服务器:

PXE远程服务器(192.168.1.1)所需准备:

  1. 安装源(系统盘文件);
  2. TFTP服务;
  3. DHCP服务;
  4. Linux内核;
  5. 能够向客户机裸机发送PXE引导程序;
  6. 启动菜单及无人应答文件等。

客户端要求:

  1. 客户端的网卡支持PXE协议,且主板支持网络引导(现在多数都支持);
  2. 设置BIOS允许从Network或LAN启动;

一、搭建PXE远程安装服务器:

1、配置YUM仓库,并安装ftp服务:

[root@localhost ~]# mount /dev/cdrom /media
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# vim a.repo

[yum]
baseurl=file:///media
gpgcheck=0

[root@localhost yum.repos.d]# yum -y install vsftpd*

2、准备centos7安装源并启动ftp服务:

[root@localhost yum.repos.d]# mkdir /var/ftp/centos7
[root@localhost yum.repos.d]# cp -rf /media/* /var/ftp/centos7/
[root@localhost yum.repos.d]# systemctl start vsftpd             #启动ftp服务
[root@localhost yum.repos.d]# systemctl enable vsftpd              #设置为开机自启

3、安装并启动TFTP服务:

[root@localhost yum.repos.d]# yum -y install tftp-server
[root@localhost yum.repos.d]# vim /etc/xinetd.d/tftp             #编辑TFTP配置文件

                                     ...............................
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no               #将此处默认的yes改为no即可
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

[root@localhost yum.repos.d]# systemctl start tftp                #启动TFTP服务
[root@localhost yum.repos.d]# systemctl enable tftp

4、准备 Linux 内核、初始化镜像文件(在系统盘中):

[root@localhost ~]# cd /media/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

5、准备PXE引导程序:

[root@localhost pxeboot]# yum -y install syslinux    #安装引导程序
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

6、配置启动菜单(典型的和无人值守安装的启动菜单根据实际需求二选一配置即可):

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

①、典型的启动菜单,无法实现无人值守安装:

[root@localhost pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default            

default auto
prompt 1
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.1/centos7
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.1.1/centos7
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.1.1/centos7

②、无人值守安装的启动菜单:

[root@localhost pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default 

default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.1/centos7 ks=ftp://192.168.1.1/ks.cfg

在上面两种启动菜单,我这里配置的是无人值守安装,若选择典型的启动菜单,那么接下来的操作有很多就是不必要的了,只要安装上DHCP服务器即可部署系统了。

7、安装并启用DHCP服务器(DHCP服务安装后有一个模板文件,若不熟悉,可以参考: https://blog.51cto.com/14154700/2353971 ):

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

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.1 192.168.1.200;
  option domain-name-servers 8.8.8.8;
  option domain-name "internal.example.org";
  option routers 192.168.1.254;
  option broadcast-address 192.168.1.255;
  default-lease-time 21600;
  max-lease-time 43200;
  next-server 192.168.1.1;                 #指定TFTP服务器的地址
  filename "pxelinux.0";                     #指定PXE引导程序的文件名
}

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

8、准备安装应答文件:

在centos 7 系统中如果安装了system-config-kickstart工具后,可通过图形化向导 工具 来配置安装应答文件。如果大佬对自动应答文件的配置比较熟悉,也可以直接编辑centos 7 安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修改后使用(我还是老老实实的使用图形化吧):

[root@localhost pxeboot]# yum -y install system-config-kickstart     #安装所需工具

①、打开图形化程序:

PXE网络装机之centos7(批量自动装机)

②、配置安装应答参数:

PXE网络装机之centos7(批量自动装机)

③、由于ftp服务默认允许匿名访问,所以不用指定用户名和密码:

PXE网络装机之centos7(批量自动装机)

④、引导装载程序:

PXE网络装机之centos7(批量自动装机)

、分区信息(根据实际需求选择合适的硬盘分区方案):

PXE网络装机之centos7(批量自动装机)

⑤、网络配置及防火墙:

PXE网络装机之centos7(批量自动装机) PXE网络装机之centos7(批量自动装机)

⑥、安装后脚本:

若想在系统安装完成后,执行一些操作,可以参考以下(我这里写了一个配置yum仓库的脚本):

PXE网络装机之centos7(批量自动装机)

⑦、保存应答文件:

PXE网络装机之centos7(批量自动装机) PXE网络装机之centos7(批量自动装机)

保存后的应答文件:

[root@localhost ~]# vim ks.cfg              #最后生成的应答文件如下
(可直接复制此文件便可省略图形化配置的那些步骤,结合实际需求进行修改后使用即可):

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$bauETRq3$WOpze2jeKD9q3qgKK50xj0
# Use network installation
url --url="ftp://ftp:192.168.1.1/centos7"
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1

%post --interpreter=/bin/bash
cd /etc/yum.repos.d
rm -rf *
echo -e "[base]" > aa.repo
echo -e "baseurl=ftp://192.168.1.1/centos7" >> aa.repo
echo -e "gpgcheck=0" >> aa.repo
%end

不过上面的配置文件还差点东西,需要在配置文件末尾继续写入三行,以此来选择最小安装:

%packages
@^minimal
%end

写好后,保存退出即可。

8、将自动应答文件复制到指定目录(在之前的引导菜单指定的“ks=”项的路径):

[root@localhost ~]# cp /root/ks.cfg /var/ftp/

10、OK,客户机开机,验证效果(耐心等待完成即可):

PXE网络装机之centos7(批量自动装机)

安装成功:

PXE网络装机之centos7(批量自动装机)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Design systems

Design systems

Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试