搭建PXE网络装机服务器(实验详解)

打印 上一主题 下一主题

主题 550|帖子 550|积分 1650

概述

PXE(Preboot Execution Environment)是一种计算机网络协议,它允许计算机通过网络从长途服务器启动和安装操纵系统,而无需利用本地存储设备。PXE网络装机是一种常见的主动化操纵系统摆设方式,特殊适用于大规模计算机系统管理、服务器集群摆设、虚拟化环境以及无人值守的安装场景。
优点


  • 集中管理: 通过PXE网络装机,管理员可以集中管理操纵系统镜像、引导加载器和安装文件。如允许以确保所有摆设的系统都利用相同的尺度配置,减少了配置不划一性和混乱。
  • 快速摆设: 利用PXE网络装机,可以快速摆设大量的计算机系统。无需为每台计算机手动插入安装介质,节省了大量时间。
  • 减少硬件需求: 由于PXE网络装机利用网络进行安装,不须要物理介质(如光盘或USB驱动器),从而节省了硬件成本和资源。
搭建须要满足的需求

若要搭建 PXE 网络体系,必须满足以下几个前提条件:
客户端:
1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一样平常大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
服务端:
2.网络中有一台 DHCP 服务器以便为客户机主动分配地址、指定引导文件位置。
3.服务器要通过 TFTP服务(简朴文件传输协议)来提供系统内核和引导镜像文件的下载
搭建 PXE 长途安装服务器

1.安装TFTP服务

  1. yum -y install tftp-server xinetd
复制代码

 2.修改TFTP服务的配置文件并启动

  1. vim /etc/xinetd.d/tftp
  2. # default: off
  3. # description: The tftp server serves files using the trivial file transfer \
  4. #       protocol.  The tftp protocol is often used to boot diskless \
  5. #       workstations, download configuration files to network-aware printers, \
  6. #       and to start the installation process for some operating systems.
  7. service tftp
  8. {
  9.         socket_type             = dgram   
  10.         protocol                = udp
  11.         wait                    = no
  12.         user                    = root
  13.         server                  = /usr/sbin/in.tftpd
  14.         server_args             = -s /var/lib/tftpboot
  15.         disable                 = no
  16.         per_source              = 11
  17.         cps                     = 100 2
  18.         flags                   = IPv4
  19. }
复制代码

 设置后启动服务
  1. systemctl start tftp
  2. systemctl enable tftp
  3. systemctl start xinetd
  4. systemctl enable xinetd
复制代码
安装并且启动DHCP服务

1.安装DHCP

  1. yum -y install dhcp
复制代码

 2.修改DHCP配置文件并启动服务

  1. cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf.bak
  2. vim /etc/dhcp/dhcpd.conf
  3. next-server 192.168.42.140;
  4. filename "pxelinux.0";
  5. option domain-name "example.org";
  6. option domain-name-servers ns1.example.org, ns2.example.org;
  7. default-lease-time 600;
  8. max-lease-time 7200;
  9. log-facility local7;
  10. subnet 192.168.122.1 netmask 255.255.255.255 {
  11. }
  12. subnet 192.168.42.0 netmask 255.255.255.0 {
  13.   range 192.168.42.88 192.168.42.188;
  14.   option routers 192.168.42.140;
  15. }
复制代码

 修改完成文件后保存退出,启动dhcp服务
  1. systemctl start dhcpd
复制代码
准备 Linux 内核、初始化镜像文件

打开虚拟机设置连接光盘镜像

  1. df -Th | grep /dev/sr0    #查看是否连接成功
  2. mount /dev/sr0 /mnt       #挂载光盘镜像
  3. cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/        #复制 Linux系统的内核文件 到TFTP根目录下
  4. cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
复制代码

 准备 PXE 引导程序

  1. yum -y install syslinux                                                                        #PXE引导程序由软件包 syslinux 提供
  2. cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/        #复制 PXE引导程序 到TFTP根目录下
复制代码

 安装FTP服务,准备CentOS 7 安装源

  1. yum -y install vsftpd
  2. mkdir /var/ftp/centos7
  3. cp -rf /mnt/* /var/ftp/centos7/
  4. systemctl start vsftpd
复制代码

 配置启动菜单文件

默认的启动菜单文件在TFTP根目次的 pxelinux.cfg子目次下,文件名为default
  1. mkdir /var/lib/tftpboot/pxelinux.cfg  #需要在ftfpboot目录下创建pxelinux.cfg
  2. vim /var/lib/tftpboot/pxelinux.cfg/default  #在pxelinux.cfg目录下创建default并编辑配置文件
  3. default auto
  4. prompt 0
  5. label auto
  6. kernel vmlinuz
  7. append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
  8. #图形安装(默认)引导入口
  9. label linux text
  10. kernel vmlinuz
  11. append text initrd=initrd.img method=ftp://192.168.42.140/centos7
  12. #文本安装引导入口
  13. label linux rescue
  14. kernel vmlinuz
  15. append rescue initrd=initrd.img method=ftp://192.168.42.140/centos7
  16. #救援模式引导入口
复制代码

 关闭防火墙,验证 PXE 网络安装
  1. systemctl stop firewalld && systemctl disable firewalld
  2. setenforce 0
复制代码
以上 PXE 网络安装已经摆设完成,假如要实现主动化安装请继续往下看

主动化安装linux系统

1.安装 system-config-kickstart 工具

  1. yum install -y system-config-kickstart
复制代码
2.打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开

 3.配置kickstart选项













  1. /bin/bash
  2. rm -rf /etc/yum.repos.d/*
  3. echo ‘[local]
  4. name=local
  5. baseurl=ftp://192.168.42.140/centos7
  6. enabled=1
  7. gpgcheck=0’ > /etc/yum.repos.d/local.repo
复制代码

 4.保存配置文件 

点击左上角文件然后保存到/root下


保存完成后将 /root/ks.cfg 复制到 /var/ftp/
然后配置须要安装的软件包
  1. cp /root/ks.cfg /var/ftp/ks.cfg
复制代码


  1. %packages
  2. @^gnome-desktop-environment
  3. @base
  4. @core
  5. @desktop-debugging
  6. @development
  7. @dial-up
  8. @directory-client
  9. @fonts
  10. @gnome-desktop
  11. @guest-agents
  12. @guest-desktop-agents
  13. @input-methods
  14. @internet-browser
  15. @java-platform
  16. @multimedia
  17. @network-file-system-client
  18. @networkmanager-submodules
  19. @print-client
  20. @x11
  21. chrony
  22. kexec-tools
  23. %end
  24. %anaconda
  25. pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
  26. pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
  27. pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
  28. %end
复制代码
 然后修改 TFTP 配置文件,添加以下内容

  1. label auto
  2. kernel vmlinuz
  3. append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
  4. #添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
复制代码
修改文件权限 
  1. chmod 777 /root/ks.cfg
  2. chmod 777 /var/ftp/ks.cfg
复制代码
 
5.验证无人值守安装

当客户机每次以PXE方式引导时,将主动下载ks.cfg应答配置文件,然后根据此中的设置安装CentOS 7 系统,而无须手工干预。















 然后开启虚拟时机主动安装无需我们做任何事情,直到安装竣事




 进登入界面后利用root用户登入,密码是我们Kickstart 配置文件里的密码




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表