Centos7下无人值守安装部署(PXE + DHCP+TFTP+ Kickstart+FTP)

一、PXE服务简介:

PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。在Linux中有多种的安装方式:HD、USB、CDROM、PXE及远程管理卡等。在我们的系统运维的生涯中,经常要安装操作系统,然而我们维护的机器不是一两台而已,一般的企业服务器数量都在几十、几百、几千、甚至上万台。这么多的机器,如果人工的一台一台去安装,那我们这些运维人员,可能要把大部分时间都花费在了安装系统上,所以,我们一般都会建立一个PXE服务器,通过网络来批量部署系统。

二、PXE部署系统自动化安装流程

(1) 设置拥有pex功能的客户端主机开机启动项为网络启动,一般默认都此选项,如果没有可自行设置bios启动项
(2) 客户端开机之后进入网络启动,此时客户端没有IP地址需要发送广播报文(pxe网卡内置dhcp客户端程序),dhcp服务器相应客户端请求,分配给客户端相应的IP地址与掩码等信息
(3) 客户端得到IP地址之后,与tftp通信,下载pxelinux.0,default文件,根据default指定的vmlinuz,initrd.img启动系统内核,并下载指定的ks.cfg文件
(4) 根据ks.cfg文件去文件共享服务器(http/ftp/nfs)上面下载RPM包开始安装系统,注意此时的文件服务器是提供yum服务器的功能的。

环境搭建部署:

环境:Centos7.0 (VM)

关闭防火墙systemctl stop firewalld,临时关闭selinuxsetenforce 0
首先我们在服务端一次性装完所需要用到的包,配置本地yum源我参考我之前写的文章centos7配置本地yum源

yum install dhcp vsftpd xinetd tftp tftp-server syslinux -y


如图显示,安装完毕
接下来我们配置DHCP服务

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf  ##覆盖,然后y
vim /etc/dhcp/dhcpd.conf
#以下是配置的内容,按照自己的环境配置
    subnet 10.30.40.0 netmask 255.255.255.0 {
      range 10.30.40.95 10.30.40.100;
      option domain-name-servers 10.30.40.4;
      option routers 10.30.40.1;
      option broadcast-address 10.30.40.255;
      default-lease-time 600;
      max-lease-time 7200;
      next-server 10.30.40.4;  #本机ip
      filename "pxelinux.0"; #必填,最后别忘记分号啊
    }

systemctl restart dhcpd #重启dhcp服务



配置完了DHCP,我们接下来配置TFTP

vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot #可自定义修改路劲
        disable                 = no #修改这里,yes改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

接下来就是引导文件的一些操作了

#我们需要将引导文件复制到tftp目录下(这里我使用的是tftp默认路劲)
#注意:下面的mnt目录是我本地光盘挂载的目录,你们如果跟我挂载的目录不一样,也需要修改成你们自己所挂载的目录
[[email protected] ~] cd /var/lib/tftpboot/
[[email protected] tftpboot] cp /usr/share/syslinux/pxelinux.0 .
[[email protected] tftpboot] cp /mnt/images/pxeboot/{vmlinuz,initrd.img} .
[[email protected] tftpboot] cp /mnt/isolinux/{vesamenu.c32,boot.msg} .
[[email protected] tftpboot] mkdir pxelinux.cfg
[[email protected] tftpboot] cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default

然后我们修改我们刚刚复制的default文件

vim pxelinux.cfg/default
    default linux #第一行
    label linux
      menu label ^Install CentOS 7
      kernel vmlinuz
      append initrd=initrd.img text ks=ftp://10.30.40.4/ks.cfg #64行


修改完成以后,我们把本地的自动安装文件复制到ftp的默认目录下

[[email protected] ~] cd /var/ftp/
[[email protected] ~] cp /root/anaconda-ks.cfg ks.cfg
[[email protected] ~] vim ks.cfg ##编辑五六行
        # Use CDROM installation media
    url --url="ftp://10.30.40.4/pub" #必须修改,跟下面挂载目录对应
    ------------
    %packages
    @core
    @base #加个包
    %end


接下来我们将我们的镜像挂载到/var/ftp/pub目录(可以同时挂到两个目录)

[[email protected] ftp] mount /dev/cdrom /var/ftp/pub/
    mount: /dev/sr0 is write-protected, mounting read-only

然后重启所有的服务

