热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PXE高效批量网络装机及kickstart无人值守技术

目录PXE批量部署的优点PXE(PrebooteXcutionEnvironment)服务端客户端基本部署过程准备CentOS7安装源安装并启用TFTP

目录

    • PXE批量部署的优点
      • PXE(Preboot eXcution Environment)
      • 服务端
      • 客户端
      • 基本部署过程
      • 准备CentOS 7 安装源
      • 安装并启用TFTP服务
      • 准备Linux内核、PXE引导程序
      • DHCP服务的PXE设置
      • 配置启动菜单文件
      • 验证PXE网络安装
    • kickstart无人值守技术
      • 应答文件的来源
      • 应答文件的内容
      • PXE与kickstart结合使用
      • 验证自动安装


PXE批量部署的优点


  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质

在这里插入图片描述

PXE(Preboot eXcution Environment)


  • 预启动执行环境,在操作系统之前运行

服务端


  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

客户端


  • 网卡支持PXE协议
  • 主板支持网络引导

基本部署过程


  1. 准备CentOS 7 安装源(YUM仓库)
  2. 安装并启用TFTP服务
  3. 提供Linux内核、PXE引导程序等
  4. 安装并启用DHCP服务
  5. 配置启动菜单

准备CentOS 7 安装源


  • CentOS 7 安装源支持HTTP、FTP、NFS等协议发布

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/
[root@localhost ~]# systemctl start vsftpd

安装并启用TFTP服务


  • 安装tftp-server软件包,启用tftp服务
  • 配置文件位于/etc/xinetd.d/tftp

[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftpserver_args =-s /var/lib/tftpbootdisable =no //修改配置值
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp

准备Linux内核、PXE引导程序


  • Linux内核、初始化镜像文件分别为vmlinuz和initrd.img
  • 引导程序为pxelinux.0,由软件包syslinux提供

[root@localhost ~]# cd /media/cdrom/images/pxeboot //位于系统镜像文件夹 inages/pxeboot下
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot //拷贝到tftp的根目录

DHCP服务的PXE设置

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcp.conf
subnet 192.168.4.0 netmask 255.255.255.0 {......option routers 192.168.4.254;option domain-name-server 192.168.4.254, 202.106.0.20;range 192.168.4.254; //next-server:指定TFTP服务器地址filename “pxelinux.0//filename:指定要下载的引导程序文件
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd

配置启动菜单文件

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default //确保pexlinux.cfg目录已存在
default auto
prompt 1
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.4.254 /centos7
label linux text //文本模式安装kernel vmlinuzappend text initrd=initrd.img method=ftp://192.168.4.254 /centos7
label linux rescue //进入救援模式kernel vmlinuzappend rescue initrd=initrd.img method=ftp://192.168.4.254 /centos7

验证PXE网络安装


  • 调整BIOS设置,以便从网络引导
  • 自动获取IP地址,并指定CentOS 7 安装源
  • 其余过程与本地安装相同
    在这里插入图片描述

kickstart无人值守技术


  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

应答文件的来源


  • 编辑CentOS 7 系统中现有的应答文件
     - /root/anaconda-ks.cfg
  • 使用system-config-kickstart工具创建新的应答文件
     -需要安装system-config-kickstart软件包

应答文件的内容

......
url--url=“ftp://192.168.4.254/centos7"
......
%post--interpreter=/bin/bash
rm -f /etc/yum.repos.d/*
echo -e
'[base]Inname=CentOS7.3Inbaseurl=ftp://192.168.4.254/centos7\nenabled=1ngpgcheck=1Ingpgkey=file:/lletc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/centos7.repo
%end
%packages
@^minimal
%end

PXE与kickstart结合使用

[root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 //取消用户等待
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.4.254/centos7
ks=ftp://192.168/4/254/ks/cfg //应答文件的URL地址

验证自动安装


  • 将客户机以PXE方式引导
  • 系统会自动完成安装,并配置好软件仓库
  • 整个安装过程无需手动干预
    在这里插入图片描述

推荐阅读
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
author-avatar
是唐雨冰吗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有