ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

PXE 无人值守批量部署 Centos 7

2019-08-20 17:01:09  阅读:262  来源: 互联网

标签:ftp Centos 安装 192.168 yum PXE root 值守 localhost


PXE远程服务器(192.168.1.10)所需准备:
安装源(系统盘文件);
TFTP服务;
DHCP服务;
Linux内核;
能够向客户机裸机发送PXE引导程序;
启动菜单及无人应答文件;
客户端要具备:
客户端的网卡支持PXE协议,且主板支持网络引导(现在大多数都支持);
设置BIOS允许从Network或LAN启动;
配置 yum 仓库源,并安装 ftp 服务:

[root@localhost /]# rm -rf /etc/yum.repos.d/*                     #  个人自定义 yum 仓库,如果觉得还有用的话把它复制到另一个目录中备份起来
[root@localhost /]# vim /etc/yum.repos.d/a.repo

[yum]                                                                // 仓库类别,自定义名称
name=yum                                                       //仓库名称(说明)
baseurl=file:///media                                        // URL 访问路径,可以是 ftp 、http
gpgcheck=0                                                    // 不验证软件包的签名    1为验证
enabled=1                                                      // 启用此软件仓库,可省略
gpgkey=file:///                                                 // GPG 公钥的位置,可省略
[root@localhost /]# yum -y install vsftpd*

准备 centos 安装源

[root@localhost /]# mkdir  /var/ftp/centos7             
[root@localhost /]# cp /media/*  /var/ftp/centos7/                   # 将软件源复制到 ftp 目录下
[root@localhost /]# systemctl start vsftpd
[root@localhost /]# systemctl enable vsftpd

安装并启动 TFTP 服务:

[root@localhost /]# yum -y install tftp-server
[root@localhost /]# vim /etc/xinetd.d/tftp                       # 编辑配置文件
........     省略部分
service tftp
{
        socket_type             = dgram
        protocol                = udp                                // TFTP 采用 udp 传输
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot       // 指定 TFTP 根目录
        disable                 = no                                  // 将 yes 改为 no 
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@localhost /]# systemctl start tftp.socket                     # 启动服务
[root@localhost /]# systemctl enable tftp.socket                    # 设为开机自启

准备 Linux 内核,初始化镜像文件:

[root@localhost /]# cd /media/images/pxeboot/                 # 系统光盘中自带
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/           # 复制到 TFTP 根目录

准备 PXE 引导程序:

[root@localhost /]# yum -y install syslinux              # PXE 的引导程序由 syslinux 提供 
[root@localhost /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/       # 将引导程序复制到 TFTP 根目录下

准备启动菜单文件:
典型的启动菜单,无法实现无人值守安装:

[root@localhost /]# mkdir /var/lib/tftpboot/pxelinux.cfg                # 创建子目录,用于存放启动菜单文件
[root@localhost /]# vim /var/lib/tftpboot/pxelinux.cfg/default              # 启动菜单默认为 default 
default auto
prompt 1
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.10/centos7
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.1.10/centos7
label rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.1.10/centos7

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

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

这里我选择的是无人值守安装,典型安装和正常安装无区别,安装一个 DHCP 服务即可实现安装
安装 DHCP 服务(可参考:https://blog.51cto.com/14227204/2367796):

[root@localhost /]# yum -y install dhcp
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option domain-name-servers 192.168.1.10;
  option domain-name "internal.example.org";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 21600;
  max-lease-time 43200;
  next-server 192.168.1.10;                        // 指定 TFTP 服务器的地址
  filename "pxelinux.0";                              // 指定 PXE 引导程序的文件名
}

准备安装应答文件:
在centos 7 系统中如果安装了system-config-kickstart工具后,可通过图形化向导工具来配置安装应答文件。如果大佬对自动应答文件的配置比较熟悉,也可以直接编辑centos 7 安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修改后使用(本人不才,还是老老实实的使用图形化吧):
<br/>[root@localhost /]# yum -y install system-config-kickstart # 安装所需工具<br/>
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
PXE 无人值守批量部署 Centos 7
保存后的应答文件:

[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$XHDL7LDe$1v1aHaY5Lq2ulgyyPxn/
# Use network installation                                            
url --url="ftp://192.168.1.10/centos7"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --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.repo.d/
rm -rf  *
echo -e  "[yum]"  >>  a.repo
echo -e  "baseurl=ftp://192.168.1.10/centos7"     >> a.repo
echo -e  "gpgcheck=0"   >> a.repo
%end

在如上配置文件末尾添加如下三行,可选择最小安装:

%packages
@^minimal
%end

[root@localhost ~]# cp ks.cfg /var/ftp/ 复制到 ftp 目录下
打开客户机:
PXE 无人值守批量部署 Centos 7
安装完成:
PXE 无人值守批量部署 Centos 7

标签:ftp,Centos,安装,192.168,yum,PXE,root,值守,localhost
来源: https://blog.51cto.com/14227204/2431120

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有