PXE 装系统

PXE装系统流程

1 客户端启动系统,选择从网卡启动
2 从DHCP服务器中获取到IP等信息
3 从DHCP服务器中获取tftp server及网络引导程序pxelinux.0
4 通过网卡读取tftp server上的pxelinux.0到内存中
5 在内存中执行pxelinux.0
6 去tftp server上的pxelinux.cfg/default 读取引导程序的配置文件

配置 DHCP 和 TFTP

安装 dhcp 和 tftp-server

yum -y install dhcp tftp-server

编辑 DHCP 配置文件

拷贝 DHCP 配置文件模板

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
# dhcpd.conf
...
#上半部分是全局的配置
#全局配置,子模块未配置,则以全局配置为准
#全局配置,子模块也配置,则以子模块配置为准
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
next-server 192.168.1.100;   #添加:指定tftp地址
filename "pxelinux.0";   #添加:指定网络引导程序
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
...

#subnet 是子模块配置
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.50 192.168.1.99;   #地址池范围
  option domain-name-servers 192.168.1.11,192.168.1.111;   #DNS地址(有主备两个DNS可以写两个,没有就注释)
  option domain-name "example.cn";   #域(会在resolv.conf文件中生成search example.cn),作用ping server1等于ping server1.example.cn 
  option routers 192.168.1.1;   #网关
  option broadcast-address 192.168.1.255;   #广播地址
  default-lease-time 600;   #租约期
  max-lease-time 7200;
}
...

启动 DHCPD 和 TFTP

systemctl start dhcpd
[root@pxe-linux ~]# ss -natpul |grep 67
udp    UNCONN     0      0         *:67                    *:*                   users:(("dhcpd",pid=7730,fd=7))

systemctl start tftp
[root@pxe-linux ~]# ss -natpul |grep 69
udp    UNCONN     0      0        :::69                   :::*                   users:(("in.tftpd",pid=7797,fd=0),("systemd",pid=1,fd=43))

拷贝网络引导程序 pxelinux.0 文件

先查找 pxelinux.0

[root@pxe-linux ~]# locate pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
#locate 用于查找符合条件的文档。需要安装mlocate和执行updatedb命令
#updatedb:用来创建或更新 locate 命令所必需的数据库文件。

#如果没有 pxelinux.0 此文件,说明未安装syslinux(可以通过yum provides "*/pxelinux.0"反向查找到软件名)

拷贝

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

引导程序的配置文件

拷贝镜像中 isolinux 下的开机菜单为引导程序的配置文件

mkdir /var/lib/tftpboot/pxelinux.cfg
#我的镜像在另外的机器(181)上挂载
scp /var/ftp/rhel7.5/isolinux/isolinux.cfg 192.168.1.100:/var/lib/tftpboot/pxelinux.cfg/default

拷贝镜像中 isolinux 下的所有文件至tftp server
加载 pxelinux.cfg/default 配置文件的依赖

scp /var/ftp/rhel7.5/isolinux/* 192.168.1.100:/var/lib/tftpboot/
#
#其中最主要的两个文件
# vmlinuz:内核
# initrd.img:驱动程序(一定要匹配OS),Redhat6、Redhat67、Centos7

PS:安装多个系统的方法

例如:Redhat6.5

mkdir /var/lib/tftpboot/rhel6.5

#复制Redhat6.5镜像中的vmlinuz和initrd.img
scp /var/ftp/rhel6.5/images/pxeboot/* 192.168.1.100:/var/lib/tftpboot/rhel6.5

#修改开机菜单(添加rhel6.5的菜单)
vim /var/lib/tftpboot/pxelinux.cfg/default
...
#添加
label rhel6
  menu label ^Install Redhat 6.5
  kernel /rhel6.5/vmlinuz
  append initrd=/rhel6.5/initrd.img
...

创建 kiskstart 文件

每个系统在 /root 下都会含有 anaconda-ks.cfg 这个文件,可以使用这个文件按自己的需要修改后使用,也可以通过system-config-kickstart图形工具生成新的。

使用xshell连接的需要安装 xorg-x11-xauth 包,然后配置xshell属性,才可以打开图形工具
在这里插入图片描述

#安装 system-config-kickstart 命令
yum  install -y system-config-kickstart


system-config-kickstart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

获取安装包这一步的 Yum 仓库配置

vim /etc/yum.repos.d/local.repo 
[development]   #必须是此名字,如果不是则回去不到包
name=rhel7.5
baseurl=ftp://192.168.1.181/rhel7.5
gpgcheck=0
enabled=1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置 ks.cfg 支持 LVM

编辑 ks.cfg 文件 总的 Disk partitioning information 部分

vim ks666.cfg
...
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part swap --fstype="swap" --size=4096
#part / --fstype="xfs" --size=51200
part pv.01 --grow --size=1
volgroup vg_system pv.01
logvol / --fstype="xfs" --name=lv_root --vgname=vg_system --grow --size=1
...

共享 ks666.cfg 文件

yum -y install httpd
systemctl start httpd
mkdir -p /var/www/html/ks
cp ks666.cfg /var/www/html/ks/
curl http://192.168.1.100/ks/ks666.cfg   #能访问到就可以

配置无人值守安装

修改引导程序的配置文件

#修改开机菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
...
timeout 60   #设置等待时间为6秒
...
#指定ks菜单
label linux
  menu label ^Install Redhat 7.5
  menu default   #光标默认位置,只能有一个(6秒后默认引导安装此系统)
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.1.100/ks/ks666.cfg
...

使用 PXE 安装系统

进入 BIOS 界面,选择以网卡启动。
我这里物理机的型号是:IBM System x3650,开机按 F12 进入 BIOS(加载过程比想象中的长)。
在这里插入图片描述

报错一:没有找到引导程序 pxelinux.0 文件

在这里插入图片描述

参考课程:https://www.bilibili.com/video/BV1gA411i7tv?from=search&seid=9298551076595249602

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值