• 使用PXE安装CentOS7


    1.环境

    本文使用VMware 虚拟机进行实验。

    点击VMware--编辑--虚拟网络编辑器,新建VMnet15,选择仅主机模式,取消勾选DHCP服务(因为这里使用自己的DHCP服务)。我这里配好后是192.168.93.0/24网络。

    • 一台PXE服务器

    CentOS 7.2系统

    2张网卡,

    网卡eno16777736 ,使用NAT模式(用于yum安装软件),DHCP获取IP

    网卡eno50332184 ,连接至VMnet15网络,配置静态IP:192.168.93.10

    • 一台PXE客户机(待安装系统)

    2GB 内存(太小不行)

    1张网卡,

    网卡eno16777736 ,连接至VMnet15网络

    2.需求

    • SYSLINUX,提供pxelinux.0
    • DHCP-SERVER,为客户机提供IP
    • TFTP-SERVER,为客户机提供简单文件传输(如传输pxelinux.0等)
    • VSFTP-SERVER或APACHE-SERVER,提供repo的系统文件服务
    • CentOS 7.2(或7.4都行)安装光盘,如CentOS-7-x86_64-Everything-1511.iso

    3.配置

    在PXE服务器上,

    3.1预配置

    临时关闭防火墙

    systemctl stop firewalld

    临时关闭SELinux

    setenforce 0

    安装各个服务器与依赖库

    yum -y install tftp-server vsftpd syslinux dhcp xinetd

    挂载CentOS 7.2安装光盘(需要先将光盘连接至PXE服务器虚拟机上)

    mount -t iso9660 -o loop /dev/cdrom /mnt

    3.2配置VSFTP

    为了vsftp服务器使用光盘,把/mnt再绑定到/var/ftp/centos(因为vsftp不允许软连接目录)

    mkdir -p /var/ftp/centos
    mount --bind /mnt/ /var/ftp/centos

    3.3配置TFTP

    3.3.1配置pxe启动文件

    新建tftp启动目录

    mkdir -p /tftpboot/pxelinux.cfg

    把光盘中isolinux里面的文件都复制到tftp启动目录中

    cd /mnt/isolinux
    cp -a * /tftpboot/

    复制pxelinux.0

    cp /usr/share/syslinux/pxelinux.0 /tftpboot/

     将tftp启动目录中的isolinux.cfg(刚从光盘中复制过来的)改名default,并移动至pxelinux.cft目录下

    cd /tftpboot
    mv
    isolinux.cfg pxelinux.cfg/default

    编辑default文件,增加我们设置的PXE启动项

    vi pxelinux.cfg/default

    在一堆label 上面添加如下内容

    label linux-nidey
    menu label ^Install CentOS 7 nidey
    kernel vmlinuz
    append initrd=initrd.img inst.repo=ftp://192.168.93.10/centos quiet

    label另起一个名字,menu就是客户机启动时看到的安装选项名

    注意,如果不使用kickstart自动部署,则append后面第二个参数应该用inst.repo,而不是inst.stage2(这种情况客户机启动时会卡在获取安装源步骤)

    URL使用前面配置的vsftp服务器(也可以使用Apache-server的http服务,或者搭建nfs也行)

    append参数使用inst.stage2则安装时会卡在这里

    append参数使用inst.repo则安装时正常获取安装源(图是另截的,见谅...)

    3.3.2配置tftp-server

    tftp服务器依附于xinetd服务下,

    vim /etc/xinetd.d/tftp

    server_args 设置我们刚才创建的tftp启动目录,并启用tftp

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

      

    3.4配置DHCP

    vim /etc/dhcp/dhcpd.conf

    设置允许引导启动,

    192.168.93.0子网,掩码255.255.255.0,地址池192.168.93.240~192.168.93.250

    引导启动文件名为pxelinux.0(syslinux提供的,在/tftpboot目录下)

    next-server设置为PXE服务器IP,也就是本机:192.168.93.10

    因为这里只在一个局域网下安装系统,网关和DNS其实都不用设置。

    ddns-update-style interim;
    ignore client-updates;
    allow booting;
    allow bootp;
    subnet 192.168.93.0 netmask 255.255.255.0
    {
    # option routers 192.168.93.1;
    # option domain-name "s.un";
    # option domain-name-servers 192.168.93.1;
    option subnet-mask 255.255.255.0;
    option time-offset -18000;
    default-lease-time 21600;
    max-lease-time 43200;
    range dynamic-bootp 192.168.93.240 192.168.93.250;
    filename "pxelinux.0";
    next-server 192.168.93.10;
    }

      

    3.5启动服务

    systemctl start xinetd
    systemctl start dhcpd
    systemctl start vsftpd

    4.安装

    在PXE客户机上,

    进入BISO,设置网络启动为第一项。

    开机,DHCP获取,IP,加载启动,进入安装界面,选择安装就好了。

  • 相关阅读:
    C++ Websites
    C++ smart pointer
    Use of ‘const’ in Functions Return Values
    Meaning of “const” last in a C++ method declaration?
    为什么不要使用"using namespace XXX"
    android.os.Handler
    Windows下Anaconda的安装和简单使用
    matlab GPU 操作
    matlab 在柱状图上 显示数字
    How to fix apt-get GPG error NO_PUBKEY Ubuntu 14
  • 原文地址:https://www.cnblogs.com/nidey/p/8333825.html
Copyright © 2020-2023  润新知