这里写自定义目录标题
1 PXE通过网卡引导的技术
全称:Pre-Boot Execution Environment
1.1 先决条件:
- BIOS支持
- 网卡支持
10年前 额外购买网卡今天网卡都是主板自带的,一般都支持PXE3.需要在BIOS中开启这个开关 服务器 BMC界面打开 - 到目前100%支持
- 部署一台服务器,在服务器上安装DHCP+tftp
1 配置服务器
系统centos7
1.2 网络配置
1.2.1 有的不用打开也能使用
vim /etc/sysconfig/network-scripts/ifcfg-ens33
1.3 挂载磁盘
打开验证:firefox http://192.168.6.128/pub &
/dev/cdrom /var/www/html/pub iso9660 defaults,loop 0 0
1.4 yum配置
命令:
mount /dev/cdrom /media
vim /etc/yum.repos.d/dvd.repo
案例:
[development]
name=rhel7
baseurl=file:///run/media/root/CentOS\ 7\ x86_64/
enabled=1
gpgcheck=0
命令:
yum clean all
yum makecache
yum -y install dhcp tftp-server
## 1.5 配置DHCP
cd /etc/dhcp/
vim dhcpd.conf
可以看到模板
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf
systemctl enable dhcpd
暂时不用全局配置
如果全局和子配置都写了以子配置为准
使用子配置
下面是针对DHCP配置文件中每一行的解释:
-
subnet 192.168.6.0 netmask 255.255.255.0
- 定义了一个子网,其IP地址范围为192.168.6.0到192.168.6.255,并使用了255.255.255.0的子网掩码。 -
range 192.168.6.11 192.168.6.88
- 指定了可分配给客户端的IP地址范围,从192.168.6.11到192.168.6.88。 -
option domain-name-servers 192.168.6.1,192.168.6.100
- 设置了域名服务器的IP地址。在这个例子中,服务器的IP地址为192.168.6.1和192.168.6.100。 -
option domain-name "xps.com"
- 设置了域名。在这个例子中,域名为"xps.com"。 -
option routers 192.168.6.254
- 设置默认的网关地址,即客户端发送数据包时应该使用的路由器的IP地址。 -
option broadcast-address 192.168.6.255
- 设置广播地址,用于向特定子网内的所有设备广播消息。 -
default-lease-time 600
- 设置默认的租约时间,即客户端获得IP地址的有效时间,单位为秒。在这个例子中,为600秒。 -
max-lease-time 7200
- 设置最大租约时间,即客户端可以保持IP地址的最长时间,单位为秒。在这个例子中,为7200秒。
1.6 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
vim /etc/selinux/config
1.6.1 或者防火墙放行http、tftp服务
Selinux保持开启状态。
1.7 不关闭disable
vim /etc/xinetd.d/tftp
1.8 安装xinetd
yum -y install xinetd
systemctl enable --now xinetd
必须要看到打开69
2 配置tftp
yum install syslinux-tftpboot -y
next-server 192.168.6.100;
filename “pxelinux.0”;
- next-server: 这个配置项指定了 PXE 启动服务的 TFTP 服务器的 IP 地址。当 DHCP 客户端通过 DHCP 协议从 DHCP 服务器获得 IP 地址时,它还可以得到 TFTP 服务器的 IP 地址,并从这个服务器下载相关的启动文件。 可以选择其他ip
- filename: 这个配置项指定了 PXE 启动时使用的启动文件的名称。DHCP 客户端在获得 TFTP 服务器的 IP 地址后,会通过 TFTP 协议从指定的服务器下载这个文件,并执行其中的程序来完成系统的启动过程。在这个例子中,启动文件的名称是 “pxelinux.0”,它是一个常用的 PXE 启动器。
2.1 pxe的根
vim /etc/xinetd.d/tftp
找到pxelinux.0
locate pxelinux.0
yum provides "*/pxelinux.0"找到啦
yum install -y syslinux-4.05-15.el7.x86_64 #安装
rpm -ql syslinux|grep pxe #可以查到
3 启动顺序
正常服务器启动顺序
一、BIOS自检
二、 读取引导程序
1.GRUB(一段固定的可执行代码 )
CCCC
2.BIOS执行引导程序
3.引导程序读取配置文件/boot/grub/grub.conf
3.1 配置pxelinux.0
但是我们要从网络开始启动
rm -rf /var/lib/tftpboot/*
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /光盘/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp -rf /光盘/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
systemctl restart xinetd.service
systemctl restart dhcpd
找到引导程序了
光盘里面的
vim isolinux.cfg #里面的都是开机选择项目
重启客户端找到配置文件
3.2 读取default中的内容
这两个文件非常重要
vmlinuz 内核
initrd.img 驱动程序
一定有一个文件夹叫images
4 装多个系统
要有心理准备,会跑很慢
5 无人值守安装
yum install httpd -y
systemctl enable --now httpd
yum install -y system-config-kickstart.noarch
system-config-kickstart #会自动弹出界面
.
可以添加分区
这里的名字不能改
改了这里就看不到了
在文件中写入你想要的数据
```shell
systemctl restart xinetd.service
systemctl restart dhcpd
systemctl restart httpd
6 扩展:
装机就有
ss -tunlp|grep 67
批量配置raid
fusionDirector
查看内核网络名
dmesg|grep eth