PXE网络装机之centos7(批量自动装机)

PXE远程服务器(192.168.1.1)所需准备:

  1. 安装源(系统盘文件);
  2. TFTP服务;
  3. DHCP服务;
  4. Linux内核;
  5. 能够向客户机裸机发送PXE引导程序;
  6. 启动菜单及无人应答文件等。

客户端要求:

  1. 客户端的网卡支持PXE协议,且主板支持网络引导(现在多数都支持);
  2. 设置BIOS允许从Network或LAN启动;

一、搭建PXE远程安装服务器:

1、配置YUM仓库,并安装ftp服务:

[[email protected] ~]# mount /dev/cdrom /media
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# rm -rf *
[[email protected] yum.repos.d]# vim a.repo

[yum]
baseurl=file:///media
gpgcheck=0

[[email protected] yum.repos.d]# yum -y install vsftpd*

2、准备centos7安装源并启动ftp服务:

[[email protected] yum.repos.d]# mkdir /var/ftp/centos7
[[email protected] yum.repos.d]# cp -rf /media/* /var/ftp/centos7/
[[email protected] yum.repos.d]# systemctl start vsftpd             #启动ftp服务
[[email protected] yum.repos.d]# systemctl enable vsftpd              #设置为开机自启

3、安装并启动TFTP服务:

[[email protected] yum.repos.d]# yum -y install tftp-server
[[email protected] yum.repos.d]# vim /etc/xinetd.d/tftp             #编辑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
}

[[email protected] yum.repos.d]# systemctl start tftp                #启动TFTP服务
[[email protected] yum.repos.d]# systemctl enable tftp

4、准备Linux内核、初始化镜像文件(在系统盘中):

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

5、准备PXE引导程序:

