PXE高批量网络装机

PXE高批量网络装机

单机:光驱加载linux镜像,使用光驱中的小型操作系统去安装操作系统

PE:操作系统是外来设备的操作系统,使用此操作系统将操作系统安装到本地(通过网络)

一.系统安装过程

1.加载boot loader

2.加载启动安装菜单

3.加载内核和initrd系统

4.加载根系统

5.运行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系统,文件系统驱动等)

二.什么是PXE

pxe是通过网卡引导启动

需要的硬件条件:

1.BIOS支持

2.网卡支持

3.需要在BIOS中开启开关(bmc界面)

4.网络中有一台DHCP服务器以便于客户机自动分配地址,指定引导文件位置

5.服务器通过tftp服务提供系统内核和引导镜像的下载

四大文件: initrd.img(驱动) vmlinuz(内核) pxelinux.cfg/default(引导文件) pxelinux.0(小型的grub程序)

1.实现过程

1.网卡需要查找相关的dhcp服务器

2.找到dhcp服务器后获得ip地址,和引导程序的地址(tftp服务的地址)

3.网卡使用ftp客户端把引导程序加载到内存

4.BIOS执行引导程序

5.引导程序会去tftp查找相关配置文件

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

7.系统安装

2.搭建过程中的服务

PXE远程安装服务集成了Centos7安装源,TFTP服务,DHCP服务,能够向客户端裸机发送PXE引导程序,linux内核,启动菜单等数据,以及安装文件

2.1TFTP服务

简单文件传输协议:基于udp协议(69端口)实现客户端和服务端之间简单文件传输的协议,适用于小型文件传输的场景,TFTP服务默认由xinetd服务管理

用来获取内核和引导文件

2.2vsftpd

安装系统时的镜像文件获取方式,可以使用http,ftp文件等方式

2.3syslinux

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

在此主要作用是提供pxelinux.0文件

2.4DHCP服务

为客户端的裸机提供ip地址,可以访问服务端

2.5PXE优点

规模化:同时装配多台服务器

自动化:安装系统,配置服务

远程实现:不需要光盘,U盘等介质

三.操作流程

1.为裸机分配同一局域网内的ip地址,指明tftp服务器地址

2.tftp服务端开启服务

3.安装syslinux服务,取得pxelinux.0文件

4.安装vsftpd服务,挂载镜像文件

5.将四大文件拷入/var/lib/tftpboot

6.将服务开启,关闭防火墙,安全防护

具体操作:

[root@localhost ~]#yum install tftp-server.x86_64 vsftpd syslinux dhcp -y
.....
已安装:
  dhcp.x86_64 12:4.2.5-83.el7.centos.1      syslinux.x86_64 0:4.05-15.el7      tftp-server.x86_64 0:5.2-22.el7     
  vsftpd.x86_64 0:3.0.2-29.el7_9           

作为依赖被安装:
  bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.14                                                                  

作为依赖被升级:
  dhclient.x86_64 12:4.2.5-83.el7.centos.1                dhcp-common.x86_64 12:4.2.5-83.el7.centos.1              
  dhcp-libs.x86_64 12:4.2.5-83.el7.centos.1              

完毕!
//安装软件包


[root@localhost ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
//将模板文件拷贝到为配置文件进行修改
subnet 192.168.82.0 netmask 255.255.255.0 {
  range 192.168.82.10 192.168.82.50;
  option routers 192.168.82.2;
  next-server 192.168.82.100;    //tftp服务器地址
  filename "pxelinux.0";         //指定启动文件
}

//配置tftp服务器
主要文件
/etc/xinetd.d/tftp    //配置文件
/var/lib/tftpboot    //站点

[root@localhost ~]#vim /etc/xinetd.d/tftp
disable                 = no
//将此行改为no 启动服务

[root@localhost ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
//将引导文件拷贝到站点中

[root@localhost ~]#cd /var/ftp/
[root@localhost ftp]#mkdir centos7
[root@localhost ftp]#ls
centos7  pub
[root@localhost ftp]#mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]#cd centos7/
[root@localhost centos7]#ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@localhost centos7]#cd isolinux/
[root@localhost isolinux]#ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@localhost isolinux]#cp initrd.img vmlinuz /var/lib/tftpboot/
//将initrd.img 和vmlinuz拷贝到站点中

[root@localhost isolinux]#cd /var/lib/tftpboot/
[root@localhost tftpboot]#ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost tftpboot]#mkdir pxelinux.cfg
[root@localhost tftpboot]#cd pxelinux.cfg/
[root@localhost pxelinux.cfg]#vim default


default   linux
timeout   600
 
label linux
  kernel vmlinuz
  append initrd=initrd.img    method=ftp://192.168.82.100/centos7
 
label rescue
  kernel vmlinuz
  append text  initrd=initrd.img    method=ftp://192.168.82.100/centos7
 
 
label test
  kernel vmlinuz
  append text  initrd=initrd.img    method=ftp://192.168.82.100/centos7

[root@localhost pxeboot]# systemctl stop firewalld.service
[root@localhost pxeboot]# systemctl start dhcpd
[root@localhost pxeboot]# systemctl start tftp
[root@localhost pxeboot]# systemctl start vsftpd
[root@localhost pxeboot]# setenforce 0
//开启服务,关闭防火墙,安全防护

四.kickstart无人值守安装

yum install system-config-kickstart -y

基础设置
PXE高批量网络装机_第1张图片
安装方法
PXE高批量网络装机_第2张图片
引导文件
PXE高批量网络装机_第3张图片
分区
PXE高批量网络装机_第4张图片
网络配置
PXE高批量网络装机_第5张图片
防火墙设置
PXE高批量网络装机_第6张图片
是否安装图形化界面
PXE高批量网络装机_第7张图片
PXE高批量网络装机_第8张图片
保存到ftp根目录下
PXE高批量网络装机_第9张图片

[root@localhost ftp]#cd /var/lib/tftpboot/
[root@localhost tftpboot]#cd pxelinux.cfg/
[root@localhost pxelinux.cfg]#vim default



default   linux
timeout   600
 
label linux
  kernel vmlinuz
  append initrd=initrd.img    method=ftp://192.168.82.100/centos7 ks=ftp://192.168.82.100/ks.cfg
 
label rescue
  kernel vmlinuz
  append text  initrd=initrd.img    method=ftp://192.168.82.100/centos7 ks=ftp://192.168.82.100/ks.cfg
 
 
 
label test
  kernel vmlinuz
  append text  initrd=initrd.img    method=ftp://192.168.82.100/centos7 ks=ftp://192.168.82.100/ks.cfg

[root@localhost pxelinux.cfg]#systemctl restart tftp
//重启服务

你可能感兴趣的:(linux,服务器,运维,centos)