首页 > 系统相关 >Linux网络服务——PXE网络批量装机+Kickstart无人值守安装

Linux网络服务——PXE网络批量装机+Kickstart无人值守安装

时间:2022-10-22 17:56:15浏览次数:50  
标签:引导 Kickstart cfg 客户机 initrd Linux 服务器 PXE

1 系统安装介绍

1.1 系统装机的三种引导方式

1 硬盘

2 光驱

3 网络

1.2 系统安装过程

  • 加载 boot loader
  • 加载启动安装菜单
  • 加载内核和initrd系统
  • 加载根系统
  • 运行anaconda的安装向导

2 PXE介绍

2.1 什么是PXE

PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。

PXE是通过网卡引导启动。

2.2 PXE服务优点

1 规模化:同时装配多台服务器,无需每一台单独安装操作系统;

2 自动化:实现服务器的自动安装及自动配置各种服务;

3 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

2.3 搭建PXE网络体系所需条件

① 客户机

  • 客户机的网卡要支持PXE协议(集成BOOTROM芯片)。
  • 网卡自带DHCP服务和TFTP服务。
  • 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。

② 服务端

  • 配置 DHCP 服务器 :为客户机自动分配地址、指定引导文件位置(指明TFTP服务器地址)。
  • 服务器要开启 TFTP 服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
  • 安装软件包syslinux :提供PXE引导程序。
  • 服务器提供FTP服务(或http) :提供安装源(例如镜像文件系统等)。

2.4 PXE装机需要的四大文件

  • pxelinux.0:引导程序。(来自syslinux程序)

  • default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)

  • vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)

  • initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

说明initrd的作用:

  • initrd 的英文含义是 boot loader initialized RAM disk,即由引导程序初始化的RAM磁盘。initrd是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起, 并作为内核引导过程的一部分进行加载。内核然后会将这个initrd文件作为其阶段引导过程的一部分来加载模块,这样才能在以后的引导过程中使用真正的文 件系统,并挂载实际的根文件系统。根文件系统可以存储在包括IDE、SCSI、USB在内的多种介质上,如果将这些设备的驱动都编译进内核,可以想象内核 会多么庞大、臃肿。所以可以把initrd看做是在启动过程中连接内核与根文件系统的一个桥梁。

2.5 PXE实现过程讲解

  1. 客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
  2. DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
  3. TFTP服务器把引导文件(pxelinux.0)传给客户机。
  4. 客户机将引导程序加载到内存中来。
  5. 引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
  6. 服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。

 

 

3 实验:使用PXE和kichstart实现无人值守、批量化自动装机

环境:
1、相同网段:192.168.206.0/24
2、centos7 虚拟机
3、使用的root用户,以/root/ 目录下会存放文件

1、准备好yum仓库,开始安装xinetd 、tftp-server 、dhcp 、syslinux 、vsftpd 、system-config-kickstart (一共6个安装包及其依赖关系)!!!
 

 

 

 

 2、首先去vim /etc/xinetd.d/tftp,把disbale改成no即可(补充:目前wait值为no,是可以多台机器一同装机,此外server_args 值是指定的tftp目录,默认即可)

 

 

 

 

保存后退出

3、关闭防火墙、增强型服务。开启xinetd和tftp服务+开机自行启动

 

 

4、接着我们来搭建DHCP服务,首先是复制/usr/share…中的模板覆盖/etc/dhcp…中的空白配置文件。接着我们vim /etc/dhcp/dhcpd.conf去改模版。要该的有2部分,第一部分是禁用dns动态跟新备注、确定next-server的ip地址(本机pxe服务地址)和文件filename 。第二部分是网段设置,要注意option routers(网关)得是这台机子的ip地址哦。最后保存退出,启动dhcpd服务+开机自启

 

 

 

 

 

 5、pxe机子装上光盘,挂载到mnt,然后去cd /mnt/images/pxeboot目录中,把vmlinuz、initrd.img 这两个镜像、内核文件cp复制去/var/lib/tftpboot/ 中去,这步就完成了。

 

 

 

 

