如何利用PXE+kickstart实现批量安装系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用PXE+kickstart实现批量安装系统相关的知识,希望对你有一定的参考价值。

PXE网络快速自动安装系统,以下实验环境均在RedHat 7.2

  配置PXE网络装机服务器,为了避免防火墙与selinux的干扰,改为信任以及宽松模式

  1. 将防火墙状态设置为trusted

  2.SELinux当前修改为permissive

  3.SELinux永久状态修改为permissive

步骤一:构建DHCP服务,使客户端自动获取ip,

1. 服务器添加虚拟磁盘

2. 把光盘挂在在/mnt目录下

     mount  /dev/cdrom  /mnt/

3.  由于该服务器上没有对应的yum仓库,不能安装dhcp所需软件包,所以要配置yum仓库, 增加一个名为rhel7.repo仓库,命令如下

     vim  /etc/yum.repos.d/rhel7.repo

  进入一个空白的文本,按i进入编辑模式,输入如下

     [rhel7]                                     仓库的标识

     name=rhel7

     baseurl=file:///mnt                        光盘挂载的目录

     enable=1                                 1为开机自启动

    gpgcheck=0                               0为不检查包

    按Esc  wq 保存退出

4.  安装dhcpd服务所需要的dhcp

        Yum  install  –y  dhcp

5.

    配置文件 /etc/dhcp/dhcpd.conf

     [[email protected] /]# vim /etc/dhcp/dhcpd.conf 

    :r  /usr/share/doc/dhcp*/dhcpd.conf.example  #读入其他文件(末行模式输入)只留以下内容)

 

     subnet  192.168.4.0 netmask 255.255.255.0  {     #分配的网段

     range 192.168.4.100  192.168.4.200;               #分配的IP地址范围

     option domain-name-servers  8.8.8.8;               #分配DNS

     option routers  192.168.4.254;                      #分配网关

     default-lease-time 600;                              #IP地址默认租用时间

     max-lease-time 7200;                    #IP地址租用最大时间

     next-server 192.168.4.7;                #指定下一个服务器IP地址,   

         filename "pxelinux.0";                  dhc不是同一台服务器提供,

        }                                         则填的是提供tftp所在服务器ip 

                                               #指定网卡引导文件,文件名称

   

 6.起服务 ,开机自启动dhcpd

      [[email protected] /]# systemctl  restart   dhcpd

      [[email protected] /]# systemctl  enable   dhcpd

注:pxelinux.0(网卡引导文件):安装说明书,二进制文件

 

 

二、搭建TFTP服务

 TFTP:简单的文件传输协议  端口:69 

     服务端程序:tftp-server 服务名:tftp

     默认共享路径: /var/lib/tftpboot

  1.安装tftp-server

       yum install -y tftp-server

  2.启动tftp服务,并设置为开机自起

      # systemctl restart tftp

      # systemctl enable tftp

 3. 部署pxelinux.0文件

    # yum   provides  */pxelinux.0        #查询仓库中哪一个包产生该文件

    # yum  -y install syslinux               #安装提供上续文件的syslinux

    # rpm -ql syslinux                      #查询软件包,安装清单

    # rpm -ql syslinux | grep pxelinux.0     #查看该文件所在的路径

    # cp  /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/   #复制文件到tftp的默认路径

    # ls  /var/lib/tftpboot/

 

 4.部署default默认的菜单文件

    # mkdir  /var/lib/tftpboot/pxelinux.cfg

    # mount /dev/cdrom /mnt/

 

   # cp /mnt/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default #将配  置文件复制到tftp默认路径pxelinux.cfg/下并改名为default

 

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

 

  # chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #赋予读写权限

 

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

 

  5.部署 图形的模块 vesamenu.c32

     # ls /mnt/isolinux/

     # cp /mnt/isolinux/vesamenu.c32  /var/lib/tftpboot/

     # ls /var/lib/tftpboot/

 

   6.修改菜单文件/var/lib/tftpboot/pxelinux.cfg/default

 

     # vim  /var/lib/tftpboot/pxelinux.cfg/default

   ......

  11  menu title  Redhat7.2        #给菜单文件改名或者默认

  61  label linux

  62    menu label Install RHEL7

          menu default                 #选择默认的第一启动

  63    kernel vmlinuz                 #内核启动文件                

  64    append initrd=initrd.img       #驱动程序

