自动装机
- 一、启动操作系统的方式
- 1.1 系统装机的三种引导方式
- 1.2 系统安装过程
- 1.3 三大文件
- 1.4 如何实现自动装机?
- 二、PXE
- 2.1 PXE的简介和优点
- 2.2 实现PXE的前提条件
- 2.3 PXE实现过程
- 2.5 要安装的服务
- 2.6 实现PXE
- 2.6.1 前置准备
- 2.6.2 安装并配置DHCP
- 2.6.3 安装并配置TFTP
- 2.6.4 安装syslinux,找到第三个文件的位置
- 2.6.5 安装vsfp
- 2.6.6 将三大文件拷贝到/var/lib/tftpboot下
- 2.6.7 PXE功能测试
- 三、KICKSTART 无人值守安装
- 3.1 kickstart 概述
- 3.2 kickstart配置文件
- 3.3 实现自动化装机(pxe+kickstart)
- 3.3.1 安装kikcstart工具,在虚拟机中用软件修改配置
- 3.3.2 查看kickstart文件,编辑default文件
- 3.3.3 验证自动装机是否成功
一、启动操作系统的方式
1.1 系统装机的三种引导方式
- 硬盘
- 光驱
- 网络
1.2 系统安装过程
- 加载boot loader
- 加载启动安装菜单
- 加载内核和initrd系统(文件才能使用文件)
- 加载根系统()
- 运行anaconda的安装向导
1.3 三大文件
在网络引导过程中,这些文件通常用于加载操作系统。
pxelinux.0
是一个 PXE 引导加载程序,用于启动网络引导。
vmlinuz
是一个压缩的 Linux 内核文件,它包含了操作系统的核心功能和驱动程序。
initrd.img
是一个用于初始化 RAM 磁盘的初始 RAM 文件系统。它包含了操作系统启动时所需的基本文件和驱动程序。
1.4 如何实现自动装机?
Kickstart 和 PXE 结合使用可以实现自动化的网络安装过程。
二、PXE
2.1 PXE的简介和优点
简介
PXE(Preboot Execution Environment)是一种网络引导技术,允许计算机通过网络启动和安装操作系统。
PXE通过网卡引导启动。
优点
- 规模化:同时装配多台服务器
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
2.2 实现PXE的前提条件
-
BIOS支持
-
网卡支持
-
需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
-
有DHCP 服务器
DHCP服务用于为客户机自动分配地址、指定引导文件位置 -
安装了TFTP服务
TFTP服务(简单文件传输协议)用于提供系统内核和引导镜像的下载。
2.3 PXE实现过程
-
网卡需要查找相关的dhcp服务器(获取地址时间)
-
找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
-
网卡使用tftp客户端吧引导程序加载到内存中来
-
bios执行引导程序
-
引导程序会去TFTP去查找配置文件
-
根据配置文件去引导安装系统
2.5 要安装的服务
DHCP
vim install -y dhcp
TFTP
yun install -y tftp-service
VSFTPD
yum install -y tftp-server.x86_64
syslinux(小型的grub程序,为PXE提供引导)
yum install -y syslinux
2.6 实现PXE
2.6.1 前置准备
systemctl stop firewalld
setenforce 0 #关闭防火墙和selinux
2.6.2 安装并配置DHCP
yum install -y dhcp #安装
rpm -qc dhcp #查看dhcp服务的配置文件
find / -name dhcp.conf.example #找到模板
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf #导入配置模板
vim dhcpd.conf #编辑配置文件
#关键内容#
next-server 192.168.2.100;#指定TFTP服务器的地址
filename "pxelinux.0";
systemctl start dhcpd #启动服务
systemctl status dhcpd #查看服务状态
2.6.3 安装并配置TFTP
yum install -y tftp-server.x86_64 #安装
rpm -ql tftp-server #查看目录
vim /etc/xineted.d #编辑配置文件
systemctl start tftp #启动tftp服务
systemctl status tftp #查看服务状态
2.6.4 安装syslinux,找到第三个文件的位置
yum install -y syslinux #安装syslinux
rpm -ql syslinux | grep pxelinux.0 #第三个文件的位置
2.6.5 安装vsfp
yum install -y vsftpd #安装服务
cd /var/ftp
mkdir test #创建挂载点目录
mount /dev/sr0 /var/ftp/test #挂载,提供路径
cd /var/lib/tftptroot
mkdir pxelinux.cfg #创建 pxelinux.cfg目录
cd /pxelinux.cfg
touch defaults #创建默认配置文件
#内容可参考 /mnt/isolinux/isolinux.cfg文件
vim default #编辑文件
systemctl start vsftpd #启动服务
2.6.6 将三大文件拷贝到/var/lib/tftpboot下
三大文件
vmlinuz,initrd.img,pxelinux.0
cd /var/ftp/test #切换到挂载点目录
cp initrd.img /var/lib/tftpboot/ #第一个文件
cp vmlinuz /var/lib/tftpboot/ #第二个文件
rpm -ql syslinux | grep pxelinux.0 #找到第三个文件的位置
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot #拷贝第三个文件
cd /var/lib/tftpboot
tree #查看是否拷贝成功
2.6.7 PXE功能测试
新建虚拟机
安装过程不再赘述,不要使用ISO映像文件
开启虚拟机,进入等待界面
开始安装虚拟机
三、KICKSTART 无人值守安装
3.1 kickstart 概述
Kickstart 文件是一个包含安装配置信息的文本文件。通过将Kickstart文件放置在网络上的可访问位置,并将PXE服务器进行相应的配置,可以实现使用Kickstart文件来配置和自动化执行操作系统安装过程
3.2 kickstart配置文件
vim ks.cfg
1. `install`: 告诉安装程序执行新安装而不是升级操作。
2. `url`: 指定安装源的 URL,可以是一个 HTTP、FTP 或 NFS 的 URL。
3. `keyboard`: 设置键盘布局或键盘类型。
4. `timezone`: 指定时区,可以使用正常的时区名称,例如 "America/New_York"。
5. `rootpw`: 设置 root 用户的密码,可以使用明文密码或加密密码。
6. `network`: 配置网络相关设置,如网络设备、IP 地址、子网掩码、网关和 DNS 服务器。
7. `part`: 配置磁盘分区设置,指定文件系统类型、分区大小等。
8. `%packages`: 列出要安装的软件包,可以是软件包组(如 "@base"、"@core")或具体的软件包名称。
9. `%post`: 在安装完成后执行的脚本,可以用于自定义配置和安装其他软件。
3.3 实现自动化装机(pxe+kickstart)
3.3.1 安装kikcstart工具,在虚拟机中用软件修改配置
yum install -y system-config-kickstart #安装图形化工具
1.修改基本设置
2.修改基本设置
3.修改优点引导文件
4.修改分区信息
5.添加网络配置
6.添加安装后脚本
7. 保存文件
3.3.2 查看kickstart文件,编辑default文件
ls /var/ftp
vim defalut
3.3.3 验证自动装机是否成功
新建虚拟机