美文网首页
PXE自动安装CentOS7详解

PXE自动安装CentOS7详解

作者: 六月天的安静 | 来源:发表于2017-07-26 21:15 被阅读164次

    PXE安装CentOS7主要分成以下几个部分:

    1、配置DHCP

    2、配置tftp

    3、配置kickstart文件

    4、配置http或ftp做安装文件仓库和ks文件存储

    5、配置default系统启动文件执行ks文件

    配置DHCP

    [root@localhost ~]# yum install -y dhcp   #安装DHCP
    [root@localhost ~]# systemctl start dhcpd
    [root@localhost ~]# systemctl enable dhcpd
           启动并且配置开机启动dhcpd服务
    
    
    **配置dhcp配置文件/etc/dhcp/dhcpd.conf如下**
    
    
    option domain-name "Robbie.com";    #全局搜索域
    option domain-name-servers 8.8.8.8, 144.144.144.144;   #全局dns 
    
    default-lease-time 600;  # 默认的租赁时间
    max-lease-time 7200;  #最大可租赁时间
    #上面两个值可以设一样
    
    subnet 192.168.16.0 netmask 255.255.255.0 {
      range 192.168.16.66 192.168.16.77;
      option routers 192.168.16.2;
      next-server 192.168.16.130;    #tftp server的ip
      filename "pxelinux.0";   #pxe boot需要的启动文件名, 相当于bootloader
    }
    

    重启dhcp服务

    [root@localhost ~]# systemctl restart dhcpd

    配置tftp

    [root@localhost ~]# yum install -y tftp*
      安装tftp的server和client包
    
    [root@localhost ~]# yum install -y xinetd
      安装xinetd守护进程, 因为tftp依赖于xinetd
    
    [root@localhost ~]# systemctl start xinetd
    [root@localhost ~]# systemctl enable xinetd
      启动并配置开机自动启动xinetd进程
    

    修改tftp配置文件,启动tftp服务

    /etc/xinetd.d/tftp

    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s -c /var/lib/tftpboot
    disable = no
    per_source = 11
    cps = 100 2
    flags = IPv4
    }

    启动tftp服务

    systemctl start tftp

    配置pxe启动

    >`[root@localhost ~]# yum install -y syslinux`
    
    
    >`[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/`
         pxelinux.0文件名要和dhcp配置文件内的一致
    
    `[root@localhost pxeboot]# cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/`
       copy光盘目录中的vmlinuz和initrd.img, 这两个文件相当于系统启动时/boot目录下的启动文件, 但这个用来引导anacoda而不是根
    
    `[root@localhost pxeboot]# cp /mnt/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.png} /var/lib/tftpboot/`
        copy pxe引导所需要的配置文件, splash.png:背景图. boot.msg启动标语, vesamenu.c32: 显示同行界面用的程序.
    
    `[root@localhost pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg`
    
    `[root@localhost pxeboot]# cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default`
         pxe启动时显示配置文件信息, 和光盘启动类似.
    

    配置kickstart文件

    系统安装时候, 会有一份当前系统配置的ks文件是/root/anaconda-ks.cfg. 可以直接把这个文件放在http或tftp服务器下.

    唯一要修改的是去掉命令cdrom, 改成url --url http://192.168.16.130/centos7,修改成自己相应的文件目录.

    配置http做安装文件仓库和ks文件存储

    [root@localhost ~]# mount /dev/cdrom /var/www/html/centos7/
      #直接用关盘的package当做安装仓库
    
    [root@localhost ~]# cp /root/ks.cfg /var/www/html/
      #ks文件所在目录为http://192.168.16.130/ks.cfg
    

    配置default系统启动文件执行ks文件

    修改/var/lib/tftpboot/pxelinux.cfg/default

    timeout =1

    label linux
    menu label ^Install CentOS 7
    kernel vmlinuz
    menu default
    append initrd=initrd.img ?>inst.ks=http://192.168.16.130/ks.cfg quiet
    timeout改成1, liunx启动当成默认启动, 并指定ks文件目录

    找一台虚拟机, 在同一个局域网内 用网卡启动就可以了

    相关文章

      网友评论

          本文标题:PXE自动安装CentOS7详解

          本文链接:https://www.haomeiwen.com/subject/ikzokxtx.html