Linux PXE高效批量网络装机

PXE概述

PXE批量部署的优点

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

PXE(Preboot eXcution Environment)
预启动执行环境,在操作系统之前运行

服务器
运行DHCP服务,用来分配地址,定位引导程序
运行TFTP服务,提供引导程序下载(菜单,镜像,内核…)
FTP服务,作为本地yum源

客户端
网卡支持PXE协议
主板支持网络引导

配置PXE装机服务器

部署过程

1.准备CentOS 7 安装源(YUM仓库) ftp服务

[root@localhost~]# yum -y install vsftpd
[root@localhost~]# mkdir /var/ftp/centos7
[root@localhost~]# cp -rf /media/cdrom/* /var/ftp/centos7/
[root@localhost~]# systemctl start vsftpd
cp -rf /mnt/* /var/ftp/

2.安装并启用TFTP服务 为客户机提供系统的文件下载的服务

安装tftp-server软件包,启用tftp服务
 配置文件位于/etc/xinetd.d/tftp
[root@localhost~]# yum -y install tftp-server

[root@localhost~]# vim /etc/xinetd.d/tftp

server_args     =-s /var/lib/tftpboot
disable             = no                修改配置值,启动服务

[root@localhost~]# systemctl start tftp   启动
[root@localhost~]# systemctl enable tftp  开机自启动

3.提供Linux内核,PXE引导程序等

[root@localhost ~]# cd /media/cdrom/images/pxeboot
位于系统镜像文件夹 images/pxeboot下               共享目录             
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot    将pxelinux.0放在tftp服务家目录下                        

[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  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]# cp initrd.img vmlinuz /var/lib/tftpboot/   将光盘中的内核文件和驱动文件复制到tftp家目录中 
[root@localhost pxeboot]# cd /var/lib/tftpboot/  
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost tftpboot]# yum -y install vsftpd  下载ftp
[root@localhost tftpboot]# mkdir /var/ftp/centos7 
[root@localhost tftpboot]# cp -pr /mnt/* /var/ftp/centos7/
[root@localhost tftpboot]# mount /dev/sr0 /var/ftp/centos7
mount: /dev/sr0 写保护,将以只读方式挂载

4.安装并启用DHCP服务

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
subnet 192. 168.100.0 netmask 255.255.255.0 {
option routers 192. 168.100.1;
range 192.168.100.10 192.168.100.20; 
next-server 192.168.100.102; next-server:指定TFTP服务器地址
filename "pxelinux.0";    filename:指定要下载的引导程序文件


[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd

在这里插入图片描述

5.配置启动菜单

[root@localhost ~]# vi /var/ib/tftpboot/pxeliqux.cfg/default 确保pxelinux.cig目录已存在

default auto                                                  
prompt 1 :表示客户机安装系统,需要手动进行时。进行使用
label auto
       kernel vmlinuz
       append initrd=initrd.img method=ftp://192. 168.4.254/centos7
label linux text

       kernel vmlinuz    文本模式安装
       append text initrd=initrd.img method=fp://192. 168.4.254/centos7
label linux rescue

kernel vmlinuz           进入救援模式
append rescue initrd=initrd.img method=ftp://192.168.4.254/cento8t

新建用户测试

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

Kickstart无人值守安装

  • 创建好应答文件,预先定义好各自安装设置
  • 免去交互设置过程,实现全自动化安装
  • 在服务器上:
[root@handsomeboy1 isolinux]# yum install -y system-config-kickstart.noarch 
#### 安装无人装机技术

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/boot 300M ; swap:3072M ; /:剩余

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

[root@handsomeboy1 ~]# cd /var/ftp 
[root@handsomeboy1 ftp]# ls
centos7  pub
[root@handsomeboy1 ftp]# cp ~/ks.cfg ./          //将文件复制到ftp家目录中  
[root@handsomeboy1 ftp]# ls
centos7  ks.cfg  pub
[root@handsomeboy1 ftp]# vim ks.cfg

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值