linux系统之pxe无人值守安装系统

1.pxe的简单介绍

  PXE(preboot execute environment,预启动执行环境),工作于Client/Server的网络模式,
  支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,
  终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)
  或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,
  由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。

2.pxe的工作流程

  1>.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
  2>.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
  3>.客户机向本网络中的TFTP服务器索取bootstrap文件
  4>.客户机取得bootstrap文件后之执行该文件
  5>.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
  6>.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装(常用HTTP示意图:



3.pxe具体配置流程

1>需要安装的服务
  yum install httpd tftp-server dhcp syslinux -y 
    httpd   ##共享安装资源
    dhcp    ##分配ip以及让客户主机获取pexlinux.0文件
    pxelinux.0   ##预安装环境头文件,用来指定读取后续文件的程序
    tftp-server  ##提供tftp协议,令客户主机可以读取到预安装环境
    syslinux     ##提供pxelinux.0文件


2>.启用服务
  1)关闭防火墙
     systemctl stop firewalld
     systemctl disable firewalld ##下次启动不启动防火墙
  2)打开http服务
     systemctl start httpd
     systemctl enable httpd ##下次默认打开http
  3)开启tftp服务:
     netstat -anutlpe | grep xinetd
     vim /etc/xinetd.d/tftp
       14 disable = no ##打开tftp服务



     systemctl restart xinetd.service
     netstat -anutlpe | grep xinetd
     udp 0 0 0.0.0.0:69 0.0.0.0:* 0 92471 5130/xinetd


  4)启用dhcp服务
    cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##制作dhcp配置文件
      cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y      ##按y,确定创建dhcp配置文件
    vim /etc/dhcp/dhcpd.conf (将36行之后都删除掉)
      1 option domain-name “example.com”;          ##客户主机域名
      2 option domain-name-servers 172.25.254.250; ##客户主机获得到的dns
      3 default-lease-time 600; ##默认租约期
      4 max-lease-time 7200;    ##最长租约期
      5 log-facility local7;    ##日志级别
      6 subnet 172.25.254.0 netmask 255.255.255.0 { ##网段,子网掩码
      7 range 172.25.254.77 172.25.254.88;          ##ip地址池
      8 option routers 172.25.254.250;              ##客户主机获得到的网关
      9 filename “pxelinux.0”;       ##客户主机获得到的预安装环境头文件
      10 next-server 172.25.254.150; ##指定头文件所在主机的ip
      11 }


    systemctl start dhcpd
    systemctl enable dhcpd



4.设定共享文件

1)制作安装源
   mkdir /var/www/html/rhel7.0
   mkdir /iso
   mv /root/rhel-server-7.0-x86_64-dvd.iso /iso/
   mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
   vim /etc/rc.d/rc.local       ##永久挂载
     3 mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
   chmod +x /etc/rc.d/rc.local  ##给一个可执行权限,在开机的时候,就可以被执行!




 2)制作预安装环境
   cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/ 
      ##isolinux/目录下有目录有内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件
   cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##复制pxelinux.0程序到此处
   mkdir /var/lib/tftpboot/pxelinux.cfg
   cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 
      ##pexlinux.0的配置文件是/var/lib/tftpboot/pxelinux.cfg/default  





####修改等待时间为50ms

3)设定自动化部署
   yum install system-config-kickstart -y


  
   system-config-kickstart —–> /var/www/html/ks.cfg





















   vim /var/lib/tftpboot/pxelinux.cfg/default
   label autoinstall                ##选项标签
   menu label ^Autoinstall RHEL7.0  ##标题
   kernel vmlinuz                   ##启动的内核文件
   append initrd=initrd.img repo=http://172.25.254.139/rhel7.0 ks=http://172.25.254.139/ks.cfg quiet
                                    ##初始化镜像 / ##安装资源 / ##自动安装脚本
 
 



   cd /var/www/html/
   vim ks.cfg  #添加开机后运行的脚本
   ksvalidator ks.cfg
   systemctl restart dhcpd
 




测试:








假如更换此页面失败,可以修改一下图片尺寸,操作如下:





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值