CentOS 7实现PXE支持CentOS5,6,7的系统安装

本博主要目的为实现自定义页面自动化安装系统,基于PXE支持的网卡,目前实现环境为VMware虚拟机。所用镜像为CentOS6.9,CentOS7.3及rhel5.4。支持中小规模自动化系统统一安装。

另:如果最近常见到pxe相关博文,多半为本人的同期,还请不要在意内容的重复性。不同人眼中的pxe自动化安装,如此理解吧。

环境准备
1.网络环境:独立网络环境配备
实验中需要配置dhcp服务器,所以多余的网络会和本地dhcp服务器造成冲突。
本人的虚拟机里仅选用了一个独立网卡,同时主机配置静态IP。

2.外部环境:这里主要指防火墙和SElinux,二者会对实验造成影响,所以这里,关掉会省去很多麻烦。
3.安装必要软件包:这里syslinux包里的几个文件是必须的,dhcpd包提供dhcp服务器环境配置,tftp-server是轻文本传输用到的。httpd和ftpd选装一个就OK,主要是我们从网站或ftp服务器上获取数据使用。
yum install httpd dhcp tftp-server syslinux –skip-broken

原理及过程
从网络获取镜像文件,并独立配置安装菜单选项,网络引导。
当某机使用完成后的环境安装系统时,首先网卡启动,然后向本机,即dhcp服务器申请IP。IP获得后,tftp负责文本传输,得到网站上的pxe启动文档等信息,并根据引导文件安装系统。
这里为了简便,dhcp服务器及http网站等均由本机担任。

实现步骤
1.dhcpd文件配置
[root@CentOS7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#上面的第一个文件是模板,第二个是配置文件
[root@CentOS7 ~]# vim /etc/dhcp/dhcpd.conf
#查照此文件中的模板添加下信息,此段信息最好放在原文件中第一个subnet上方。
subnet 192.168.23.0 netmask 255.255.255.0{
  range 192.168.23.10 192.168.234.100;
  option routes 192.168.23.7;
  next-server 192.168.23.7;        #此处为本机IP
  filename “pxelinux.0”;        #pxe启动文档
}

2.开启服务
systemctl enable dhcpd httpd tftp 将服务设为开机启动
systemctl start dhcpd httpd tftp 启动服务
systemctl status dhcpd httpd tftp 查看服务状态

3.挂载镜像文件到http
确保三个镜像都已连接,然后按顺序挂好。不要弄错了。

    cd /var/www/html/

    mkdir centos{6,7}
    mkdir rhel5

    echo ‘- – -‘ > /sys/class/scsi_host/host2/scan
    mount /dev/sr0 /var/www/html/centos7

    mount /dev/sr1 /var/www/html/centos6
    mount /dev/sr2 /var/www/html/rhel5
    也可以把挂载写入/etc/fstab文件。

rhel5的.cfg文件如下:
# Kickstart file automatically generated by anaconda.
 
install
url –url=http://192.168.23.7/rhel5
key –skip
lang zh_CN.UTF-8
keyboard us
xconfig –startxonboot
network –device eth0 –bootproto dhcp –hostname rhel5.4.centos.com
rootpw –iscrypted $1$YntMaKAR$vXCZ6J8hGwcRtfso7lk9o.
firewall –enabled –port=22:tcp
authconfig –enableshadow –enablemd5
selinux –disabled
timezone Asia/Shanghai
bootloader –location=mbr –driveorder=sda –append=”rhgb quiet”
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart –linux
zerombr
clearpart –all
reboot
 
text
part /boot –fstype ext3 –size=100
part / –fstype ext3 –size=51200
part /app –fstype ext3 –size=10240
part swap –size=1024
 
%packages
@admin-tools
@base
@core
@dialup
@editors
@graphical-internet
@graphics
@legacy-software-support
@office
@printing
@text-internet
@base-x
kexec-tools
fipscheck
sgpio
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest

5.准备相关文件,必备文件如下:
pxelinux.0(pex引导文件),menu.c32(图形菜单),vmlinuz内核文件,initrd.img初始根文件系统
配置文件:isolinux.cfg改名为pxelinux.cfg/default
    cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
    mkdir /var/lib/tftpboot/centos{6,7}
    mkdir /var/lib/tftpboot/rhel5
    cp /var/www/html/rhel5/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/rhel5
    cp /var/www/html/centos6/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/centos6
    cp /var/www/html/centos7/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/centos7
    mkdir /var/lib/tftpboot/pxelinux.cfg/
    cp /var/www/html/centos/7/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
此环节准备的文件均在/var/lib/tftpboot下,以便通过tftp获取文件。

[root@centos7 tftpboot]# tree /var/lib/tftpboot
.
|– centos6
|  |– initrd.img
|  `– vmlinuz
|– centos7
|  |– initrd.img
|  `– vmlinuz
|– menu.c32
|– pxelinux.0
|– pxelinux.cfg
|  `– default
`– rhel5
    |– initrd.img
    `– vmlinuz
 
4 directories, 9 files

6.编辑自动化安装页面菜单
即编辑/var/lib/tftpboot/pxelinux.cfg/default文件。其基本信息如下:
[root@centos7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
 
menu title CentOS Linux 7
label centos7
  menu label ^Auto Install CentOS Linux 7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img ks=http://httpsrv/ksdir/ks7.cfg
label centos6
  menu label Auto install CentOS Linux ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img  ks=http://httpsrv/ksdir/ks6.cfg
label manualcentos6
  menu label ^Manual install CentOS Linux 6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img  inst.repo=http://httpsrv/centos/6/
label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff
menu end

这样制作过程便OK了。期间可能出现小的错误导致服务不能正常重启。还要就事论事,一项项排除。主要步骤就是这些了。

安装测试

设置网卡与服务器(即上面配置的主机)为同一网段,即仅能连接到服务器端,不能连接到其他网络环境。
如果是没有装过操作系统的新机开机就会自动装载系统,不过,需要你手动选择要安装的系统哦。默认可是按本地磁盘启动的。
安装过操作系统的若想覆盖安装,则要在bios里调整��动顺序,将网络引导调至最上面。

本人测试后,centos6与rhel5都能成功安装,centos7还有些小bug。麻烦知道问题所在的亲们略微指点了。或者本人找出解决办法后会再来更新的。
对了,rhel5的中文包没装,图形化可能不舒服,需要的暂自行解决下。十一快乐哦。命令行没事的哦。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/223751.html<

(0)
运维的头像运维
上一篇2025-04-16 02:50
下一篇 2025-04-16 02:51

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注