欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7无人值守网络装机

程序员文章站 2022-03-21 21:30:07
...

一、PXE服务器的搭建说明

    功能:实现网络装机服务

    条件

        服务器端配置:

            DHCP服务

            TFTP服务

             FTP/HTTP/NFS服务

        客户端配置:

             内存至少2G

             网卡必须支持PXE协议,如果不支持,就需要在主板上添加一块支持PXE协议的网卡

             修改BIOS启动顺序为网络启动

二、PXE服务配置

(一). 服务端配置

1、安装软件

yum install -y dhcp tftp-server xinetd syslinux vsftpd 

* dhcp:客户端请求tftp资源前需要先通过dhcp获取地址(只能dhcp,不能静态,因为系统没安装好)

* tftp:负载下发引导和无人值守配置文件

* syslinux:涉及系统引导相关的小文件,通过tftp传给客户端

* ftp:负责下发ISO镜像文件

 

 

 

2、搭建TFTP服务

修改配置文件:

vim /etc/xinetd.d/tftp

      修改:

       server_args             = -s /tftpboot

       disable                 = no

创建tftp文件夹:

mkdir /tftpboot

启动服务:

systemctl start xinetd

systemctl enable xinetd

检查服务:

systemctl status xinetd

 

创建内核初始化菜单目录

mkdir -p /tftpboot/pxelinux.cfg

复制系统引导文件至tftp服务根目录

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

复制isolinux目录下的文件至TFTP根目录

cp /var/ftp/pub/centos7-dvd/isolinux/* /tftpboot/

复制内核初始化引导菜单文件至菜单目录中

cp /var/ftp/pub/centos7-dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

编辑内核初始化引导菜单文件

vim /tftpboot/pxelinux.cfg/default

* 找到label linux子项的内容进行修改

CentOS 7无人值守网络装机

label linux 
  menu label ^Install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://10.0.0.72/pub/ks7.cfg net.ifnames=0 biosdevname=0 quiet

* 主要在append开头的行添加ks=ftp://10.0.0.72/pub/ks7.cfg

* net.ifnames=0 biosdevname=0参数表示修正网卡默认名称为eth0(CentOS 7默认网卡名称是ens33)

* menu default:进入内核引导菜单时,将鼠标光标移到第1个选项(默认是第2个选项)

* PS1:记得删除append处的inst.stage2=…的内容,此部分的内容使用的安装方式是U盘或DVD安装,如果不删除的话,就无法进入安装. 届时会提示:/dev/root does not exist

* PS2:注意修改IP地址

* 另外,还可以修改/tftpboot/pxelinux.cfg/default第2行的超时时间,那里的超时时间表示在内核引导菜单停留的时间:默认600,表示停留60秒,此处修改为6秒

CentOS 7无人值守网络装机

 

 

 

3、搭建DHCP服务

备份配置文件:

cp /etc/dhcp/dhcpd.conf{,.ori}

更改配置文件:

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf  

或者

cat > /etc/dhcp/dhcpd.conf << EOF

default-lease-time 600;

max-lease-time 7200;


log-facility local7;


subnet 10.0.0.0 netmask 255.255.255.0 {

    range 10.0.0.100 10.0.0.200;

    option routers 10.0.0.2;

    option domain-name-servers 223.5.5.5,114.114.114.114;

    next-server 10.0.0.72;

    filename "pxelinux.0";

}

EOF

检查配置文件:

cat /etc/dhcp/dhcpd.conf

开启服务:

systemctl start dhcpd

systemctl enable dhcpd

检查服务:

systemctl status dhcpd

 

 

4、生成kickstart无人值守配置文件

使用kickstart生成ks.cfg文件,并存于ftp的pub目录下

软件安装

yum -y install system-config-kickstart

使用kickstart生成ks.cfg文件(需要图形化界面)

# PS:需要先安装图形化界面(已有图形化界面可忽略)

yum groupinstall -y "GNOME Desktop"

# 为了让kick能识别软件包,需要给yum添加一个源

cat > /etc/yum.repos.d/pxe.repo << EOF

[development]

name=pxe

baseurl=ftp://192.168.13.180/pub/dvd/

enabled=1

gpgcheck=0

EOF

# 更新yum缓存

yum clean all

yum makecache

# 开始配置

system-config-kickstart

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

CentOS 7无人值守网络装机

PS1:此处安装的是图形化桌面,后面的命令选择的是最小化安装

PS2:软件包选择这里,需要我们前往目录/etc/yum.repos.d下新建一个1.repo文件,仓库名设置为development才能正常选择

CentOS 7无人值守网络装机

文件保存至FTP公共目录下,即/var/ftp/pub

 

或使用如下命令生成:

cat > /var/ftp/pub/ks7.cfg << EOF
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use network installation
url --url="ftp://10.0.0.72/pub/centos7-dvd"
# Install type: graphical or text
graphical
#text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network  --hostname=pxe-client

# Root password: 123456
rootpw --iscrypted \$6\$/iF5UPFG\$ovPhw5nCyHDjv.U.iHOGmfvP47bpTe2JOUEimeMay/hO7XVZoWiU17bNPhNvUmKXLPnwm8wBiTwLbw8sjL2fY1
# System services
firewall --disabled
selinux --disabled
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc --ntpservers=ntp.aliyun.com
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda 
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part swap --fstype="swap" --size=3072
part / --fstype="xfs" --grow --size=1

%packages
@^minimal
@compat-libraries
@core
@debugging
@development
@system-admin-tools

%end

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end
EOF

* 注意修改配置文件的IP地址

为ks.cfg文件添加执行权限

chmod +x ks7.cfg

 

5、搭建FTP服务(TFTP只适合传小的引导文件)

备份配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ori

修改配置文件:

sed -ri -e 's/#(ascii_download.*)/\1/g' -e '$aanon_root=/var/ftp/' -e '$alocal_root=/var/ftp/' /etc/vsftpd/vsftpd.conf 

这里不配置好的话,客户端无法从服务器获取镜像安装文件

配置客户端访问的文件夹

cd /var/ftp/pub/

mkdir centos7-dvd

复制/挂载系统盘(说明:生产环境下,一般把系统文件拷贝到这个目录下,这里为了方便,直接挂载)

mount /dev/sr0 /var/ftp/pub/centos7-dvd

关闭selinux和防火墙,否则用户会看不到挂载的文件夹

systemctl stop firewalld
setenforce 0

开启ftp服务

systemctl start vsftpd

systemctl enable vsftpd

检查服务:

systemctl status vsftpd

测试(重要):其他服务器上测试

wget ftp://10.0.0.72/pub/ks.cfg

 

 

(二). 客户端配置

  1. 修改客户端内存至少为2G
  2. BIOS引导顺序调整为从网络启动
  3. 等待自动安装即可!
  4. 安装完成后登陆:root密码为123456
相关标签: Linux学习