[[email protected] pxeboot]# yum -y install syslinux    #安装引导程序
[[email protected] pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

6、配置启动菜单(典型的和无人值守安装的启动菜单根据实际需求二选一配置即可):

[[email protected] pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg 

①、典型的启动菜单,无法实现无人值守安装:

[[email protected] pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/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

②、无人值守安装的启动菜单:

[[email protected] pxeboot]# 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

在上面两种启动菜单,我这里配置的是无人值守安装,若选择典型的启动菜单,那么接下来的操作有很多就是不必要的了,只要安装上DHCP服务器即可部署系统了。

7、安装并启用DHCP服务器(DHCP服务安装后有一个模板文件,若不熟悉,可以参考: https://blog.51cto.com/14154700/2353971):

[[email protected] pxeboot]# yum -y install dhcp
[[email protected] pxeboot]# vim /etc/dhcp/dhcpd.conf
                              ...........................

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.1 192.168.1.200;
  option domain-name-servers 8.8.8.8;
  option domain-name "internal.example.org";
  option routers 192.168.1.254;
  option broadcast-address 192.168.1.255;
  default-lease-time 21600;
  max-lease-time 43200;
  next-server 192.168.1.1;                 #指定TFTP服务器的地址
  filename "pxelinux.0";                     #指定PXE引导程序的文件名
}

[[email protected] pxeboot]# systemctl start dhcpd
[[email protected] pxeboot]# systemctl enable dhcpd

8、准备安装应答文件:
在centos 7 系统中如果安装了system-config-kickstart工具后,可通过图形化向导工具来配置安装应答文件。如果大佬对自动应答文件的配置比较熟悉,也可以直接编辑centos 7 安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修改后使用(我还是老老实实的使用图形化吧):

[[email protected] pxeboot]# yum -y install system-config-kickstart     #安装所需工具

①、打开图形化程序:

②、配置安装应答参数:

③、由于ftp服务默认允许匿名访问,所以不用指定用户名和密码:

④、引导装载程序:

、分区信息(根据实际需求选择合适的硬盘分区方案):

⑤、网络配置及防火墙:


⑥、安装后脚本:
(注意:最后验证时,发现“\n”换行符没有生效,So.....你们自己去研究脚本怎么写吧!)
若想在系统安装完成后,执行一些操作,可以参考以下(我这里写了一个配置yum仓库的脚本):

⑦、保存应答文件:

保存后的应答文件:

[[email protected] ~]# vim ks.cfg              #最后生成的应答文件如下
(可直接复制此文件便可省略图形化配置的那些步骤,结合实际需求进行修改后使用即可):

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard ‘us‘
# Root password
rootpw --iscrypted $1$MgF1wIfb$oADHgYO7I0RbKmkuEVML9/
# Use network installation
url --url="ftp://192.168.1.1/centos7"
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Firewall configuration
firewall --disabled

# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=none
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1

%post --interpreter=/bin/bash
cd /etc/yum.repos.d
echo -e "[base]\nbaseurl=ftp://192.168.1.1/centos7\ngpgcheck=0" aa.repo
%end

不过上面的配置文件还差点东西,需要在配置文件末尾继续写入三行,以此来选择最小安装:

%packages
@^minimal
%end

写好后,保存退出即可。

8、将自动应答文件复制到指定目录(在之前的引导菜单指定的“ks=”项的路径):

[[email protected] ~]# cp /root/ks.cfg /var/ftp/

10、OK,客户机开机,验证效果(耐心等待完成即可):

安装成功:

原文地址:https://blog.51cto.com/14154700/2403456

时间: 2024-08-07 10:34:20

PXE网络装机之centos7(批量自动装机)的相关文章

PXE网络装机及kickstart无人值守自动装机技术

PXE网络装机及kickstart无人值守自动装机技术 PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer pro

PXE 批量自动装机过程

实验目的:实现批量自动装机实验环境:linux系统 win7系统实验要求:linux作为服务端且与win7系统能够互联互通说明:PXE自动装机有三个服务作为基础,分别是:DHCP TFTP FTP且在此之前,yum仓库要创建好 1.首先测试两台机是否能互联互通,如若不通,检查原因,使之能达到要求 2.安装tftp服务 3.执行命令:vim /etc/xinetd.d/tftp 进入tftp配置文件,开启功能 4.然后安装dhcp服务 5 . 执行命令: cp /usr/share/doc/dhc

linux-DHCP服务、PXE网络批量自动装机

虚拟机A 1. 将防火墙状态设置为trusted 2.SELinux当前修改为permissive 3.SELinux永久状态修改为permissive 4.清空Yum缓存,检查Yum是否可用 虚拟机B 1. 将防火墙状态设置为trusted 2.SELinux当前修改为permissive 3.SELinux永久状态修改为permissive 4.清空Yum缓存,检查Yum是否可用 /etc/selinux/config (永久状态配置文件) -------------------------

PXE批量自动装机Centos 7

设置静态IP关闭防火墙 systemctl stop firewalld iptables -F setenforce 0PXE部署一部署FTP服务,安装包vsftpd 1建立共享文件夹 (可以拷贝光碟文件到centos7下,也可直接挂载) mkdir /var/ftp/centos7 2启动FTP服务,设置开机自启 vsftpd二部署TFTP服务,安装包tftp-server 1开启TFTP服务,要修改配置文件 vim /etc/xinetd.d/tftp wait = no disabled

cobbler批量自动装机

网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业.自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增.不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE.DHCP.TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器.这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转.总而言之,这是一份多么有前途,多么有技

PXE网络批量装机

PXE网络装机 在大规模的linux应用环境中,如web群集.分布式计算等,服务器往往并不配备光驱设备,这种情况下如何为数十乃至上百台服务器裸机快速安装系统?传统的USB光驱.移动硬盘等安装方法显然已经力所难及.接下来介绍的PXE(Pre-boot Excution Enviroment,预启动环境)技术的网络装机方法,并结合Kickstart配置实现无人安装.   一.了解PXE远程安装服务 1.pxe远程安装服务的介绍 PXE是由Inter公司开发的网络引导技术,工作在C/S模式,允许客户机

Linux6.4通过PXE网络装机

搭建PXE远程安装服务器 准备RHEL6安装源 [[email protected] ~]# mkdir/var/ftp/rhel6 [[email protected] ~]# cp -rf/media/* /var/ftp/rhel6/ [[email protected] ~]# service vsftpdrestart 安装并启用TFTP服务 TFTP服务由tftp-server软件包提供,默认xinetd超级服务机型管理,. 配置文件:/etc/xinetd.d/tftp.配置时只要

搭建PXE网络实现远程装机服务

PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统 PXE远程装机的好处: 规模化:同时装配多台服务器 自动化:安装系统.配置各种服务 远程实现:不需要光盘.U盘等安装介质 搭建PXE网络环境的前提条件 既然是通过网络传输,那么计算机在启动时,它的IP地址有谁来分配:又是怎样下载到Linux内核和给文件系统的呢?

YUM仓库服务与PXE网络装机的配置安装与使用

前言 前面我们安装软件主要使用rpm和源码编译安装,尤其在rpm安装软件的时候有些软件需要依赖关系,安装起来非常麻烦,今天讲的YUM仓库安装,可以自动解决依赖关系,只需要一条命令:yum -y install 软件名,就可以安装了,如果要卸载就执行:yum -y remove 软件名. 接下来先给大家搭建一台YUM服务器,实现yum安装软件 此外今天的另外一个实验就是PXE网络安装,非常类似windows2008的wds,通过网络快速安装操作系统.PXE的安装方式虽然说提高了安装的灵活性,但是有