pxe网络安装

概要

    pxe: 
        网卡支持网络引导;
        dhcp, filename, next-server
        tftp-server
            pxelinux.0
            vmlinuz, initrd.img
            menu.c32
            pxelinux.cfg/default

        system-config-kickstart
        ksvalidator

相关技术

DHCP:
    
    DHCP: Dynamic Host Configuration Protocol
        IP/Netmask
        Gateway
        DNS Server

    bootp: boot protocol --> dhcp
        租约:
            2hours:
                50%: 1hours --> 2hours
                    50%:1hours --> 2hours
                        75%: 0.5hours --> 2hours
                            87.5%: 0.25hours --> 2hours

                dhcp discover


        1、Client: dhcp discover:发现
        2、Server: dhcp offer:(IP/netmask, gw)
        3、Client:dhcp request
        4、Server: dhcp ack

        续租:
            Client: dhcp request
            Server: dhcp ack

            Server: dhcp nak

        Linux DHCP协议的实现程序:dhcp, dnsmasq

        dhcp:
            /usr/sbin/dhcpd
                /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd
                /etc/dhcp/dhcpd6.conf --> /etc/rc.d/init.d/dhcpd6
            /usr/sbin/dhcrelay
                /etc/rc.d/init.d/dhcrelay

            67/udp
            dhclient: 68/udp

        dhcpd.conf:
            subnet {
                ...
            }

            host {

            }

        ~]# cat /var/lib/dhcpd/dhcpd.leases
            地址分配记录

        其它配置选项:
            filename: 指明引导文件名称;
            next-server:提供引导文件的服务器IP地址;

            filename "pxelinux.0";
            next-server 172.16.100.67;

    PXE:preboot execute environment, Intel
        dhcp, tftp, file server(yum repository)

    CentOS 6 PXE: 
        yum -y install syslinux tftp-server

        cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
        cp /media/cdrom/images/pxelinux/{vmlinuz,initrd.img} /var/lib/tftp/boot/
        cp /media/cdrom/isolinux/{boot.cfg,vesamenu.c32,splash.png} /var/lib/tftp/boot/
        mkdir /var/lib/tftpboot/pxelinux.cfg/
        cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default/


    CentOS 7 PXE:
        yum -y install syslinux tftp-server

        cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
        cp /media/cdrom/images/pxelinux/{vmlinuz,initrd.img} /var/lib/tftp/boot/
        cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot/
        mkdir /var/lib/tftpboot/pxelinux.cfg/
        
        创建/var/lib/tftpboot/pxelinux.cfg/default
            内容类似如下:

            default menu.c32
              prompt 5
              timeout 30
              MENU TITLE CentOS 7 PXE Menu

              LABEL linux
              MENU LABEL Install CentOS 7 x86_64
              KERNEL vmlinuz
              APPEND initrd=initrd.img inst.repo=http://172.16.100.67/centos7 ks=http://172.16.100.67/centos7.cfg    

 

posted @ 2017-07-12 13:29  谁能不挨刀  阅读(190)  评论(0编辑  收藏  举报