CentOS 7 PXE automatic install

PXE

PXE组件架构需要ftp\nfs\http\https作为库文件传输、dhcp获取网络地址,通过network from pxe获取同网段dhcp服务地址,tftp获取指定文件去读取需要的文件下载地址实现自动安装Centos 7

SERVER

安装hdcp并配置地址池

yum install dhcpd -y

安装tftp,并开启服务

vi /etc/xinted.d/tftp
server_args             = -s /var/ftp/pub/  #我把根目录改成和ftp同路径了
disable                 = no  #yes改成no

编辑dhcp服务配置文件

subnet 192.168.100.0 netmask 255.255.255.0{
        range 192.168.100.200 192.168.100.220;  #设定地址池范围
        next-server 192.168.100.101;  #指定目的文件地址
        filename "pxelinux.0";  #指定pxe配置文件
}
systemctl start dhcp

安装并配置PXE做工环境配置文件包、ftp服务(/var/ftp/pub/作为tftp和ftp的根目录)
安装syslinux获取pxe需要的packages
chain.c32:主要引导
memdisk:使用内存模拟硬盘,通过网络传输来下载安装包的途中需要硬盘空间存储
menu.c32:为安装界面菜单提供支持
mboot.c32:default文件首先加载的文件

yum install syslinux vsftpd -y
cp /media/images/pxeboot/{initrd.img,vmlinuz,chain.c32,mboot.c32,memdisk,menu.c32} /var/ftp/pub/
cp /usr/share/syslinux/menu.c32 /var/ftp/pub/

为pxe引导创建默认配置文件

mkdir /var/ftp/pub/pxelinux.cfg
vi /var/ftp/pub/pxelinux.cfg/default  #编辑这个配置文件
default menu.c32
    prompt 5 #等待5秒
    timeout 15  
    MENU TITLE CentOS 7 PXE #菜单名

    LABEL linux
    MENU LABEL Install Centos7.5  选项名
    KERNEL vmlinuz  #指定加载内核名字
    APPEND initrd=initrd.img inst.repo=ftp://192.168.100.101/pub/CentOS  #附加选项,额外选项都可以在这里加                                                               

最后配置

mkdir /var/ftp/pub/CentOS  #提供yum安装库
mount /dev/cdrom /var/ftp/pub/CentOS  #把系统光盘挂载到目录上
systemctl start vsftpd #启动ftp
systemctl start dhcpd  #启动dhcp
systemctl restart xinted  #重启网络守护进程,开启tftp

最后查看对应端口是否开启
67dhcp,69tftp,21vsftp,

[root@ZAT ~]# ss -tunl
Netid State      Recv-Q Send-Q                   Local Address:Port                                  Peer Address:Port              
udp   UNCONN     0      0                                    *:67                                               *:*                  
udp   UNCONN     0      0                                    *:69                                               *:*                  
udp   UNCONN     0      0                            127.0.0.1:323                                              *:*                  
udp   UNCONN     0      0                                  ::1:323                                             :::*                  
tcp   LISTEN     0      32                                   *:21                                               *:*                  
tcp   LISTEN     0      128                                  *:22                                               *:*                  
tcp   LISTEN     0      100                          127.0.0.1:25                                               *:*                  
tcp   LISTEN     0      128                                 :::22                                              :::*                  
tcp   LISTEN     0      100                                ::1:25                                              :::*     

服务端配置完成,客户端到anaconda安装界面手动安装为止。如需同一安装格式需在服务端提供一个kickstart文件完成自动安装

客户端启动过程中安装遇到的报错问题

dhcp获取到了地址之后显示tftp timeout

检查tftp69端口是否侦听,tftp服务器和根目录是否与dhcpd.conf中指定的next-server和filename中匹配

faild:download ftp://IP/DIR/CentOS

检查vsftp21端口时否位侦听状态,ftp根目录下是否有安装源

no space left on device

检查tftp根目录是否有memdisk文件,客户端内存要2G以上

==================================================================================

图形化界面配置kickstart自动安装配置文件

设置kickstart文件需要图形化界面,安装system-config-kickstart包

yum install system-config-kickstart

安装完成后在图形终端运行system-config-kickstart命令


image.png

按要求配置好之后点击File-Save 弹出窗口保存到需要的目录下,在菜单文件如pxelinux.cfg/default中指定文件自动安装即可

你可能感兴趣的:(CentOS 7 PXE automatic install)