PXE和kickstart无人值守安装

PXE高效批量网络装机

引言

1.系统装机的引导方式

启动 操作 系统

1.硬盘

2.光驱(u盘)

3.网络启动 pxe

重装系统?

在已有操作系统

新到货了一台服务器,

装操作系统

系统镜像 u盘 光盘

pe: 小型的 操作系统 在操作系统 再装操作系统

pxe

2.系统安装过程

  • 加载boot loader

Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境

  • 加载启动安装菜单

  • 加载内核和initrd系统(文件才能使用文件)

  • 加载根系统()

  • 运行anaconda的安装向导

Linux安装光盘的安装相关文件

在系统光盘的isolinux目录下有和安装相关的文件

  • boot.cat: 相当于grub的第一阶段

  • isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目

  • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

  • vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单

  • memtest:内存检测程序

  • splash.png:光盘启动菜单界面的背景图

  • vmlinuz:是内核映像

  • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)

1.PXE介绍

PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

pxe是通过网卡引导启动

1.1实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置    网卡自带DHCP功能    dhcp 指明分配的ip地址  

vsftpd   tftp

5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)

2.实现过程简述

1.网卡需要查找相关的dhcp服务器(获取地址时间)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

3.网卡使用tftp客户端吧引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

7.系统安装过程

PXE和kickstart无人值守安装_第1张图片

3.搭建过程叙述

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

3.1TFTP

TFTP(简单文件传输协议):内核和引导文件

是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

3.2vsftp:安装系统

可以使用http ftp等方式,ftp文件传输的一种。

3.3syslinux

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。

pxelinux.0 启动pxe pxe可以支持

4.pxe优点

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

5.PXE和kickstart无人值守安装的操作过程

systemctl  stop firewalld

setenforce  0

#关闭防火墙和核心防护

yum install tftp-server   vsftpd   syslinux  dhcp   -y 

#安装软件

PXE和kickstart无人值守安装_第2张图片

cat  /etc/dhcp/dhcpd.conf

#dhcp的配置文件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

#将配置文件模板复制到dhcp目录下

PXE和kickstart无人值守安装_第3张图片

vim /etc/dhcp/dhcpd.conf

#编辑dhcp配置文件

PXE和kickstart无人值守安装_第4张图片

PXE和kickstart无人值守安装_第5张图片

systemctl start dhcpd

#开启dhcp服务

vim  /etc/xinetd.d/tftp

#编辑tftp服务的配置服务

PXE和kickstart无人值守安装_第6张图片

cd  /var/lib/tftpboot

#切到tftp的主目录下

mount  /dev/sr0  /mnt

#挂载到mnt下

PXE和kickstart无人值守安装_第7张图片

cp  /mnt/isolinux/initrd.img    .

#拷贝镜像文件到tftpboot下

cp  /mnt/isolinux/vmlinuz    .

#拷贝内核文件到tftpboot下

PXE和kickstart无人值守安装_第8张图片

rpm  -ql  syslinux | grep pxelinux.0

#查找syslinux中的pxelinux.0的文件

cp /usr/share/syslinux/pxelinux.0          .

#将syslinux中的pxelinux.0文件复制到当前目录下

mkdir pxelinux.cfg

#创建文件夹

vim pxelinux.cfg/default

#创建default文件

PXE和kickstart无人值守安装_第9张图片

PXE和kickstart无人值守安装_第10张图片

mkdir  /var/ftp/centos7

#新建文件夹

mount /dev/sr0  /var/ftp/centos7

#挂载

systemctl start tftp.socket

#开启tftp服务

systemctl start vsftpd

#开启ftp服务

PXE和kickstart无人值守安装_第11张图片

 虚拟机内存一定要大于2G

PXE和kickstart无人值守安装_第12张图片

yum  install  system-config-kickstart.noarch  -y

#安装图形化工具

PXE和kickstart无人值守安装_第13张图片

进入虚拟机操作

PXE和kickstart无人值守安装_第14张图片

PXE和kickstart无人值守安装_第15张图片

PXE和kickstart无人值守安装_第16张图片

PXE和kickstart无人值守安装_第17张图片

PXE和kickstart无人值守安装_第18张图片

PXE和kickstart无人值守安装_第19张图片

PXE和kickstart无人值守安装_第20张图片

PXE和kickstart无人值守安装_第21张图片

PXE和kickstart无人值守安装_第22张图片

PXE和kickstart无人值守安装_第23张图片

PXE和kickstart无人值守安装_第24张图片

PXE和kickstart无人值守安装_第25张图片

PXE和kickstart无人值守安装_第26张图片

回到服务器

PXE和kickstart无人值守安装_第27张图片

要在一台新建的虚拟机下重启实验!并且内存要大于2GB!

PXE和kickstart无人值守安装_第28张图片

PXE和kickstart无人值守安装_第29张图片

6.Cobbler原理

PXE和kickstart无人值守安装_第30张图片

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP

  • DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

  • client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

  • cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

  • client裸机通过上面告知的TFTP server地址通信,下载引导文件

  • client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image

  • cobbler server发送请求的kickstart和os iamge

  • client裸机加载kickstart文件

  • client裸机接收os image,安装该os image

6.1实际操作

[root@centos7 ~]#yum install epel-release.noarch -y
[root@centos7 ~]#yum install cobbler dhcp httpd   -y
[root@centos7 ~]#systemctl enable --now cobblerd httpd tftp dhcpd

[root@centos7 ~]#cobbler check

 openssl passwd -1 '123123'

#生成一个密钥文件

vim /etc/cobbler/settings 

$1$cWzI./u.$uoGgVITPzCR1NbSYCbn/t.

#修改主配置文件

 PXE和kickstart无人值守安装_第31张图片

 

 PXE和kickstart无人值守安装_第32张图片

PXE和kickstart无人值守安装_第33张图片

PXE和kickstart无人值守安装_第34张图片

PXE和kickstart无人值守安装_第35张图片

PXE和kickstart无人值守安装_第36张图片

vim /etc/cobbler/dhcp.template

#dhcp的配置模板

PXE和kickstart无人值守安装_第37张图片

 PXE和kickstart无人值守安装_第38张图片

PXE和kickstart无人值守安装_第39张图片

mount   /dev/sr0  /mnt

#挂载

cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64

#把镜像文件拷贝到固定目录下

PXE和kickstart无人值守安装_第40张图片

du -sh /var/www/cobbler/ks_mirror/*

#拷贝到了这边,输入命令可以看到

 PXE和kickstart无人值守安装_第41张图片

在新建的无配置过的虚拟机里,重新启动,检验实验有没成功 

PXE和kickstart无人值守安装_第42张图片

你可能感兴趣的:(php,开发语言,centos,linux,运维,网络,服务器)