RHEL7.3通过PXE启动安装操作系统

  • PXE称为preboot execute environment,表示预启动执行环境,在解释这个之前,首先简单解释一下安装操作系统的过程,擦作系统的安装通常需要通过硬盘,U盘等介质提供提供安装文件,通过这种方式提供的文件来实现系统的安装过程;
  • 上面提到的方式显然不适合于集群中大量操作系统的安装,这种需求就导致了PEX技术的出现 ,PXEintel开发的技术,用于实现免硬盘的批量操作系统安装,这种技术依赖于UDP/IP协议,并且是基于C/S的架构,Client的实现通常是在NIC[Network Information center]上面实现的,也就是硬件上面进行固化,由于硬件本身的限制,上面实现的仅仅是一些关键的功能,Client的功能是下载系统安装过程中的文件,并且加载道本地的内存来执行这些文件,剩余的操作就是安装文件在本地的执行过程;
  • 总结一下,就是说PXEClient就是修改了BIOS引导方式从网卡启动,并且在网卡上面固化了一段用来下载安装文件的代码;
  • Server端由于没有了硬件的限制,需要实现的功能就要复杂的多:
    • DHCP:也就是Dynamic Host Configuration Protocol,动态主机配置协议,主机和主机基于UDP/IP协议栈的通信的前提是具有IP地址,这个主机存在的作用就是在Client在从网卡启动,并且发送DHCP请求报文时,首先提供IP地址以及其他的网络信息,并且需要提供TFTP服务器的IP地址;
    • TFTP服务器:通常包含初始引导程序以及一些补充文件,这些文件通常是通过TFTP协议进行传输,这些软件通常提供操作系统内核以及完整的TCP/IP协议栈;
    • HTTP NFS:对于操作系统安装过程中的其他文件是通过完整的TCP/IP协议栈,并且HTTP NFS协议来完成数据传输的;
  • 对于上面过程的总结:
    • 上面存在网络交互的过程应该是分为三步进行:
    • 1.Client发送DHCP请求报文,DHCP服务器响应Client需要的IP Gateway等信息,并且需要返回一个TFTP服务器的IP地址 ;
    • 2.Client结合UDP/IP以及TFTP服务器的地址,下载初始引导程序操作系统内核以及完成的TCP/IP协议栈 ;
    • 3.Client使用下载的引导程序,并且结合操作系统内核完成一个小系统,然后使用HTTP NFS等协议完成后续驱动,软件包等程序的下载安装;
  • 根据PXE的要求准备相应的环境
  • 1.DHCP服务器的配置参考前一篇文章;
    1. 配置tftp-server
[root@my tftpboot]#  yum install -y tftp-server syslinux 
[root@my tftpboot]#  mount /iso/rhel-server-6.5-x86_64-dvd.iso /media/
[root@my tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@my tftpboot]# cp /media/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
[root@my tftpboot]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pexlinux.cfg/default
  • 然后编辑/var/lib/tftpboot/pxelinux.cfg/default配置文件如下
default linux               //这个需要进行修改
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img repo=http://172.25.23.250/rhel6.5 ks=http://172.25.23.250/ks1.cfg   这里可以选择HTTP NFS等方式;
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesa nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -
  • 上面选择的是HTTPD,进行HTTPD服务器的配置
[root@my ~]# umount /media/
[root@my ~]# mount /iso/rhel-server-6.5-x86_64-dvd.iso /var/www/html/rhel6.5/
  • 并且将ks.cfg放在/var/www/html/这个目录里面
[root@my ~]# ll /var/www/html/ks1.cfg 
-rw-r--r--. 1 root root 2064 66 08:34 /var/www/html/ks1.cfg
  • ks.cfg文件的制作也是可以参考上一篇文章的
  • 3.启动相关的服务
[root@my ~]# systemctl start tftp.service
[root@my ~]# systemctl restart dhcpd.service 
[root@my ~]# systemctl start httpd
  • 通过pxe启动来安装操作系统
  • 1.选择pxe的方式来启动
    这里写图片描述
  • 2.选择好操作系统对应的版本
    这里写图片描述
  • 3.内存建议大于800MB
    这里写图片描述
  • 4.硬盘根据实际的需求进行规划
    这里写图片描述
    • 5.选择名称和网卡信息
      这里写图片描述
    • 6.通过DHCP协议获得网卡信息
      这里写图片描述
    • 7.在配置了网卡信息之后,尝试加载了几个操作系统安装必须的文件
      这里写图片描述
    • 8.系统再次请求IP地址
      这里写图片描述
    • 9.然后开始创建文件系统等操作
      这里写图片描述
    • 10.通过repo的设置开始安装操作系统必须的文件
      这里写图片描述
    • 11.系统在安装完成必要的软件之后,会安装bootloader,之后会重新启动
      这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_36294875/article/details/80589818
今日推荐