zoukankan      html  css  js  c++  java
  • PXE实现无人值守批量安装服务器

    今天我们使用PXE+Kickstart+TFTP+DHCP+FTP实现无人值守安装服务器。

    一、无人值守所需服务介绍:

    1)PXE

    1. PXE,远程引导技术
    2. 功能:使计算机通过网络启动
    3. 硬件要求:客户端的网卡必须支持PXE

    2)Kickstart

    1. Kickstart,一种无人值守自动部署安装操作系统的方式
    2. 核心技术:自动应答文件
    3. 功能:系统通过执行自动应答文件中的内容进行自动安装系统

    3)TFTP

    1. TFTP,用于服务器之间进行简单文件传输的协议
    2. 端口号:69
    3. 默认共享路径:/var/lib/tftpboot/
    4. 本次实验作用:共享PXE相关文件,比如:系统引导文件(客户端通过TFTP取这些文件)

    4)DHCP

    给客户机分配IP地址

    5)FTP

    1. FTP,文件传输协议
    2. 默认共享路径:/var/ftp/
    3. 本次实验作用:共享ISO镜像文件及Kickstart自动应答文件

    6)运行流程图
    (初学者可能目前不太理解这个图,没关系咱继续往下看。随着后续的学习您会理解以下流程图的)
    在这里插入图片描述

    二、实验介绍

    本次实验采用all-in-one模式,即 我们将FTP、DHCP、TFTP服务全部署在一台服务器上。

    1)服务器介绍:

    1. qll251,CentOS7系统双网卡,192.168.1.251 和 192.168.2.251(2.251属于LAN1 用于PXE网络)
    2. qll252,CenOS7系统,网卡选择LAN1

    2)实验要求

    1. 关闭服务器防火墙及禁用selinux
    2. 服务器能使用yum 安装软件,本地yum源或网络yum源均可

    三、开始部署环境

    1)部署FTP服务

    [root@qll251 ~]# yum -y install vsftpd    #安装ftp服务
    [root@qll251 ~]# systemctl start vsftpd   #启动ftp服务
    [root@qll251 ~]# systemctl enable vsftpd  #设置ftp服务开机自启动
    ## 到此,ftp部署已完成。共享路径:/var/ftp
    

    2)部署DHCP服务

    1. 安装dhcp服务
    [root@qll251 ~]# yum -y install dhcp 
    
    1. 修改dhcpd.conf配置文件
    [root@qll251 ~]# vim  /etc/dhcp/dhcpd.conf 
    

    在这里插入图片描述

    1. 启动dhcp服务并设置开机自启动
    [root@qll251 ~]# systemctl start dhcpd
    [root@qll251 ~]# systemctl enable dhcpd
    

    3)部署tftp-server服务

    1. 安装tftp-server所需服务
    [root@qll251 ~]# yum -y install tftp-server
    [root@qll251 ~]# yum -y install xinetd  #Xinetd管理tftp工作
    
    1. 修改TFTP服务的配置文件
      在这里插入图片描述
    2. 启动tftp服务,并设置开机自启动
    [root@qll251 ~]# systemctl start tftp && systemctl enable tftp
    [root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd
    

    4)制作kickstart自动应答文件

    1. 安装kickstart
    [root@qll251 ~]# yum -y  install system-config-kickstart
    
    1. 在终端上执行system-config-kickstart
      在这里插入图片描述

    注意:如果用终端软件比如MobaXerm,执行上面命令无法弹出选择框,需要您安装gdm
    yum -y install gdm
    (您直接在带有图形化界面的机器上执行命令也是一样的)

    1. 进入kickstart配置向导,先完成“基本配置”

    在这里插入图片描述

    1. 选择安装方法

    在这里插入图片描述
    5. 进行分区
    在这里插入图片描述
    6. 网络配置、验证、防火墙配置、显示配置。您按需选择就行。我就不在此演示了
    7. 软件包选择
    在这里插入图片描述
    8. 设置安装后的脚本(可选项)
    在这里插入图片描述
    9. 保存自动应答文件
    在这里插入图片描述

    到目前为止,FTP,DHCP,TFTP服务及kickstart应答文件都已准备完毕。接下来我们配置PXE启动所需的相关文件

    四、准备PXE启动所需的文件

    先挂载我们所需的光盘镜像

    [root@qll251 ~]# mount /dev/sr0 /media  #系统镜像挂载至/media
    

    1)ftp需要共享出去的文件

    共享目录:/var/ftp;需要共享两个

    1. /var/ftp/ks.cfg (制作应答文件时,已保存该文件)
    2. 光盘启动镜像
    #我们在制作自动应答文件的第四步中指定光盘文件目录是:/var/ftp/pub
    [root@qll251 ~]# cp -r  /media/* /var/ftp/pub 
    

    2)tftp需要共享出去的文件

    [root@qll251 ~]# yum -y install syslinux
    [root@qll251 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #拷贝的第一个文件
    [root@qll251 ~]# cp /media/images/pxeboot/initrd.img /var/lib/tftpboot/ #拷贝的第二个文件
    [root@qll251 ~]# cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot/  #拷贝的第三个文件
    [root@qll251 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg 
    [root@qll251 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷贝的第四个文件,拷贝时,命令为default
    [root@qll251 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #设置default文件权限:644
    

    tftp共享目录:/var/lib/tftpboot;需要共享4个文件

    1. pxelinux.0 #网络装机需要用到pxelinux.0;由yum install syslinux获得的
    2. initrd.img:#其实就是ramdisk的映像文件(内存模拟磁盘)。举个例子:主机系统坏掉了,我们使用win pe启动,你会发现主机就算没有硬盘也能正常运行
    3. vmlinuz:包含一个最小功能的内核,通常先执行vmlinuz,之后加载initrd.img文件,最后加载根分区。
    4. isolinux.cfg重命名为default

    3)修改default配置文件

    [root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
    1  default linux #将第一行的 default改成default linux
    61 label linux
    62   menu label ^Install CentOS 7
    63   kernel vmlinuz
    64   append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg
    ##指定安装程序通过FTP服务访问系统镜像及ks.cfg应答文件
    

    五、执行批量安装服务器

    1)客户机的BIOS启动顺序调整为网络优先。或者开机Log界面按F12选择从网络启动

    在这里插入图片描述

    2)开始无人值守安装

    以下步骤全部为系统自动执行,无需人为干预,只需等待安装完成即可

    我们看下它都自动执行了哪些操作

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    最后我们通过预定义的root密码登录,可以看到事先写的测试脚本“hello world”已生效。系统分配的IP是192.168.2.3
    在这里插入图片描述
    好了,以上便是今天分享的批量安装服务器的内容。

    更多IT技术,请微信搜索公众号秦露露或者扫描下方二维码关注
    在这里插入图片描述

    十年磨一剑
  • 相关阅读:
    HTTP 深入详解(HTTP Web 的基础)
    webpack 代码分离
    webpack 常见问题
    细说 webpack 之流程篇
    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
    Ajax 解决浏览器缓存问题
    十大经典排序算法
    react-redux 之 connect 方法详解
    JS实现继承的几种方式
    GIT常用命令及常见问题解决方法-协作篇
  • 原文地址:https://www.cnblogs.com/qinlulu/p/12317318.html
Copyright © 2011-2022 走看看