6、下面我们着手来准备pxelinux引导程序(第一步的syslinux已经安装了)
复制这个pxelinux.0 程序去/var/lib/tftpboot/,完成后即可

 

 

7、准备ftp服务(第一步已经安装了vsftpd服务了)
我们先去cd /var/ftp
创建一个centos7目录
之后我们mount /dev/cdrom /var/ftp/centos7 (光盘可以挂载到多个地方)
完成后我们启动vsftpd服务+开机自启动

 

 

8、设置引导启动会话文件default,首先是cd /var/lib/tftpboot
随后我们创建一个pxelinux.cfg目录
vim /var/lib/tftpboot、pxelinux/default 创建这个文件(由于我们是使用kickstart无人值守的,所以就直接在这步添加ks参数了)

保存后退出

 

 

 

 

9、准备kickstart服务
打开方式:
1、可视化桌面左上角:应用程序-系统工具-kickstart
2、字符化界面:system-config-kickstart 召唤出来

 

 

 

 

 

 注意分区的时候:boot、swap、根目录必不可少!

 

 

 

 

 

 脚本设完后我们左上角的文件-保存。我选择保存在本机的/root/中

 

 

10、完成后首先cd ~
会发现多了initial-setup-ks.cfg和ks.cfg文件。我们首先vim initial-setup-ks.cfg,进去后把第二张图的所选部分复制
退出后我们vim ks.cfg,把这个复制的内容贴到ks.cfg的最下面(图三)
保存退出,把ks.cfg复制去/var/ftp目录中。cp /root/ks.cfg /var/ftp/ks.cfg

 

 

 

 

 

 

 

 验证:最后我们将裸机放入与pxe服务器主机同一网段的内网中,开机后即可实现自动化安装操作系统

标签:引导,Kickstart,cfg,客户机,initrd,Linux,服务器,PXE
From: https://www.cnblogs.com/jct166289/p/16816795.html

相关文章

  • Linux命令
    1、查看磁盘空间:df2、查看CPU使用率:top3、查找文件:find-name4、查看文件:Vim/Cat5、查看进程:PSTOPPStree(以树的方式展示进程间的关系)6、查看端口号:netstatls......
  • Linux防火墙的查看及端口的开放
    Linux防火墙的查看及端口的开发1.有关防火墙的基本操作#查看防火墙状态systemctlstatusfirewalld#开启防火墙systemctlstartfirewalld#临时关闭防火墙systemc......
  • 《Unix/Linux系统编程》学习笔记8
    第五章定时器及时钟服务一、知识点归纳(一)硬件定时器  定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以料青确的......
  • ffmpeg linux上的安装
    一、安装相关依赖库sudoapt-get-yinstallautoconfautomakebuild-essentiallibass-devlibfreetype6-devlibsdl2-devlibtheora-devlibtoollibva-devlibvdpau-d......
  • Linux网络服务之NFS(文件共享服务)
    一、NFS概述1.1NFS(NetworkFileSystem网络文件服务)1.NFS(网络文件服务):NFS是一种基于TCP/IP传输的网络文件系统协议,最初由Sun公司开发。通过使用NFS协议,客户机可......
  • Linux网络服务之部署YUM仓库
    1YUM简介1.1YUM简介CentOS使用yum和dnf解决rpm的包依赖关系。YUM:rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS8使用dnf......
  • Linux学什么
    0.C/C++编程语言需要学习基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等知识,还需要通过大量的代码练习理解其知识。1.熟悉Linux系统基本命令安装......
  • 05.Linux配置静态IP地址
    [root@localhostnetwork-scripts]#catifcfg-enp0s3TYPE="Ethernet"BOOTPROTO="static"IPADDR="192.168.43.202"NETMASK=255.255.255.0GATEWAY=192.168.43.1DNS1=1......
  • Linux常用命令(针对我个人)
    pwd查看当前目录位置cd-返回上一次所在目录cat(文件名)查看文件more(文件名)......
  • Linux设置开机自启动的三种方法
    一、rc.local文件中添加自启动命令1、执行命令:编辑"/etc/rc.local"vi /ect/rc.local2、然后在文件最后一行添加要执行程序的全路径。例如,每次开机时要执行一个hell......