PXE
PXE是Preboot Execution Environment的缩写,预启动执行环境
PXE使用需要以下几点:
- 客户端的网卡必须要支持PXE功能,并且开机选择从网卡启动,进入PXE程序
- PXE服务器必须要提供至少含有DHCP以及TFTP的服务!
- DHCP服务提供客户端网络,并且告知TFTP所在的位置;
- TFTP提供客户端boot loader及kernel file下载路径
PXE工作流程:
Client向PXE Server上的DHCP发送IP地址请求消息,返回Client的IP地址,同时将pxe环境下的Boot loader文件pxelinux.0的位置信息传送给Client
Client向PXE Server上的TFTP请求pxelinux.0
Client执行接收到的pxelinux.0文件
Client向TFTP请求pxelinux.cfg文件(里面放置的是是启动菜单,即grub的配置文件)
Client向TFTP发送Linux内核请求信息
Client向TFTP发送根文件请求信息
Client加载Linux内核
Client通过nfs/ftp/http下载系统安装文件进行安装
Kickstart
Kickstart是一种无人值守的安装方式
Kickstart工作流程:
在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在自动安装过程中出现要填 写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适的参数,就采用所找到的参数;如果没有找 到合适的参数,便会弹出对话框手工填写
Kickstart配置文件详解(分为3部分)
- 命令部分
- 配置系统
- 用户提示省略的指令
- %packages部分
- 为安装选择软件包和组
- 解决相关依性问题
- 脚本部分
- 定制系统的可选择部分
- 再安装前运行%pre脚本
- 安装后运行%post脚本
创建ks.cfg文件
每安装完一台Centos系统,Centos安装程序(anaconda)会创建一个kickstart配置文件,记录安装配置, 可以参考此配置文件来生成新的kickstart配置文件
Kickstart图形化配置工具,需要安装X Window System、GNOME Desktop、system-config-kickstart,根据 此命令生成配置文件 system-config-kickstart
参考官方手册。用文本编辑器手动创建
PXE+Kickstart批量无人值守部署
服务器配置
1.关闭防火墙和SELinux
[root@linux ~]# systemctl stop firewalld
[root@linux ~]# setenforce 0
2.DHCP
DHCP主要是提供客户端网络参数与TFTP的位置,以及boot loader的文件名
[root@linux ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
[root@linux ~]# mount /dev/sr0 /media
mount: /dev/sr0 is write-protected, mounting read-only
[root@linux ~]# yum -y install dhcp
Loaded plugins: fastestmirror
c7 | 3.6 kB 00:00
(1/2): c7/group_gz | 156 kB 00:00
(2/2): c7/primary_db | 3.1 MB 00:00
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.2.5-58.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================&