PXE远程网络装机及CentOS 7无人值守安装

在大规模的Linux应用环境中,比如Web群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何给成百上千台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方式很显然已经力不从心了,那么就需要——PXE网络装机及无人值守安装。

PXE网络装机及无人值守安装可以实现的功能有:
1.规模化:同时装配多台服务器;
2.自动化:安装系统、配置各种服务;
3.远程实现:不需要光盘、U盘等安装介质。

如图:

关于Windows PXE网络装机可以参考博文:Windows server 2016部署WDS服务

若要搭建PXE网络体系,必须要满足的条件有:
1.客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导;
2.网络中必须有一台DHCP服务器为客户机分配IP地址、指定引导文件的位置;
3.服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。

其中第一个条件是硬件要求,目前绝大部分服务器和PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可。

满足条件后,我们来实现这种功能!

PXE远程安装服务的基本部署过程:

本次试验PXE远程安装服务器集成了CentOS 7 安装源、FTP服务、TFTP服务、DHCP服务,能够像客户机(裸机)发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

PXE远程安装服务的部署过程大致可以分成这样几步:
1.安装FTP服务并准备CentOS 7 安装源;
2.安装TFTP服务并启动;
3.准备Linux内核、初始化镜像文件;
4.准备PXE引导程序、启动菜单文件;
5.安装并启动DHCP服务;
6.验证PXE网络安装效果。

接下来我们开始分步骤完成实验,并实现理想的效果!

1.安装FTP服务并准备CentOS 7 安装源

通过搭建本地YUM的方式安装一系列服务。如果有朋友对YUM的搭建不明白可以参考博文:YUM仓库配置及命令详解

[[email protected] ~]# mount /dev/cdrom /mnt
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# rm -rf *
[[email protected] yum.repos.d]# vim a.repo
[a]
baseurl=file:///mnt
gpgcheck=0
[[email protected] ~]# yum -y install vsftpd
//安装FTP服务
[[email protected] ~]# mkdir /var/ftp/centos7
[[email protected] ~]# cp -rf /mnt/* /var/ftp/centos7/
//将光盘中的东西全部复制到FTP服务科匿名访问的目录中
[[email protected] ~]# systemctl start vsftpd
//启动FTP服务

2.安装TFTP服务并启动

TFTP(简单文件传输协议)服务所使用UDP的69端口。

