1.硬盘
2.光驱(u盘)
3.网络启动 pxe
加载boot loader
Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境
加载启动安装菜单
加载内核和initrd系统(文件才能使用文件)
加载根系统()
运行anaconda的安装向导
在系统光盘的isolinux目录下有和安装相关的文件
boot.cat: 相当于grub的第一阶段
isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单
memtest:内存检测程序
splash.png:光盘启动菜单界面的背景图
vmlinuz:是内核映像
initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)
PXE,即Pre-boot Execution Environment,即预引导执行环境,通过PXE,可以实现网络引导与安装操作系统。
PXE是由Inter 公司开发的网络引导技术,工作在Client / Server 模式。允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
?pxe是通过网卡引导启动
PXE 优点:
规模化:同时装配多台服务器
自动化:安装系统,配置各种服务都可以交给机器进行
远程实现:不需要光盘,U盘等安装介质
PXE特点:
PXE严格来说并不是一种安装方式,而是一种引导方式。
协议分为 client 和 server 端
运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。
客户机的网卡要支持PXE协议(集成BOOTROM芯片)
主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可
DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。
服务器要开启 TFTP服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
服务器中使用FTP服务(或http/nfs)font> :提供yum安装源
安装软件包syslinux :提供PXE引导程序
1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3.网卡使用tftp客户端吧引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统
7.系统安装过程
PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
3.1TFTP(简单文件传输协议):内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
可以使用http ftp等方式,ftp文件传输的一种。
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
pxelinux.0 启动pxe pxe可以支持
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。
搭建过程所需要的四大文件:
1.安装所需的软件包:
yum install dhcp vsftpd tftp-server.x86_64 syslinux -y
2.配置文件模板在此目录下
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3.配置dhcp文件:
vim /etc/dhcp/dhcpd.conf
并开启服务:
systemctl start dhcpd?
4.修改 tftp 服务配置文件?:
?vim /etc/xinetd.d/tftp
改成no?
5.挂载光盘,拷贝文件?
?
?6.新建文件夹,写配置文件:
mkdir pxelinux.cfg
vim pxelinux.cfg/default
default linux
timeout 600label linux
? ? ? ? kernel vmlinuz
? ? ? ? append initrd=initrd.img method=ftp://192.168.62.66/centos7
?
?7.配置vsftpd服务,关闭防护和防火墙,开启服务
在/var/ftp/下新建一个目录,并将光盘挂载到该目录下,供客户端下载
?8.到这里已经实现了半自动化安装
再安装一个kickstart程序,实现全自动化安装
9.在虚拟机内的?Kickstart 进行配置
?
?
?
?
?
?
保存到ftp:
?
?11.写入配置中
12.新建虚拟机进入急救模式
?
加载完成
?可以登陆
kickstart文件主要包括三个部分:命令段,程序包段,脚本段
命令段:指明各种安装前配置,如键盘类型等
命令段中的常见命令:
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源
程序包段:指明要安装的程序包组或程序包,不安装的程序包等
%packages
@^environment group: 指定环境包组,如:@^minimal-environment
@group_name
package
-package
%end
脚本段:
%pre: 安装前脚本
%post: 安装后脚本
# 安装 kickstart 服务程序
yum install system-config-kickstart -y
# 查看kickstart 形成的脚本
cat /var/ftp/ks.cfg
PXE服务支持。
DHCP服务管理。
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)