环境
1.配置静态IP
2.已下载多个系统的镜像
3.创建文件夹防止混淆
mkdir /var/lib/tftpboot/Centos7
mkdir /var/lib/tftpboot/Redhat8
mkdir /var/www/html/centos7
mkdir /var/www/html/redhat8
演示:Centos7,Redhat8
Centos7 PXE配置
1.新建虚拟机 注意:如下配置
目的是:会自动找寻局域网内的安装驱动(及PXE)
目的是:获得MAC地址 为了之后的IP与MAC绑定
目的是:解决因为内存导致的,无法安装的问题
2.配置Centos PXE
2.1 配置DHCP
DHCP作用:用来简化主机地址分配管理
软件包:dhcp
服务名;dhcpd
配置文件:/etc/dhcp/dhcpd.conf
-
安装软件包
yum -y install dhcp -
修改配置文件
vim /etc/dhcp/dhcpd.conf
光标放到最后一行 删除 subnet之后的所有字段
: r /usr/share/doc/dhcp*/dhcpd.conf.example
- 字段说明与修改
subnet 子网 netmask 子网掩码
range 分配的IP地址范围;
domain-name-server DNS服务器地址;
domain-name 删掉
routers 网关地址
broad adress 删掉
添加
next-server TFTP的IP地址; 就是本地IP
filename "Centos7/pxelinux.0"; 该路径为/var/lib/tftpboot/Centos7/pxelinux.0
- 启动服务 systemctl restart dhcpd
2.2 配置TFTP服务
软件包:tftp-server
服务名:tftp
默认共享路径:/var/lib/tftpboot
安装TFTP服务
yum -y install tftp-server
启动服务
systemctl restart tftp
安装提供引导文件的软件
将引导安装文件安装到配置DHCP的默认路径下
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/Centos7/
2.2.1 部署菜单文件
1.挂载的操作系统的镜像
mount centos7镜像 /var/www/html/centos7
2.进入centos7镜像文件中找到isolinux.cfg(菜单文件)
cd centos7镜像/isolinux/
cp centos7镜像/isolinux/isolinux.cfg(路径) /var/lib/tftpboot/Centos7/pxelinux.cfg/default(pxelinux.cfg目录是自己创建的)
3.部署背景图片
cd centos7镜像/isolinux/
将splash.png 复制到 /var/lib/tftpboot/Centos7下面
4.修改菜单文件 /default
删除 label check及其以下
删除 label linux 删除inset*(因为不从光盘安装)
2.2.2 部署启动内核,驱动程序
vmlinuz (启动内核文件) 复制到/var/lib/tftpboot/Centos7/
initrd.img (驱动程序文件) 复制到/var/lib/tftpboot/Centos7/
vesamenu.c32 (图形模块) 复制到/var/lib/tftpboot/Centos7/
pxelinux.0 复制到/var/lib/tftpboot/Centos7/
/var/lib/tftpboot/Centos7/路径下的文件
/var/lib/tftpboot/Centos7/pxelinux.cfg/default 修改后 (注意ks变量不可以修改 文件名可以修改)
3. 部署Http服务
提供安装系统的软件包
1.安装httpd
yum -y install httpd
systemctl start httpd
2.将光盘内容安装到httpd的共享文件下/var/www/html/centos7下
3.当可以用http服务访问到文件即可
如果不行,使用ftp试试
成功标志:
4. 部署应答文件
安装图形生成应答文件工具:
yum -y install system-config-kickstart
使用
system-config-kickstart
显示软件包选择,无法下载将仓库的标识[local] 改为[development] 如果已经有安装的了 可以直接修改之后的ks.cfg文件 推荐第二种适合多系统
部分过程
GPUB引导程序必须选择
软件包选择
在安装系统后添加用户
脚本文件写
1.写好ks.cfg脚本文件后,将其复制到/var/www/html中并更改内容(目的是设置即将安装的软件包)
找到已完全安装的Centos7 vim /root/anaconda-ks.cfg
复制到ks.cfg中
2.更改default
在img 后面 添加 ks=http://主机IP/ks.cfg
改为 timeout 60
在label linux 中的install下写上
menu default
如何使用:
开启虚拟机后,自动安装
配置RedHat8 PXE
新建虚拟机 如上
Redhat8 PXE配置
配置DHCP
配置TFTP
cp -rf /usr/share/syslinux/* /var/lib/tftpboot/Redhat8/
mkdir /var/lib/tftpboot/Redhat8/pxelinux.cfg
mount /dev/sr0 /var/www/html/redhat 注意此处最好使用VM导入 而不是下载后的镜像 前者的位置在/dev/sr0 后者位置在/dev/loop 后者不一定可以读取文件
cp /var/www/html/redhat/isolinux/vmlinuz /var/www/html/redhat/isolinux/initrd.img /var/lib/tftpboot/Redhat8/
配置default (路径:/var/lib/tftpboot/Redhat8/pxelinux.cfg)
配置HTTP如上
配置应答文件如上 (只不过将ks.cfg复制的对象变为 Redhat下的anaconda-ks.cfg)
2.网络主机概述
1.规模化 自动化 远程实现
system-config-kickstart 中 注意磁盘容量的分配
/boor 1024M / 1M
所需内存 4G可运行
3.PXE概述
什么是PXE网络:
预启动执行环境,在操作系统之前运行,可用于远程安装
工作模式:
当计算机引导式,从网卡芯片中把PXE client调入内存执行,获取PXE server配置
PXE组件及过程分析
DHCP服务 用于分配IP地址 定位引导程序
TFTP服务 简单的文件传输协议 提供引导程序下载
HTTP服务(或FTP,NFS) 提供yum安装源
遇到的问题:Warning:/dev/root/ does not exist
原因:就是你的机器内存给的太小了。
解决方法:就是把机器内存提升到2G或以上
踩的坑
1.内存给的太小 无法安装
2.软件包没有该依赖 直接选择安装正常服务机的软件包
3.GRUP引导程序未安装 安装后黑屏且左上角有光标闪烁
4.安装后没有图形界面 init 5启动图形界面
5.客户机静态IP会掉 可能原因与服务机的dhcp冲突 停掉服务机的dhcp服务后 在重启静态IP
参考文献:https://blog.csdn.net/qq_31985307/article/details/120927233
横有千古,纵有八荒,前途似海,来日方长。