[[email protected] ~]# yum -y install tftp-server
//安装TFTP服务
[[email protected] ~]# vim /etc/xinetd.d/tftp
//修改TFTP服务的配置文件,内容如下:
service tftp
{
        socket_type             = dgram
        protocol                = udp                          //TFTP服务采用udp传输协议
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot             //指定TFTP服务的根目录
        disable                 = no                           //这项必须改成“no”
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[[email protected] ~]# systemctl start tftp
//启动TFTP服务

3.准备Linux内核、初始化镜像文件

用PXE网络安装的Linux内核、初始化文件可以从CentOS 7系统光盘中获得,位于images/pxeboot/目录下,分别是initrd.img和vmlinuz。将这两个文件复制到TFTP服务的根目录下。

[[email protected] ~]# cd /mnt/images/pxeboot/
[[email protected] pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

4.准备PXE引导程序、启动菜单文件

用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。因此需要先安装syslinux。

[[email protected] ~]# yum -y install syslinux
[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

启动菜单来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在TFTP根目录下的pxelinux.cfg子目录下,典型的启动菜单引导文件需手动创建,可以参考以下内容:

[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
//在TFTP服务根目录下创建pxelinux.cfg目录
[[email protected] ~]# cd /var/lib/tftpboot/pxelinux.cfg/
[[email protected] pxelinux.cfg]# vim default
//创建default菜单文件。文件内容如下:
default auto
prompt 1
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.1/centos7
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.1.1/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.1.1/centos7
其中个配置项的含义:
default:用来指定默认入口名称;
prompt:用来决定是否需要等待用户控制(1表示需要,0表示不需要);
label:用来定义并分割启动项,文件中有三种引导模式:
分别是图形安装(默认)、文本安装、救援模式;
kernel:用来指定所需内核;
append:追加配置项;
initrd:用来指定系统初始化文件;
method:用来指定安装方式;
引导入口的个数及内容根据实际情况自定义。

5.安装并启动DHCP服务

由于PXE客户机通常是尚未安装系统的裸机,因此为了与服务器取得联系并正确的下载相关引导文件,需要预先配置DHCP服务器来自动分配地址并告知引导文件位置。

[[email protected] ~]# yum -y install dhcp
[[email protected] ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
//复制DHCP服务的模板
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
//修改DHCP服务的配置文件,主要内容如下:
                   ………………           //省略部分内容
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option domain-name-servers 192.168.1.1;
  option domain-name "internal.example.org";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.1.1;                         //指定TFTP服务器的地址
  filename "pxelinux.0";                              //指定PXE引导程序的文件名
}
                   ………………           //省略部分内容
[[email protected] ~]# systemctl start dhcpd

6.验证PXE网络安装效果

对于新购买的裸机,一般都不需要设置(如果是重新装系统,建议则应调BIOS为网络启动)。若使用vmware虚拟机进行测试,虚拟机内存至少需要2GB,否则在启动会报错。


耐心等待,几分钟后:

出现这种情况,表示部署成功!

通过PXE远程安装服务,虽然,安装介质已经不再受限于光盘、移动硬盘、U盘等设备,大大提高了系统安装的灵活想但是,安装期间仍然需要人为的进行交互式的操作,当需要批量安装时非常的不方便。那么就需要使用到——“Kickstart无人值守安装”

实现Kickstart无人值守安装

实现Kickstart无人值守安装部署过程:
1.配置应答文件并保存;
2.启动自动应答文件;
3.验证无人值守安装。

接下来我们开始分步骤完成,并实现理想的效果!

1.配置应答文件并保存

要想图形化的创建应答文件,则需要安装system-config-kickstart工具,如果对配置文件非常熟悉的话,也可以直接修改系统自动创建的无人安装配置文件/root/anaconda-ks.cfg。本次案例安装system-config-kickstart工具,图形化的编辑配置文件。

[[email protected] ~]# yum -y install system-config-kickstart
//安装system-config-kickstart工具,安装完成之后:

















[[email protected] ~]# vim /var/ftp/ks.cfg
//查看刚才通过图形化编辑的应答文件
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard ‘us‘
# Root password
rootpw --iscrypted $1$3uZeSVnX$FYsU4y8y/qqEWA66Wuysg1
# Use network installation
url --url="ftp://192.168.1.1/centos7"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part swap --asprimary --fstype="swap" --size=2048
part / --asprimary --fstype="xfs" --grow --size=1

%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
cd /etc/yum.repos.d/
echo -e "[a]"  >> a.repo
echo -e "baseurl=ftp://192.168.1.1/centos7" >> a.repo
echo -e "gpgcheck=0" >> a.repo

%end

不过刚才已经说明了,还缺一个选项——“软件包选择”,需要自己手动添加几行配置项,在末尾添加即可,添加内容如下:

%packages
@^minimal
%end
//这三项的意思就是最小安装
%packages
@^gnome-desktop-environment
%end
//这三项的意思是桌面安装

当然也可以参考/root/anaconda-ks.cfg文件,文件中%packages到%end之间都是配置选项,每行一个配置选项,任意选择!
大家可以不经过图形化编辑,直接复制配置文件!效果也可实现!

2.启动自动应答文件

[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.1/centos7 ks=ftp://192.168.1.1/ks.cfg

将prompt 改为0,表示不等待用户选择。添加ks引导参数,并制定URL访问路径。

3.验证无人值守安装



实验完成!

原文地址:https://blog.51cto.com/14157628/2429032

时间: 2024-10-04 00:06:23

PXE远程网络装机及CentOS 7无人值守安装的相关文章

PXE网络装机配置和kickstart 无人值守安装

网络装机的优势: 规模化:同时装配多台主机 自动化:装系统.配置各种服务 远程实现:不需要光盘.U盘等各种物理安装工具 什么是PXE? PXE是域启动执行环境,在操作系统之前运行,可用于远程安装,构建无盘工作站. 工作模式: PXE client集成在网卡ROM中,当计算机引导时,BIOS把PXE client 调入内存执行,获取PXE server配置,显示菜单,根据用户选择将远程操作系统下载到本机运行. 搭建PXE需要的服务(搭建PXE的前提条件) 1.DHCP服务,分配IP地址,定位引导程

PXE网络装机(有人值守与无人值守安装)

一:环境说明: ip:192.168.10.1,  dhcp分配的ip段为192.168.10.2-192.168.10.30  网关:192.168.10.1 dhcp服务     tftp服务     httpd服务,我安装在同一台 二:安装 (1)安装dhcp,并拷贝dhcpd.conf.sample 模板文件到 /etc/dhcp/dhcpd.conf # yum install dhcp # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample 

他们真的来了:PXE远程部署装机,进阶版kickstart无人值守装机(实验可跟做)

各位小伙伴今天给大家带来的是:PXE远程部署装机以及kickstart无人值守装机的内容,我们将从以下几点进行解析和实验 部署PXE远程安装服务: 1.搭建PXE远程安装服务器 2.验证PXE网络安装 实现Kickstart无人值守安装: 1.准备安装应答文件 2.实现批量自动装机 服务器的批量部署: 1.规模化:同时装配多台服务器 2.自动化:安装系统.配置各种服务 3.远程实现:不需要光盘.U盘等安装介质 PXE远程装机实验: 实验环境: 1.建议在局域网环境下使用(两台centos7,一台

PXE部署网络装机及KICKSTART无人值守安装

PXE定义 PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统 PXE 部署装机的前提要素 PXE预启动执行环境,在操作系统之前运行可用于远程安装,构建无盘工作站 服务端运行DHCP服务,用来分配地址,定位引导程序运行TFTP服务器,提供引导程序下载 客户端网卡支持PXE协议主板支持网络启动 PXE部署装机的优点

Linux PXE+DHCP+Kickstart无人值守安装   (1) 网络装机

PXE网络装机 注释:我们要安装的是 rhel-server-5.9_x86_64 下载地址是:地址晚一点给大家. linux PXE远程安装介绍: PXE是由Intel设计的协议,它可以使计算机通过网络启动.协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行,无盘工作站就是通过PXE来进行启动的.PXE协议的成功

部署PXE远程安装服务和Kickstart无人值守安装

部署PXE远程安装服务和Kickstart无人值守安装PXE:网络引导技术,工作在Client/Serrver模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统.若要搭建PXE网络体系,需满足以下几个前提条件:1.客户机的网卡支持PXE协议,且主板支持网络引导2.网络中有一台DHCP服务器以便为客户机自动分配地址.指定引导文件位置3.服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载Kickstart:使用Kickstart工具配置安装应答文件,自动完成安装

百晓生带你玩转linux系统服务搭建系列----pxe远程安装服务器的搭建及无人值守安装

实验环境系统环境:centos6.5:程安装服务器WIN7:客户端一.pxe远程安装服务器的搭建 安装并开启需要的服务,tftp,ftp,dhcp.1) yum -y install tftp-server,安装tftp环境软件包(如没有安装yum仓库,请参考http://blog.51cto.com/13842738/2135806)2) 编辑tftp配置文件vim /etc/xinetd.d/tftp 将"disable = yes"改为"disable = no&quo

Linux的PXE kickstart网络自动装机

简介: PXE工作在client/server模式,允许客户机通过网络从远程访问服务器下载引导镜像,并加载安装文件或者整个操作系统. 若要搭建PXE网络体系,需满足以下条件. 客户机的网卡支持PXE协议,并且主板支持网络引导. 要有一台DHCP服务器以便客户机自动分配地址,指定引导文件位置. 服务器支持通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载. 但是通过PXE虽然能够通过网络实现多台客户机一起装机,但是期间还需要手动配置

Pxe+Kickstart无人值守安装Linxu操作系统

KICKSTART无人值守安装: 一.系统安装方法: 光盘安装系统===>一个服务器DVD内置光驱就要花很多钱,试想,几百台服务器仅是装系统用一次光驱,太耗资金,usb外置光驱一台一台插也是够麻烦的. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标.时刻想偷懒的我们,有没有更好的方法! 高效安装系统法:Kickstart.Cobbler 二.