PXE高效批量网络装机

目录

什么是PXE 

实现的硬件条件

两个必要的文件

PXE批量部署的优点

实现过程

 安装步骤

将nat模式的dhcp关掉

安装服务

新建一台机子

 开机

 关于kickstart

kickstart无人值守技术

装机时自生成的应答文件

图形化kickstart配置

先安装软件

 重启下安装的机子


什么是PXE 

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

PXE是通过网卡引导启动

实现的硬件条件

  • BIOS支持
  • 网卡支持
  • 需要在BIOS中开启开关,服务器一般没打开(bmc界面里打开)
  • 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置DHCP功能 (dhcp指明分配的ip地址)
  • 服务器通过tftp服务(简单文本传输协议)来提供系统内核和引导镜像的下载udp协议  网卡自带此功能(不支持其他的远程共享服务)

两个必要的文件

vmlinuz:内核映像

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

PXE批量部署的优点

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

实现过程

  1. 网卡需要查找相关的DHCP服务器(获取地址时间)
  2. 找到后DHCP服务器提供ip地址,和引导程序(boot loader)的地址,还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
  3. 网卡使用tftp客户端把引导程序加载到内存中
  4. bios执行引导程序
  5. 引导程序会去TFTP去查找配置文件
  6. 根据配置文件去引导安装系统
  7. 系统安装过程

 安装步骤

将nat模式的dhcp关掉

安装服务

[root@jjj ~]# yum install dhcp tftp-server.x86_64 vsftpd syslinux -y
#安装服务
[root@jjj ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@jjj ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@jjj ~]# vim /etc/dhcp/dhcpd.conf

 查看tftp的配置文件

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

 

[root@jjj ~]# cd /var/ftp
[root@jjj ftp]# mkdir centos7
[root@jjj ftp]# mount /dev/sr0 centos7
mount: /dev/sr0 写保护,将以只读方式挂载

拷贝文件给tftp

[root@jjj ftp]# cd centos7
[root@jjj 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@jjj centos7]# cd isolinux
[root@jjj isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@jjj isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot

[root@jjj isolinux]# cd /var/lib/tftpboot
[root@jjj tftpboot]# ls
initrd.img  vmlinuz

把pxe文件复制过来

[root@jjj tftpboot]# rpm -ql syslinux |grep linux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@jjj tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@jjj tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz

新建pxelinux.cfg文件需手写

[root@jjj tftpboot]# mkdir pxelinux.cfg
[root@jjj tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@jjj tftpboot]# cd pxelinux.cfg/
[root@jjj pxelinux.cfg]# ls
[root@jjj pxelinux.cfg]# vim default

 四大配置文件

 开启服务

[root@jjj tftpboot]# systemctl stop firewalld
[root@jjj tftpboot]# setenforce 0
[root@jjj tftpboot]# systemctl start dhcpd
[root@jjj tftpboot]# systemctl start tftp
[root@jjj tftpboot]# systemctl start vsftpd

新建一台机子

 

 

 

 

 

 内存一定要大于两个G不然加载不出来

 

 开机

 关于kickstart

kickstart无人值守技术

  • 创建应答文件,预先定义各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

装机时自生成的应答文件

 ​​​​​​

[root@jjj ~]# vim anaconda-ks.cfg 

 

 在最后可以写些预配置脚本

%pre:安装前脚本

%post:安装后脚本

格式

例如:
%post
useradd lisi
%end

可用 “ksvalidator anaconda-ks.cfg”检查文件格式

图形化kickstart配置

先安装软件

[root@jjj ~]# yum install system-config-kickstart.noarch -y

 

 

 

 

 

 

 

 

 

 

 

 

 

 查看下

 修改配置文件,指明kickstart应答文件位置

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

 重启下安装的机子

点完回车后静静等待即可

安装成功

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值