一.系统装机
1.1 三种引导方式
启动操作系统
1.硬盘
2.光驱(u盘)
3.网络启动 pxe
1.2 系统安装过程
1.加载boot loader:
Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设 备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统 内核准备好正确的环境
2.加载启动安装菜单
3.加载内核和initrd系统(文件才能使用文件)
4.加载根系统
5.运行anaconda的安装向导
6.分区设置
7.安装系统
8.配置系统
1.2.1 Linux安装光盘的安装相关文件
在系统光盘的isolinux目录下有和安装相关的文件
1.boot.cat: 相当于grub的第一阶段
2.isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于 SYSLINUX项目
3.isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找 isolinux.cfg文件
4.vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文 本的菜单
5.memtest:内存检测程序
6.splash.png:光盘启动菜单界面的背景图
7.vmlinuz:是内核映像
8.initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)
9.网卡:现代Linux内核通常包含了对许多常见网卡硬件的支持,因此大多数情况下不需要额外的驱动程序。
二.PXE 原理和概念
2.1 PXE
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引 导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系 统。
pxe是通过网卡引导启动
2.1.1 实现的硬件条件
1.BIOS支持
2.网卡支持(现在基本都已支持)
3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址
2.2 实现过程讲解
1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址 (dhcp本身不提供tftp服务)
3.网卡使用tftp客户端吧引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统
7.系统安装过程
2.3 搭建过程中服务详解
PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
2.3.1 TFTP服务
TFTP(简单文件传输协议):内核和引导文件 是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输 的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
2.3.2 vsftp
vsftp:安装系统镜像文件获取方式。可以使用http ftp等方式,ftp文件传输的一种。
2.3.3 syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间, 并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就 可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
2.3.4 DHCP服务
IP地址分配
2.4 pxe 优点
1.规模化:同时装配多台服务器
2.自动化:安装系统、配置各种服务
3.远程实现:不需要光盘、U盘等安装介质
2.5 操作过程
2.5.1 准备环境
1.准备两台机器
A插入网卡,主机模式 .100网段
2.配置网卡
3.关闭防火墙、selinux
4.安装 tftp-server vsftpd syslinux dhcpyum xinetd
yum install -y tftp-server vsftpd syslinux dhcpyum xinetd
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
编辑vim /etc/dhcp/dhcpd.conf
5.查看状态
6.启动tftp
vim /etc/xinetd.d/tftp disable yes改为no
7.挂载
8.拷贝到站点文件
9.开启并开机自启
[root@client3 pxeboot]# systemctl start xinetd
[root@client3 pxeboot]# systemctl start tftp
[root@client3 pxelinux.cfg]# systemctl start vsftpd
[root@client3 pxelinux.cfg]# systemctl enable vsftpd
[root@client3 pxeboot]# systemctl enable xinetd
[root@client3 pxeboot]# systemctl enable tftp
10.拷贝镜像
[root@client3 pxeboot]# mkdir /var/ftp/centos7
[root@client3 pxeboot]# cp -rf /mnt/* /var/ftp/centos7/ &
[root@client3 pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@client3 pxeboot]# cd /var/lib/tftpboot/pxelinux.cfg
11.配置启动菜单
[root@client3 pxelinux.cfg]# vim default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7
label text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.100/centos7
label rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
12.新建虚拟机
自动到此处,回车
三.KickStart 概述
kickstart(无人值守安装):文件主要包括三个部分:命令段,程序包段,脚本段
3.1命令段
指明各种安装前配置,如键盘类型等
3.1.1命令段中的常见命令
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源
3.2 程序包段
指明要安装的程序包组或程序包,不安装的程序包等
%packages
@^environment group: 指定环境包组,如:@^minimal-environment
@group_name
package
-package
%end
脚本段:
%pre: 安装前脚本
%post: 安装后脚本
3.3 操作过程
1.环境准备
安装桌面模式
安装kickstart
[root@client3 ~]# yum install system-config-kickstart
2.进入桌面模式
点击工具 > kickstart
3.基本配置
4.安装方法
5.引导装载
6.分区
Boot 500M
Swap 500M
/ 全部未用空间
7.设置网络 可选
8.验证 默认
9.防火墙、selinux关闭
10.显示配置 不安装图形化环境
11.软件包选择 无
12.预安装脚本 安装后脚本都可 配置ftp源防止没有网络
13.保存在 /var/ftp 不更改文件名
可查看ks.cfg
14.编写启动菜单配置
[root@client3 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 前面有错 重新编辑
15.重启预安装虚拟机
不需要任何操作自动安装并进入登录 完成
四.Cobbler的工作及原理
4.1 简述
通过网络使用PXE来自动化操作系统的安装过程。它允许网络管理员通过网络进行大规模的系统部署和配置,包括DHCP、DNS、TFTP、RSYNC和YUM仓库的管理。
4.2 工作原理
client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配 好的一个IP
DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
client裸机通过上面告知的TFTP server地址通信,下载引导文件
client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求 kickstart文件和os image
cobbler server发送请求的kickstart和os image
client裸机加载kickstart文件
client裸机接收os image,安装该os image
4.3 操作过程
1.环境准备
安装 cobblerd、httpd、 tftp、dhcpd 并启动
2.添加网卡
添加IP 192.168.100.100
3. 修改cobbler相关配置
vim /etc/cobbler/settings
4.检查配置是否正常
cobbler check
此处显示正常
5.启动tftp
vim /etc/xinetd.d/tftp disable yes改为no
6.重启 xinetd
7.下载启动的相关文件
正常显示
8.生成加密密码
加入加加入cobbler相关配置
9.实现dhcp服务
10.挂载
11.导入CentOS系统的安装文件,生成相应的YUM源
cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64
12.查看三个包是否全
13.确保文件修改
[root@client3 yum.repos.d]# systemctl restart cobblerd
[root@client3 yum.repos.d]# systemctl restart dhcpd
[root@client3 yum.repos.d]# systemctl restart xinetd
[root@client3 yum.repos.d]# systemctl restart httpd
14.新建虚拟机
15.选择centos7,不用任何操作安装
完成
五.总结
主要两种方式达成批量安装centos7系统
1.PEX+Kickstart
- 结合使用:PXE用于通过网络引导计算机,而Kickstart则用于自动化安装过程。两者结合,可以实现从网络启动到自动化安装的完整流程。
- 实现自动化装机:首先,配置PXE环境,包括DHCP、TFTP等服务;然后,配置Kickstart文件,定义安装过程中的各种参数和选项;最后,启动PXE客户端,从网络启动并自动安装操作系统。
2.Cobbler
- Cobbler能够自动化批量部署和安装操作系统,如Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE等众多Linux发行版。
- 它简化了Linux网络安装的配置流程,支持PXE(Preboot Execution Environment,预启动执行环境)技术,允许通过网络启动和安装操作系统。
- Cobbler提供了基于命令行(CLI)的管理方式和基于Web的配置界面,同时还提供了API接口,方便进行二次开发。