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/
复制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 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
(二). 客户端配置
- 修改客户端内存至少为2G
- BIOS引导顺序调整为从网络启动
- 等待自动安装即可!
- 安装完成后登陆:root密码为123456
上一篇: 其他综合-Kickstart无人值守安装系统CentOS 7
下一篇: STM32串口升级