HCRM博客

手动PXE安装CentOS全攻略

PXE手动安装CentOS是一种高效的方式,尤其适合需要在多台计算机上部署操作系统的场景,PXE(Preboot Execution Environment)允许计算机通过网络启动,而无需依赖本地存储设备,CentOS作为一款稳定可靠的Linux发行版,广泛应用于服务器环境,手动安装过程虽然需要一些技术知识,但能够提供更大的灵活性和控制力。

手动PXE安装CentOS全攻略-图1

在开始之前,确保您具备基本的网络知识,并准备好一台支持PXE的计算机,安装过程涉及设置DHCP服务器、TFTP服务器以及配置引导文件,以下步骤将引导您完成整个流程。

准备一台服务器作为PXE引导服务器,这台服务器需要运行Linux系统,例如CentOS本身,安装必要的软件包,包括DHCP服务器和TFTP服务器,使用yum或dnf命令安装这些工具,运行以下命令来安装dhcp和tftp-server:

yum install dhcp tftp-server -y

安装完成后,配置DHCP服务器,编辑DHCP配置文件,通常位于/etc/dhcp/dhcpd.conf,在文件中添加以下内容,确保替换网络参数以适应您的环境:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8;
  filename "pxelinux.0";
  next-server 192.168.1.10;
}

这里,subnet定义您的网络范围,range指定IP地址池,filename指向PXE引导文件,next-server是TFTP服务器的IP地址,保存文件后,启动DHCP服务并设置为开机自启:

systemctl start dhcpd
systemctl enable dhcpd

配置TFTP服务器,TFTP用于传输引导文件和内核镜像,启用TFTP服务,编辑/etc/xinetd.d/tftp文件,将disable选项改为no:

service tftp
{
  socket_type = dgram
  protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /var/lib/tftpboot
  disable = no
}

创建TFTP根目录,并设置权限:

mkdir -p /var/lib/tftpboot
chmod 755 /var/lib/tftpboot

启动TFTP服务:

systemctl start xinetd
systemctl enable xinetd

需要准备CentOS的安装文件,下载CentOS的ISO镜像,并挂载到本地目录,将ISO文件挂载到/mnt/cdrom:

手动PXE安装CentOS全攻略-图2

mount -o loop CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom

复制必要的文件到TFTP目录,复制PXE引导文件:

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

从挂载的ISO中复制内核和初始RAM磁盘:

cp /mnt/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot/

创建PXE引导菜单,在TFTP目录中创建pxelinux.cfg目录:

mkdir /var/lib/tftpboot/pxelinux.cfg

在pxelinux.cfg目录中创建一个默认配置文件,命名为default,编辑该文件,添加以下内容:

default menu.c32
prompt 0
timeout 300
label centos7
  menu label Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.1.10/centos7 inst.ks=http://192.168.1.10/ks.cfg

这里,menu.c32是引导菜单程序,prompt和timeout控制引导行为,kernel指定内核文件,append行添加参数,其中inst.repo指向CentOS安装源的URL,inst.ks指向Kickstart文件用于自动化安装,如果您不使用Kickstart,可以省略inst.ks参数,但手动安装时建议使用它以简化过程。

设置HTTP或FTP服务器来提供安装文件,使用Apache HTTP服务器,安装Apache:

yum install httpd -y

将CentOS ISO中的文件复制到Web根目录:

cp -r /mnt/cdrom/* /var/www/html/centos7/

启动HTTP服务:

手动PXE安装CentOS全攻略-图3

systemctl start httpd
systemctl enable httpd

如果需要使用Kickstart自动化安装,创建一个Kickstart文件,示例文件内容如下,保存为ks.cfg并放置在Web服务器可访问的位置:

#version=DEVEL
install
url --url=http://192.168.1.10/centos7
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp
rootpw --plaintext yourpassword
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr
clearpart --all --initlabel
part / --fstype="ext4" --size=10240
part swap --size=2048
%packages
@base
@core
%end
%post
echo "Installation complete."
%end

这个文件定义了安装参数,如语言、网络设置和分区方案,替换yourpassword为实际密码,并确保URL正确。

完成以上配置后,测试PXE引导,将目标计算机设置为从网络启动,在BIOS或UEFI设置中,启用网络引导选项,重启计算机,它应该从PXE服务器获取IP地址,并加载引导菜单,选择“Install CentOS 7”选项,系统将开始安装过程,安装过程中,可能会提示您确认设置,如果您使用Kickstart文件,安装将自动进行。

在整个过程中,可能会遇到一些问题,如果DHCP服务未启动,检查防火墙设置,确保端口67和68开放,如果TFTP传输失败,验证文件权限和路径,使用日志文件,如/var/log/messages,来诊断问题。

手动PXE安装CentOS虽然步骤较多,但能够帮助您深入理解网络引导机制,这种方法特别适合企业环境,可以大幅提高部署效率,从我的经验来看,提前测试每个环节至关重要,尤其是在复杂网络环境中,确保所有服务配置正确,避免因小错误导致安装失败,定期更新CentOS镜像和软件包,以保持系统安全性和稳定性。

PXE安装不仅节省时间,还减少了物理介质的依赖,如果您是系统管理员,掌握这一技能将大大提升工作效率,耐心和细心是成功的关键,尤其是在处理网络配置时。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/45199.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~