今天总结的大规模自动安装Linux系统主要依赖两个核心技术:
- PXE
- kickstart
PXE简介:
预启动执行环境也被称为预执行环境,提供了一种使用网络接口启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
核心功能:是让客户通过网络从远端服务器下载启动镜像,从而实现网络启动。
PXE执行过程:
kickstart技术简介:
kickstart技术核心为kickstart文件。通过kickstart文件,我们可以很轻松地实现自动安装和配置操作系统。通过文件将本来在安装过程中需要我们手动设置的语言、密码、网络参数等通过读取自动应答文件实现自动设置。
kickstart文件可以有多种生成方式:
- 手动书写
- 通过system-config-kickstart图形工具(本次演示用,较为方便快捷)
- 通过红帽的安装程序Anaconda自动生成
实验前说明:
安装服务:
根据PXE工作过程可以看出,我们需要安装 DHCP服务,TFTP服务,nfs服务(FTP服务)。然后安装system-config-kickstart工具来生成kickstart工具。文件共享服务并不作严格要求,本次用ftp服务器放置kickstart文件。
实例说明:
在实际应用中,我们可以手动安装一台机器。之后在此台机器上部署装机服务来完成剩下的大规模装机需求。本期实验在一台机器上部署装机服务,一台新机器验证结果。
实验所用机器:
[root@fet-7 ~]# cat /etc/redhat-release #本台机器要运行system-config-kickstart需要有图形化设置。
CentOS Linux release 7.6.1810 (Core)
[root@fet-7 ~]# uname -r
3.10.0-957.el7.x86_64
ip :192.168.126.135
- 注意:该机器一定要支持图形化,建议直接安装成桌面。
实验开始
环境准备:
- 关闭防火墙
[root@fet-7 ~]# systemctl stop firewalld
[root@fet-7 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@fet-7 ~]# sed -i.bak 's/=enforcing/=disabled/' /etc/selinux/config
[root@fet-7 ~]# setenforce 0
- 安装服务
yum -y install dhcp
yum install tftp-server -y
yum install vsftpd -y
yum install system-config-kickstart -y
开始配置:
- 创建目录用来存放安装系统所需要的文件
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# mkdir centos7u4 #ftp文件,用来存放镜像文件。和kickstart文件。
[root@localhost ftp]# ls
centos7u4 pub
[root@localhost ftp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# mkdir centos7u4 #tftp用来存放启动文件
[root@localhost tftpboot]# ls
centos7u4
- 配置DHCP服务
DHCP主要任务:分配给客户机两个ip,一个客户机自己的ip,一个tftp的ip。
- 拷贝配置文件
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/ #到此目录下拷贝一份配置文件
[root@localhost dhcp-4.2.5]# ls
dhcpd6.</