PXE+kickstart无人值守网络批量装机

PXE特点:

规模化:同时装配多台服务器

自动化:安装系统、配置各种服务

远程实现:不需要光盘、U盘等安装介质

对于无盘工作站,服务器端需要提供可运行的完整系统镜像;对于远程安装,只要提供引导程序和安装源就可以了

关于PXE网络

PXE,Pre-boot eXcution Environment

预启动执行环境,在操作系统之前运行

可用于远程安装、构建无盘工作站

服务端

运行DHCP服务,用来分配地址、定位引导程序

运行TFTP服务器,提供引导程序下载

客户端【目前都支持下列功能】

网卡支持PXE协议

主板支持网络启动

kickstart无人值守技术

创建应答文件,预先定义好各种安装设置

免去交互设置过程,从而实现全自动化安装

通过添加%post脚本,完成安装后的各种配置操作

开始搭建PXE

搭建ftp用来存放镜像

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# mkdir /var/ftp/centos
[root@localhost ~]# mount /dev/cdrom /var/ftp/centos/
[root@localhost ~]# systemctl enable vsftpd --now
[root@localhost ~]# netstat -anptu | grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      8386/vsftpd 

添加防火墙规则允许ftp规则通过防火墙

[root@localhost ~]# firewall-cmd --add-service=ftp --permanent 
[root@localhost ~]# firewall-cmd --reload 

搭建tftp服务器

[root@localhost ~]# yum -y install tftp-server  
[root@localhost ~]# vim /etc/xinetd.d/tftp 
##找到disable把yes改成no
disable                 = no

[root@localhost ~]# systemctl enable tftp --now
[root@localhost ~]# netstat -anptu | grep 69
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      698/rpcbind         
tcp6       0      0 :::111                  :::*                    LISTEN      698/rpcbind         
udp        0      0 0.0.0.0:860             0.0.0.0:*                           698/rpcbind         
udp        0      0 0.0.0.0:111             0.0.0.0:*                           698/rpcbind         
udp6       0      0 :::860                  :::*                                698/rpcbind         
udp6       0      0 :::69                   :::*                                1/systemd           
udp6       0      0 :::111                  :::*                                698/rpcbind 

添加防火墙规则允许tftp规则通过防火墙
[root@localhost ~]# firewall-cmd --add-service=tftp --permanent 
[root@localhost ~]# firewall-cmd --reload 

[root@localhost ~]# cd /media/cdrom/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

搭建dhcp服务

DHCP服务的PXE设置
next-server:指定TFTP服务器地址
filename:指定要下载的引导程序文件

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
  subnet 192.168.100.0 netmask 255.255.255.0 {    ##网段声明,作用于整个子网段    
  range 192.168.100.10 192.168.100.200;           ##设置用于分配的 IP 地址池
  option routers 192.168.100.254;                 ##设置默认网关地址,因没有路由器可不设置
  option broadcast-address 192.168.100.255;       ##广播地址
  default-lease-time 600;                         ##IP地址的租约期
  max-lease-time 7200;
  next-server 192.168.100.1;                      ##指定TFTP服务器地址
  filename "pxelinux.0";                          ##指定要下载的PXE引导程序的文件

[root@localhost ~]# systemctl start dhcpd --now
[root@localhost ~]# netstat -anptu |grep dhcp 
udp        0      0 0.0.0.0:67              0.0.0.0:*                           9302/dhcpd   
[root@localhost ~]# firewall-cmd --add-service=dhcp --permanent 
[root@localhost ~]# firewall-cmd --reload     

默认的启动菜单文件

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

prompt 1                ##设置是否等待用户选择,“1” 表示等待用户控制!

label auto              ##图形安装(默认)引导入口,label 用来定义启动项

    kernel vmlinuz      ##kernel和append用来定义引导参数
    append initrd=initrd.img method=ftp://192.168.100.1/centos       ##指定ftp镜像存放路径

label linux text         ##文本模式安装引导入口
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.100.1/centos

label linux rescue        ##救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.1/centos7

验证PXE网络安装

注意:虚拟机实验中内存要调整为2G以上,否则报错!!

看到这就说明成功了

搭建kickstart无人值守

[root@localhost ~]# yum -y install system-config-kickstart
[root@localhost ~]# system-config-kickstart     
默认语言设为“中文(简体)”
时区设为"Asia/Shanghai" .
设置root密码
高级配置中勾选“安装后重启”。

基本配置

选FTP
FTP服务器:192.168.100.1
FTP目录: centos

安装方法

“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序

引导装载程序选项

主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间

网络配置

添加网络设备ens33
网络类型设为DHCP

防火墙配置

SElinux 禁用
防火墙禁用

安装后脚本

rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=///mnt
enabled=1
gpgcheck=0' > /etc/yum.repos.d/yum.repo

[root@localhost ~]# cp ks.cfg /var/ftp/
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

验证自动安装

*虚拟机环境如果无法获得dhcp的ip,禁用VMware的dhcp服务

*将客户机以PXE方式引导

*之后会自动完成系统安装,并配置好软件仓库

*整个安装过程无需手动干预

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨鸟先飞geigeigei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值