批量安装centos7服务器

本文详细介绍了如何利用PXE进行CentOS7的自动化安装,包括环境准备、服务器配置、DHCP、TFTP和HTTP服务设置,以及kickstart.cfg配置文件的创建与验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用PXE自动化安装centos7

前言

  PXE的功能及原理。大概解释一下意思就是:

  1. 启动计算机的时候如果没有插入U盘以及光驱等介质的话,boot启动项是有一个从PXE启动的选项,如果都没有则会从pxe启动。
  2. PXE上的DHCP客户端会向DHCP服务器,申请IP地址,DHCP服务器分配一个IP址地给它,同时DHCP服务器还会告诉客户端配置文件名称以及TFTP服务器的地址,让PXE客户端去下载。
  3. 配置文件(一般是pxelinux.0)告诉PXE客户端系统的安装启动项是在pxelinux.cfg目录下面的default这个文件里。
  4. PXE下载并依据配置文件的内容下载启动必须的文件,并通过kickstart.cfg 配置文件开始安装系统
  5. 使用cobbler 也可以自动化安装,这个是二次封装,用着相对简单一点,感兴趣的可以自行搜索。有时间我会再写一篇。

环境准备

  这里我提前安装了一台centos7,来当服务器。

服务器需要安装:

dhcp服务:用来给刚开机的客户端分配ip地址以及告知配置文件和tftp服务器的IP地址。
tftp服务:用来给客户端提供所需配置文件的下载路径。
httpd/vsftpd服务:两者选一即可,用来让客户端下载镜像。
xinetd服务:用来接管tftp服务,来做一些策略。
syslinux: 需要从这里来拷贝pxelinux.0等文件。
总之一条命令:

[root@localhost tftpboot]# yum install dhcpd tftp-server httpd syslinux xinetd -y

#其中httpd可换成vsftpd,我这里就用httpd做了,就不安装vsftpd了
服务器需要的配置:
  1. 关闭防火墙
关闭防火墙
      systemctl stop firewalld.service     
      #关闭防火墙
      systemctl disable firewalld.service  
      #取消防火墙开机自启动
      setenforce 0     
      #临时关闭防火墙
      getenforce       
      #获取防火墙状态
      把/etc/selinux/config 里的SELINUX=enforcing 改成 SELINUX=disabled 
      #来永久关闭selinux
      #centos 7 现在使用firewalld.service代替iptables,并且使用systemctl来管理比较方便#

  1. 配置静态ip
    因为dhcp服务器需要,所以需要把服务器更改成静态ip
    [root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens37
      TYPE="Ethernet"
      PROXY_METHOD="none"
      BROWSER_ONLY="no"
      BOOTPROTO="static"
      DEFROUTE="yes"
      IPV4_FAILURE_FATAL="no"
      IPADDR=192.168.2.1
      NETMASK=255.255.255.0
      NAME="ens37"
      DEVICE="ens37"
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值