CentOS 7无人值守网络装机

一、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/

挂载ISO文件至FTP

mkdir -p /var/ftp/pub/centos7-dvd

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

复制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子项的内容进行修改

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秒

 

 

 

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

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

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

文件保存至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 /var/ftp/pub/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 

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

 

关闭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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值