Linux网络服务----PXE服务,批量网络装机

PXE服务部署

概述
pxe(Preboote Xecute Environment,预启动执行环境)是由Intel公司开发的技术,也被称为预执行环境,提供了一种使用网络接口启动计算机的机制。
它工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统。
pxe批量部署优点
规模化:同时装配多台服务器
自动化:安装系统,配置各种服务
远程实现:不需要光盘,U盘等介质

PXE的工作过程

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)

3.客户机向本网络中的TFTP服务器索取bootstrap文件

4.客户机取得bootstrap文件后之执行该文件

5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统

6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装

服务端:
运行DHCP服务,用来分配地址,定位引导程序
运行tftp服务,提供引导程序下载
客户端:
网卡支持pxe协议
主板支持网络引导

配置PXE远程安装服务器的配置文件

dhcp服务:/etc/dhco/dhcpd.conf
tftp服务:/etc/xinetd.d/tftp
tftp站点:/var/lib/tftpboot
ftp服务站点:/var/ftp/

基本部署

DHCP的pxe设置
添加两个配置文件:next-server 指向tftp服务器地址
filename “pxelinux.0” 指定引导程序文件

//
yum -y install dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
;

在这里插入图片描述

// 
systemctl start dhcpd;

准备Linux内核,pxe引导程序
Linux内核,初始化镜像文件分别为vmlinuz和initrd.img
引导程序为pxelinux.0 ,由软件包syslinux提供
将系统镜像文件下的vmlinuz和initrd.img拷贝到tftp目录下

安装并启用TFTP服务
安装tftp-server软件包,启用tftp服务
修改配置文件 disable = no

// 
[root@localhost ~]# yum -y install tftp-server.x86_64
[root@localhost ~]# yum provides */pxelinux.0
[root@localhost ~]# yum -y install syslinux-4.05-15.el7.x86_64
[root@localhost ~]# rpm -ql syslinux | grep pxelinux 
/usr/share/doc/syslinux-4.05/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /mnt
[root@localhost mnt]# 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 mnt]# cd images/
[root@localhost images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@localhost images]# cd pxeboot/

[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost pxeboot]# ll
总用量 57838
-rw-r--r-- 1 root root 52584760 1126 2018 initrd.img
-r--r--r-- 1 root root      441 1126 2018 TRANS.TBL
-rwxr-xr-x 1 root root  6639904 119 2018 vmlinuz
[root@localhost pxeboot]# cp -p vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost isolinux]# vim /etc/xinetd.d/tftp
;

在这里插入图片描述

//
[root@localhost tftpboot]# yum -y install vsftp
[root@localhost tftpboot]# mkdir /var/ftp/centos7
[root@localhost tftpboot]# cp -rf /mnt/* /var/ftp/centos7/;

配置启动菜单文件
在tftp目录下写一个配置文件

//
 [root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# cd /var/ftp/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]# vim isolinux.cfg
[root@localhost isolinux]# cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost isolinux]#  vim/var/lib/tftpboot/pxelinux.cfg/default
[root@localhost isolinux]# cp -p splash.png  vesamenu.c32  /var/lib/tftpboot/
[root@localhost isolinux]# systemctl start tftp
[root@localhost isolinux]# systemctl start vsftpd;

在这里插入图片描述
在这里插入图片描述

无人值守安装

// 
[root@localhost isolinux]# yum -y install system-config-kickstart
;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//
[root@localhost isolinux]# vim /etc/yum.repos.d/CentOS-Base.repo;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

// 
[root@server ~]# cd /var/ftp/   进入ftp目录,将菜单文件复制进去
[root@server ftp]# ls
centos7  pub
[root@server ftp]# cp ~/ks.cfg .
[root@server ftp]# ls
centos7  ks.cfg  pub
[root@server ftp]# vim /var/lib/tftpboot/pxelinux.cfg/default 调用菜单文件的信息
;

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值