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

目录

一.PXE概述

1.PXE

2.PXE批量部署的优点

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

二.搭建详情

1.配置网卡信息

2.安装并启用DHCP服务

3.安装并启动TFTP服务

4.准备PXE引导程序

5.安装FTP服务

扫描二维码关注公众号,回复: 13192170 查看本文章

新建虚拟机

三.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

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

猜你喜欢

转载自blog.csdn.net/oyyy3/article/details/120823727
今日推荐