Linux--PXE高效批量装机与kickstart无人值守安装

Linux--PXE高效批量装机与kickstart无人值守安装

  • 一:PXE概述
    • 1.1:PXE批量部署的优点
    • 1.2:服务端
    • 1.3:客户端
  • 二:PXE装机服务器的配置
    • 2.1:安装DHCP服务
    • 2.2:安装vsftpd服务
    • 2.2.1:把镜像文件挂载到vsftpd站点
    • 2.3:安装TFTP服务
      • 2.3.1:修改tftp服务的配置文件
      • 2.3.2:安装syslinux软件包提供引导程序
      • 2.3.3:把引导程序添加到tftp站点
    • 2.3.4:把压缩内核、系统初始化文件添加到tftp站点
    • 2.3.5:配置启动菜单文件
    • 2.4:配置网卡
  • 三:客户端配置
  • 四:实现kickstart无人值守安装
    • 4.1:安装system-config-kickstart工具
    • 4.2:配置安装应答参数
    • 4.3:编辑引导菜单
    • 4.4:实现无人值守安装

一:PXE概述

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

1.1:PXE批量部署的优点

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

Linux--PXE高效批量装机与kickstart无人值守安装_第1张图片

1.2:服务端

  • 运行DHCP服务、用来分配地址、定位引导程序
  • 运行TFTP服务、提供引导程序、压缩内核、系统初始化文件、启动菜单
  • 运行VSFTPD服务、提供镜像

1.3:客户端

  • 网卡支持PXE协议
  • 主板支持网络引导

二:PXE装机服务器的配置

2.1:安装DHCP服务

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

 27 subnet 192.168.10.0 netmask 255.255.255.0 {
 28   range 192.168.10.20 192.168.10.30;
 29   option routers 192.168.10.10;
 30   option domain-name-servers 192.168.10.10;
 31   next-server 192.168.10.10;  ##指定TFTP服务器地址##
 32   filename "pxelinux.0";  ##指定要下载的引导程序文件,需安装软件包syslinux##
 33 }

2.2:安装vsftpd服务

[root@localhost ~]# yum install vsftpd -y

2.2.1:把镜像文件挂载到vsftpd站点

[root@localhost ~]# cd /var/ftp   ##ftp站点目录##
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        47G  4.4G   43G   10% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.5M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M   17% /boot
tmpfs                   tmpfs      98M   32K   98M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /var/ftp/centos7
[root@localhost ftp]# 

2.3:安装TFTP服务

[root@localhost ~]# yum install tftp-server -y

2.3.1:修改tftp服务的配置文件

[root@localhost ~]# vim /etc/xinetd.d/tftp 
 disable                 = yes    ##此行yes改为no##

2.3.2:安装syslinux软件包提供引导程序

[root@localhost ~]# yum install syslinux -y

2.3.3:把引导程序添加到tftp站点

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

2.3.4:把压缩内核、系统初始化文件添加到tftp站点

[root@localhost ~]# cd /var/ftp/centos7/images/pxeboot/  ##压缩内核、初始化文件位置##
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]# 

2.3.5:配置启动菜单文件

[root@localhost ~]# 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]# ls
[root@localhost pxelinux.cfg]# vim default

default auto
prompt 1
label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.10.10/centos7
label linux text
  kernel vmlinuz
  append text initrd=initrd.img method=ftp://192.168.10.10/centos7
label linux rescue
  kernel vmlinuz
  append rescue initrd=initrd.img method=ftp://192.168.10.10/centos7

2.4:配置网卡

虚拟机上网模式选择为仅主机模式,修改网卡配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static    ##修改为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=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.10.10  ##IP地址##
NETMASK=255.255.255.0  ##子网掩码##

[root@localhost ~]# systemctl restart network ##修改完配置文件后重启网络服务##

三:客户端配置

在VMware Workstation中重新创建一个新的虚拟机,选择稍后安装操作系统,网络类型选择仅主机模式,无需挂载光盘镜像文件,配置好之后开启虚拟机,在读条的时候快速按一下Esc键,在弹出的引导菜单中选择网络启动
Linux--PXE高效批量装机与kickstart无人值守安装_第2张图片
出现此页面时选择auto或者回车
Linux--PXE高效批量装机与kickstart无人值守安装_第3张图片
之后就会跳到安装Linux操作系统的界面,此方法虽然提高了系统安装的灵活性,然而安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便,下面介绍通过kickstart工具进行无人值守安装。

四:实现kickstart无人值守安装

4.1:安装system-config-kickstart工具

[root@localhost ~]# yum install system-config-kickstart -y

4.2:配置安装应答参数

通过桌面菜单“应用程序”–“系统工具”–“kickstart”即可打开“kickstart配置程序”窗口
Linux--PXE高效批量装机与kickstart无人值守安装_第4张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第5张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第6张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第7张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第8张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第9张图片
Linux--PXE高效批量装机与kickstart无人值守安装_第10张图片
配置好之后点文件–保存到ftp站点 /var/ftp 之后打开/root/anaconda- ks.cfg文件,把软件包复制粘贴到ks.cfg文件中

%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools
%end

4.3:编辑引导菜单

[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

Linux--PXE高效批量装机与kickstart无人值守安装_第11张图片

4.4:实现无人值守安装

启动客户机裸机之后,当客户机以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装centos7系统,而无须手动干预。

你可能感兴趣的:(Linux服务篇,linux)