一. PXE网络装机简介和相关知识
1. 常见的三种系统安装方式和相关文件
① 三种系统安装方式
u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装
光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机
网络下载安装:在网上下载相关镜像系统,进行安装
② Linux安装光盘的相关文件

-
boot.cat: 相当于grub的第一阶段
-
isolinux.bin:光盘引导程序
-
isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
-
vesamenu.c32:是光盘启动后的启动菜单图形界面
-
memtest:内存检测程序
-
splash.png:光盘启动菜单界面的背景图
-
vmlinuz:是内核映像
-
initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)
2. PXE简介
2.1 介绍
PXE 的全称是 preboot execute environment。它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
若想进行PXE批量装机,首先要搭建PXE远程安装服务器。而PXE远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
2.2 优点
规模化:同时装配多台服务器,无需每一台单独安装操作系统;
自动化:实现服务器的自动安装及自动配置各种服务;
远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。
3.进行PXE装机的前提条件
客户机
-
客户机的网卡要支持PXE协议(集成BOOTROM芯片)
-
主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可
服务端
-
DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。
-
服务器要开启 TFTP服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
-
服务器中使用FTP服务(或http/nfs)font> :提供yum安装源
-
安装软件包syslinux :提供PXE引导程序
4.PXE装机过程描述
4.1 过程
① 网卡需要查找相关的dhcp服务器(获取地址时间)
② 找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
③ 网卡使用tftp客户端吧引导程序加载到内存中来
④ bios执行引导程序
⑤ 引导程序会去TFTP去查找配置文件
⑥ 根据配置文件去引导安装系统
⑦ 系统安装过程

带着四大文件再来走一遍

4.2 需要安装软件详解
① TFTP服务
**TFTP(简单文件传输协议):**内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
② vsftpd
安装系统镜像文件获取方式
③ syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
⑤ dhcp
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。
4.3 四大文件
查看是哪四大文件:

① pxelinux.0 :引导程序。(来自syslinux程序)
② pxelinux.cfg :存放default :引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
③ vmlinuz :内核文件。(从光盘中获取,位于 isolinux 目录下)
④ initrd.img : 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)
5.搭建安装具体过程
① 安装软件包

② 配置 dhcp 服务器

配置文件内容:

③ 修改 tftp 服务配置文件


④ 挂载光盘,安放三大文件

⑤ 创建子目录,在子目录下面编写引导程序



⑥ 配置vsftpd服务,关闭防护和防火墙,开启服务
在/var/ftp/下新建一个目录,并将光盘挂载到该目录下,供客户端下载

到这里已经实现了半自动化安装
再安装一个kickstart程序,实现全自动化安装
⑦ 安装 kickstart

⑧ 做 Kickstart 的一些基本操作

基本配置:

安装方法:

引导装载程序选项:

配置分区信息:

选择类型和分区大小:

防火墙配置:

显示配置:

安装后可以添加脚本:

保存:

因为是ftp服务,所以只能放在 /var/ftp 下面

⑨ 写入配置中

⑩ 测试
新建一台虚拟机
ここまで仮想マシンが構築できない場合は、南京で直接ビルを探して直接降りることをお勧めします




虚拟机内存需要大于 2GB,不然装不了



进入急救模式,选择Network这行

点击进去之后,就不需要再进行操作
玩一玩


等到出现下面页面,输入root 密码123
再切换用户lisi,那就ok了


二. kickstart
kickstart 实现了真正的全自动化。搭配PXE使用,实现一键批量装机。
# 安装 kickstart 服务程序
yum install system-config-kickstart -y
# 查看kickstart 形成的脚本
cat /var/ftp/ks.cfg
kickstart 文件主要包括三个部分:命令段,程序段,脚本段
命令段:
|-----------|---------------|
| keyboard | 设定键盘类型 |
| lang | 语言类型 |
| zerombr | 清除mbr |
| clearpart | 清除分区 |
| part | 创建分区 |
| rootpw | 指明root的密码 |
| timezone | 时区 |
| text | 文本安装界面 |
| network | 指定网络设置 |
| firewall | 设置防火墙设置 |
| selinux | 设置selinux设置 |
| reboot | 安装完自动重启 |
| user | 安装完成后为系统创建新用户 |
| url | 指明安装源 |

**程序包段:**指明要安装的程序包组或程序包,不安装的程序包等
脚本段:
%pre: 安装前脚本
%post: 安装后脚本

三.Cobbler
1.cobbler简介
① Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
② Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
③ Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
④ Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
2.cobbler集成的服务
PXE服务支持。
DHCP服务管理。
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
3.工作原理
-
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 iamge
-
client裸机加载kickstart文件
-
client裸机接收os image,安装该os image
4. 实际操作

① 安装软件

② 开启服务

③ 核对当前设置是否有问题

④ 生成新的密码

⑤ 修改下面的几个配置
#根据以上提示,只需要做1,2,8这三项即可,修改下面四行
[root@centos7 ~]#vim /etc/cobbler/settings
default_password_crypted: "$1$1spuisnh$j34LNmyTQWs3l6xKxCZY60"
next_server:< tftp服务器的 IP 地址> 192.168.44.20
server:<cobbler服务器的 IP 地址>
manage_dhcp:1 #设置为1,表示通过cobbler生成dhcpd.conf配置文件
pxe_just_once: 1 #设置为1,防止重复安装系统
[root@centos7 ~]#systemctl restart cobblerd

⑥ 修改dhcp里面配置,实现dhcp服务

⑦ 开启服务,同步生成配置文件

⑧ 查看 帮你生成好了

⑨ 先挂载 再安装 --name 表示安装源名称 --path 指定镜像路径 --arch 指定安装源平台


镜像拷到了这个目录下,查看大小

一键安装

BIOS 2T以下 Win10
UEFI 可以对2T+ Win10以上


有点小问题,但是问题不大!!!