往下的可以删除

 

   7.部署启动内核与驱动程序

  #cp  /mnt/isolinux/initrd.img  /mnt/isolinux/vmlinuz  

 

  # ls  /var/lib/tftpboot/

  initrd.img  pxelinux.cfg  vmlinuz   pxelinux.0  vesamenu.c32

 

 三、FTP服务,传输RPM

 

   1..安装vsftpd软件

      yum install -y vsftpd

 

  2.搭建vsftpd服务,共享光盘所有内容

      [[email protected] /]# mkdir /var/ftp/rhel7

      [[email protected] /]# mount /dev/cdrom   /var/ftp/rhel7

 

3.设置vsftpd服务启动,设置为开机自起动

       #systemctl restart vsftpd

       #systemctl enable vsftpd

 

  4.共享光盘所有内容

        # ls /var/ftp/rhel7

        # firefox  ftp://192.168.4.7/rhel7  #本地通过ftp访问光盘目录

 

 四、无人值守安装,生成应答文件

 

1.图形生成应答文件程序:system-config-kickstart

  #yum install -y system-config-kickstart     #安装生成应答文件程序

 

2.运行图形程序:system-config-kickstart 由于RedHat7的系统bug,在软件包这里读取不成功,这时候需要把/etc/yum.repo.d/rhel7 的仓库标识改为 [development]  

 

 技术分享图片

 

(1)仓库标识改为[development]  

技术分享图片 

(2)配置语言、时区、根密码,选择安装后重新引导系统

技术分享图片

3)选择安装方式、以及安装方法(本次是通过ftp安装)

       技术分享图片

4.选择引导装载程序选项

技术分享图片 

5)初始化以及按自己的需求添加分区

 技术分享图片

6)添加网络设备

技术分享图片 

7)把防火墙以及selinux禁止

技术分享图片 

8)选择修改完选项。点左上角文件,把该配置文件保存在本地/root 文件默认ks.cfg

技术分享图片 

3.查看服务器root生成的ks.cfg文件

 [[email protected] /]# ls  /root/ks.cfg 

 

4.搭建vsftpd服务,共享应答文件

 [[email protected] /]# cp /root/ks.cfg  /var/ftp/

   [[email protected] /]# ls  /var/ftp/

 五、通过菜单指定ks.cfg应答文件

[[email protected] /]# vim  /var/lib/tftpboot/pxelinux.cfg/default 

   label linux

   menu label Install RHEL7

   kernel vmlinuz

   append initrd=initrd.img  ks=ftp://192.168.4.7/ks.cfg

label local

  menu label Boot from local drive

  menu default

  localboot 0xffff

六、把需要安装的服务器接线,开机启动就可以自动安装系统

 

 

 

 


本文出自 “从零开始” 博客,请务必保留此出处http://liangqing.blog.51cto.com/13410623/1983676

以上是关于如何利用PXE+kickstart实现批量安装系统的主要内容,如果未能解决你的问题,请参考以下文章

kickstart+PXE+dhcp+nfs 批量无人值守自动化安装操作系统

PXE高效批量网络装机实现Kickstart无人值守安装

部署PXE高效批量网络装机并实现Kickstart无人值守自动安装

使用 PXE+Kickstart 实现无人值守批量部署系统

DHCP+VSFTPD+TFTP+Kickstart搭建PXE环境实现批量自动化系统安装

PXE高效批量安装和Kickstart无人值守安装