批量安装linux pxe自动化

pxe 实现自动通过网络安装

应用场景

有大数量的服务器需要安装操作系统,这时候就可以通过网络进行批量安装
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质

需要用到有 dhcp(自动分配ip服务) ftp(提供文件下载服务)| 或者http服务能get就行

序言
需要先关闭selinux,和firewall防火墙。

挂载本地的yum源

rm- rf /etc/yum.repos.d/*

删除系统自带的yum配置文件
挂载光盘到/mnt/cdrom (默认没有需要自己创建)

mount /dev/sro /mnt/cdrom
yum-config-manager --add file:///mnt/cdrom

完成挂载,在内网中要关闭gpg校验

vim  /etc/yum.repos.d/mnt_cdrom_.repo

添加一行

gpgcheck=0
yum clean  # (清理缓存)
yum makecahe  # (生成缓存)

第一步安装并启用tftp服务

1.yum安装

yum -y install tftp-server  xinetd

2.修改tftp的配置文件

vim /etc/xinetd.d/tftp

protocol = udp                        # TFTP默认使用UDP协议
wait = no                             # no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot    # 指定TFTP根目录(引导文件的存储路径)
disable = no                          # no表示开启TFTP服务

重启服务

systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

安装启用dhcp

yum -y install dhcp

修改dhcp的配置文件

 vim /etc/dhcp/dhcpd.conf

#dhcpd.conf
#
 Sample configuration file for ISC dhcpd
#

log-facility local7;
subnet 10.0.0.0 netmask 255.0.0.0 {          #指定为那个网段分配网络参数
   range 10.0.0.50 10.0.0.100;               #设置准备为客户端分配的IP地址范围
   option domain-name-servers 10.0.0.12;     #设置分配给客户端的DNS服务器地址
   option routers 10.0.0.2;                  #设置分配给客户端的网关地址。
   # option broadcast-address 10.5.5.31;     #广播地址,注释掉后用默认的
   default-lease-time 600;                       # 地址租赁时间 600秒后失效
   max-lease-time 7200; 
   next-server 10.0.0.12;                    # 下一个要访问的地址,就是tftp地址。
   filename "pxelinux.0";                         #要访问tftp上哪一个文件。
          }

重启服务

systemctl start dhcpd
systemctl enable dhcpd
ss -tulanp|grep -w 67        #查看端口

引导内核添加到tftp目录

#这里需要将两个重要文件复制到/var/lib/tftpboot/(vmlinuz、initrd.img)
cd /mnt/images/pxeboot                  
cp vmlinuz /var/lib/tftpboot/               #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/            #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

准备pex引导

yum -y install syslinux     # PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    # 复制 PXE引导程序 到TFTP根目录下

安装vsftpd

yum -y install vsftpd     # 安装vsftpd服务

mkdir /var/ftp/centos7    #  新建centos7目录,并将光盘镜像下的文件全部复制到centos7目录下

cp -rf /mnt/* /var/ftp/centos7/    

重启

systemctl enable vsftpd
systemctl start vsftpd

配置启动菜单文件

      #默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg         # 需要在ftfpboot目录下创建pxelinux.cfg
#vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件
#在文件中插入下面代码

default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://10.0.0.12/centos7     # 为ftp服务器地址

label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://10.0.0.12/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://10.0.0.12/centos7

重启TFTP服务

systemctl restart tftp

网络安装环境已经可以使用了,,接下来进行自动化安装

(1)安装system-config-kickstart 工具

yum install -y system-config-kickstart    # 需要图形化机器支持,没有图形化直接跳过

(2)打开“Kickstart 配置程序”窗口 通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开 或执行 “system-config-kickstart” 命令打开

#生成kickstart模板文件 centos7.cfg # 放到/var/ftp/ 与centos文件夹一个目录,或者centos里面也行,但是default文件里的配置路径要更改

#检查ks文件语法是否有错

 ksvalidator   centos7.cfg

文件没有任何提示,表示没有出错

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

mkdir /var/lib/tftpboot/pxelinux.cfg         # 需要在ftfpboot目录下创建pxelinux.cfg
 vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件
default auto #默认为auto
 #此处的参数为0,代表无需等待人工干预,自动选择并开始安装操系统
prompt 0  

label auto
        kernel vmlinuz
        #为ftp服务器地址  centos7.ks.cfg 文件路径在/var/ftp/  也可以放在centos7文件夹内,那么此处也要对应调整
        append initrd=initrd.img method=ftp://10.0.0.12/centos7  ks=ftp://10.0.0.12/centos7.cfg 

label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://10.0.0.12/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://10.0.0.12/centos7

完成保存,重启tftp服务就完成了自动化linux安装了

局域网内的裸机,都可以自动化安装系统啦

项目完成

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值