PXE高效批量网络装机(详细)

PXE高效批量网络装机(详细),第1张

PXE高效批量网络装机(详细)

目录

一.PXE概述

1.PXE

2.PXE批量部署的优点

3.搭建网络体系前提条件

二.搭建详情

1.配置网卡信息

2.安装并启用DHCP服务

3.安装并启动TFTP服务

4.准备PXE引导程序

5.安装FTP服务

新建虚拟机

三.kickstart 无人值守安装

1.准备安装应答文件

2.打开“Kickstart 配置程序”窗口 

3.配置kickstart选项 

4.配置需要安装的软件包 

5.编辑引导菜单文件 default,添加 ks 引导参数 


一.PXE概述 1.PXE

PXE 的全称是 preboot execute environment

PXE是用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加

载安装文件或者整个 *** 作系统。

2.PXE批量部署的优点
  • 规模化:同时装配多台服务器
  • 自动化:安装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等安装介质
3.搭建网络体系前提条件
  • 客户机
  1. 客户机的网卡要支持PXE协议(集成BOOTROM芯片)。大多数服务器都支持。
  2. 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。
  • 服务端
  1. 要DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。
  2. 服务器要开启 TFTP服务(简单文件传输协议)用来提供系统内核和引导镜像文件的下载。

二.搭建详情

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发

送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。

1.配置网卡信息

[root@localhost network-scripts]# vim ifcfg-ens37

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-ib    ifdown-ppp       ifdown-tunnel  ifup-ib    ifup-plusb   ifup-Team         network-functions
ifcfg-lo     ifdown-ippp  ifdown-routes    ifup           ifup-ippp  ifup-post    ifup-TeamPort     network-functions-ipv6
ifdown       ifdown-ipv6  ifdown-sit       ifup-aliases   ifup-ipv6  ifup-ppp     ifup-tunnel
ifdown-bnep  ifdown-isdn  ifdown-Team      ifup-bnep      ifup-isdn  ifup-routes  ifup-wireless
ifdown-eth   ifdown-post  ifdown-TeamPort  ifup-eth       ifup-plip  ifup-sit     init.ipv6-global
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_onLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
onBOOT=yes
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=8.8.8.8
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.282 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.206 ms
2.安装并启用DHCP服务

[root@localhost dhcp]# vim dhcpd.conf 

[root@localhost network-scripts]# yum install -y dhcp*
[root@localhost network-scripts]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost network-scripts]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost network-scripts]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost network-scripts]# cd /etc/dhcp/
[root@localhost dhcp]# ls
dhclient.d             dhcpd6.conf  scripts
dhclient-exit-hooks.d  dhcpd.conf
[root@localhost dhcp]# vim dhcpd.conf 
 27 subnet 192.168.100.0 netmask 255.255.255.0 {
 28   range 192.168.100.10 192.168.100.20;
 29   option routers 192.168.100.1;
 30   next-server 192.168.100.100;
 31   filename "pxelinux.0";
 32 }
3.安装并启动TFTP服务

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

[root@localhost dhcp]# yum install -y tftp-server.x86_64
[root@localhost dhcp]# rpm -ql tftp-server 
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot
[root@localhost dhcp]# vim /etc/xinetd.d/tftp 
  6 service tftp
  7 {
  8         socket_type             = dgram
  9         protocol                = udp
 10         wait                    = yes
 11         user                    = root
 12         server                  = /usr/sbin/in.tftpd
 13         server_args             = -s /var/lib/tftpboot
 14         disable                 = no
 15         per_source              = 11
4.准备PXE引导程序

[root@localhost dhcp]# rpm -ql syslinux |grep 0

[root@localhost dhcp]# yum install -y syslinux
[root@localhost dhcp]# rpm -ql syslinux |grep 0
...
/usr/share/syslinux/pxelinux.0
[root@localhost dhcp]# rpm -ql tftp-server 
/etc/xinetd.d/tftp
...
/var/lib/tftpboot ##所有的配置文件所在的站点
[root@localhost dhcp]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost dhcp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
pxelinux.0

5.安装FTP服务

[root@localhost pxelinux.cfg]# vim default

[root@localhost dhcp]# yum install -y vsftpd
[root@localhost dhcp]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 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 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 -p initrd.img vmlinuz /var/lib/tftpboot/
[root@localhost pxeboot]# 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
  1 default auto
  2 
  3 prompt 1
  4 
  5 label auto
  6   kernel vmlinuz
  7   append initrd=initrd.img method=ftp://192.168.100.100/centos7
  8 
  9 label text
 10   kernel vmlinuz
 11   append text initrd=initrd.img method=ftp://192.168.100.100/centos7
 12 
 13 label rescue
 14   kernel vmlinuz
 15   append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start vsftpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl stop firewalld.service 
[root@localhost pxelinux.cfg]# setenforce 0
新建虚拟机

半自动化安装系统

三.kickstart 无人值守安装 1.准备安装应答文件

[root@localhost tftpboot]# yum install system-config-kickstart.noarch
2.打开“Kickstart 配置程序”窗口 

3.配置kickstart选项 

4.配置需要安装的软件包 

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

[root@localhost ftp]# vim ks.cfg 

实现桌面安装

5.编辑引导菜单文件 default,添加 ks 引导参数 

 [root@localhost pxelinux.cfg]# vim default

 ​​​​​此时就可以全自动化安装系统了

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/3988427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存