CentOS 7.5 PXE装配简易应用
2017.12.07 TsengYia
---- http://tsengyia.blog.chinaunix.net/
系统环境:
CentOS Linux release 7.5.1804 (Core)
软件环境:
syslinux-4.05-15.el7
#################################################################
一、准备一台CentOS7服务器
1)配置好固定主机名pxesvr、IP地址 192.168.10.7/24
# hostnamectl set-hostname pxesvr
# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.10.7/24
# nmcli connection up ens33
2)关闭防火墙、禁用SELinux保护机制
# systemctl disable firewalld --now //禁止开机自启,并立即停止
# vim /etc/selinux/config
SELINUX=disabled
# setenforce 0
3)把CentOS7的光盘(如果是虚拟机,要连接好ISO文件)挂载到 /mnt/dvd
# mkdir /mnt/dvd
# mount /dev/cdrom /mnt/dvd
4)使用 /mnt/dvd 目录作为临时的软件源
# rm -rf /etc/yum.repos.d/*.repo
# yum-config-manager --add file:///mnt/dvd
# vim /etc/yum.conf
gpgcheck=0
# yum repolist
二、提供DHCP服务
1)为客户机分配IP地址相关参数
2)告诉客户机下一步去找哪一台服务器、去索取一个网卡启动文件
!!!! Linux系统配置文件中的注释标记 #
!!!! 停用工作网络(比如NAT)中其他DHCP服务(比如VMware自带),避免冲突
# yum -y install dhcp
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
next-server 192.168.10.7; //告知下一个服务器(TFTP)的地址
filename "pxelinux.0"; //告知需要下载的网卡启动文件名
}
# systemctl enable dhcpd --now //设置开机自启,并立即启动
其他备用配置参考:
#option routers 默认网关地址;
#option domain-name-servers DNS服务器1地址,DNS服务器2地址;
#default-lease-time 3600; //默认租约时间
#max-lease-time 7200; //最大租约时间
三、为客户机提供软件包资源(Web方式)
1)装httpd包
# yum -y install httpd
2)部署软件包资源
# mkdir /var/www/html/cos7dvd
# cp -r /mnt/dvd/* /var/www/html/cos7dvd
.. .. 请耐心等待,不要中断
3)起httpd服务
# systemctl enable httpd --now
从本机浏览器访问 ,能看到软件资源页
四、提供网络启动相关的文件(构建TFTP启动服务器)
1)网卡启动文件 pxelinux.0
由软件包 syslinux 提供(/usr/share/syslinux/pxelinux.0)
2)启动菜单配置 pxelinux.cfg/default (配置模块文件、背景图片……)、加载CentOS7系统安装程序(vmlinuz、initrd.img)
从CentOS7光盘目录isolinux/下获得
# yum -y install tftp-server //安装TFTP服务软件
# yum -y install syslinux
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //部署启动文件
# cp /mnt/dvd/isolinux/* /var/lib/tftpboot/ //部署配套文件
# cd /var/lib/tftpboot/
# mkdir pxelinux.cfg //创建配置目录
# cp isolinux.cfg pxelinux.cfg/default //建立默认菜单配置
# vim pxelinux.cfg/default
查找 label linux,修改下方的 append 行,inst.stage2=后指定软件包来源地址
append initrd=initrd.img inst.stage2=
# systemctl enable tftp --now //启动TFTP服务端
测试TFTP资源是否可以下载:
# cd /root
# yum -y install tftp
# tftp 192.168.10.7 -c get pxelinux.0
# ls -lh pxelinux.0
五、测试PXE网络启动及安装
1)新建一台虚拟机(CentOS64位、内存>2G)
2)把虚拟机开机客户机从网卡启动
---- DHCP自动获取到地址
---- 连接TFTP服务器
---- 下载pxelinux.0启动文件
---- 获取菜单配置文件 pxelinux.cfg/default
3)看到安装菜单 ==》选择安装Install CentOS7
---- 下载 vmlinuz、initrd.img
---- 运行内核文件、加载安装程序、确保能看到图形选语言界面、……
---- 手动指定安装来源
---- 后续过程与光盘安装类似,可以不用完成安装,关闭虚拟机即可
!!!! 若客户机的内存太小,开机PXE引导时容易出现内核崩溃(kernel panic)现象
六、提供自动应答文件(回答安装过程中的各种问题)
1)如何获取应答文件
# vim /etc/yum.repos.d/*.repo
[development] //源的ID要求 改成 development
# yum -y install system-config-kickstart
# system-config-kickstart
基本配置:语言、时区、管理密码
安装方法:全新安装、HTTP安装源的设置
安装引导装载程序:安装新引导装载程序
分区:三个单选都选第一项、添加 swap 2000M、/ 剩余所有空间
网络配置:添加一个连接(DHCP)
软件包选择:勾选“桌面”下除了KDE以外的所有软件类
安装后脚本,参考以下内容:
rm -rf /etc/yum.repos.d/*.repo
echo '[cos7dvd]
name=added from: file:///mnt/dvd
baseurl=
enabled=1
gpgcheck=0
' > /etc/yum.repos.d/cos7dvd.repo
yum -y install httpd
echo 'XXXX' > /var/www/html/index.html
cp -rf upload/* /var/www/html/
systemctl enable httpd
.. ..
—— 保存到 /root/ks.cfg
2)如何让客户机用上这个应答文件
# cp /root/ks.cfg /var/www/html/ks-cos7.cfg
# 浏览器访问
# vim /var/lib/tftpboot/pxelinux.cfg/default
查找 linux,修改下方的 append 行,
删除 inst.stage2= 部分,换成 ks=应答文件的下载地址
append initrd=initrd.img ks=
七、客户机无人值守安装测试
1)新建一台虚拟机(CentOS64位、内存>2G)
2)把虚拟机开机客户机从网卡启动
---- DHCP自动获取到地址
---- 连接TFTP服务器
---- 下载pxelinux.0启动文件
---- 获取菜单配置文件 pxelinux.cfg/default
3)看到安装菜单 ==》选择安装CentOS7
---- 下载 vmlinuz、initrd.img
---- 运行内核文件、加载安装程序、确保能看到图形选语言界面、……
---- 自动完成安装过程
#################################################################
阅读(1106) | 评论(0) | 转发(0) |