[[email protected] ~] systemctl restart dhcpd
[[email protected] ~] systemctl restart xinetd
[[email protected] ~] systemctl restart tftp.socket #重要!!!
[[email protected] ~] systemctl restart tftp
[[email protected] ~] systemctl restart vsftpd

测试


获取IP的过程,一闪而过

大概也就是怎么个情况

原文地址:https://blog.51cto.com/14113984/2431274

时间: 2024-10-08 07:18:53

Centos7下无人值守安装部署(PXE + DHCP+TFTP+ Kickstart+FTP)的相关文章

CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)

一,搭建无人值守服务器安装软件(PXE + DHCP+TFTP+ Kickstart+ FTP)IP:192.168.2.10 系统版本:CentOS Linux release 7.4.1708 (Core)  二,配置本地yum源,安装所需软件: [[email protected] yum.repos.d]# mount /dev/cdrom /mnt/mount: /dev/sr0 写保护,将以只读方式挂载[[email protected] yum.repos.d]# vim serv

linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)

需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念:  1.前言        首先,简单谈谈为什么要采用无人值守网络安装linux操作系统.一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守.此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题.另一方面是当前MPX项目开发的需要,为

使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

原理和概念:  1. 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动. 协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE cli

PXE+DHCP+TFTP+KickStart批量安装CentOS详解

一.场景介绍 当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法. 1.什么是PXE PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client.当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行

PXE环境下安装系统(DHCP+TFTP+HTTP+kickstart)

简单的说,这就是一个通过PEX网卡自动安装系统的过程.整个启动的过程大概可以理解为这样:计算机从PEX网卡设备启动,通过网卡与DHCP服务之间的4次互相广播后获得DHCP服务器提供的IP地址,并且DHCP服务器会告诉该网卡TFTP服务的位置,从而使PXE网卡可以获得"pxelinux.0"的启动文件,然后通过该文件可以读取TFTP服务器中的一些相应的配置文件,从而使该计算机可以进入系统安装界面,而这里我们想通过自动化的方法安装,所以我们就需要kickstart文件,而为了能够获得源,在

pxe+dhcp+apache+kickstart无人值守安装系统centos

pxe+dhcp+apache+kickstart无人值守安装系统 挂载系统盘. mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom 关闭selinux.关闭防火墙 setenforce 0 /etc/init.d/iptables stop 安装apache服务(默认是安装的) yum install apache -y 复制光盘的内容,到网站目录 cp -rf /mnt/cdrom/* /var/www/html/ 安装tftp-server服务 yum

PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5

基本流程: 1.网卡作为可引导的启动设备 2.BIOS找到引导设置网卡,激活网卡的PXE功能 3.客户端通过PXE的内置dhcp客户端尝试DHCP广播请求,从DHCP服务器获取IP地址.掩码.网关.网络属性 4.DHCP服务器告知客户端tftp服务器地址(next-server),将 "filename "pxelinux.0";" 参数中指定的文件(pxelinux.0)推送给客户端: 5.PXE的内置tftp客户端到指定tftp服务器下载启动镜像文件pxelin

RHEL7无人值守 DHCP+TFTP +SYSLINUX+FTP +KICKSTART

RHEL7无人值守 DHCP+TFTP +SYSLINUX+FTP +KICKSTART本人的linux学习笔记 二.实验步骤 服务器配置 客户端配置 三.配置过程 服务器配置 1.最小化安装 2.配置yum源 3.安装图形化界面 4.配置IP地址 5.安装 无人值守 需要的服务:DHCP+TFTP +SYSLINUX+FTP +KICKSTART 安装DHCP 安装TFTP 安装SYSLINUX 安装FTP 安装kickstart 6.    关闭防火墙,查看服务状态 四.测试 一.实验环境

Nginx DHCP TFTP Kickstart搭建自动安装系统

之前使用Cobbler搭建自动安装系统,最近Cobbler网站http://www.cobblerd.org/无法访问,执行命令cobbler get-loaders下载获取PXE启动需要的文件时报404,即使下载成功,所有文件都为0字节,导致服务器安装系统自动获取到IP地址后卡住.不得已自己想办法解决,重新用Nginx DHCP TFTP Kickstart搭建了一套自动安装系统.Nginx安装和配置都挺简单,代替了Cobbler中使用的Apache. 虚拟环境 网段:192.168.200.