一.部署PXE远程安装服务
1.1 搭建PXE远程安装服务器
1.1.1:服务器的批量部署
-
规模化:同时装配多台服务器
-
自动化:安装系统,配置各种服务
-
远程实现:不需要光盘,U盘等安装介质
1.优点:
规模化:同时装配多台服务器;
自动化:安装系统、配置各种服务;
远程实现:不需要光盘、U盘等安装介质。
2.安装条件
客户机的网卡支持 PXE[协议(集成BOOTROM 芯片),且主板支持网络引导。网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。服务器通过TFTP ( Trivial File TransferProtocol,简单文件传输协议)提供引导镜像文件的下载。其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数Pc都能够提供此支持,只需在 BIoS设置中允许从Network或LAN启动即可。
1.1.2:关于PXE网络
PXE,Pre-boot eXcution Environment
预启动执行环境,在操作系统之前运行
可用于远程安装,构建无盘工作站
服务端
运行DHCP服务,用来分配地址,定位引导程序
引导程序:微代码,存放在TFTP服务器中
运行TFTP服务器,提供引导程序下载
TFTP服务器时UDP协议,端口号69
镜像文件存放在:vsftpd,TCP协议,端口号20,21
客户端
网卡支持PXE协议
主板支持网络启动
1.1.3:配置PXE装机服务器
基本部署过程
准备centos 7 安装源(yum仓库)
启动TFTP服务,并提供内核,引导程序
启动DHCP服务,用来分配地址,指导引导程序位置
配置启动菜单
TFTP服务及引导文件
安装tftp-server软件包,启动tftp服务
准备内核文件vmlinuz,初始化镜像initrd.img
准备引导程序文件pxelinux.0(依赖于syslinux)
DHCP服务的PXE设置
默认的启动菜单文件☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
创建/var/lib/tftpboot/pxelinux.cfg/default
1.2:PXE自动部署步骤总结
1.设置双网卡,
2.安装并启用 DHCP 服务
3.安装并启用 TFTP 服务
4.准备 PXE 引导程序pxelinux.0
5.配置启动菜单文件
6.安装ftp服务,准备 CentOS 7 安装源
1.3:验证PXE网络安装
-
为客户机安装系统
- 调整BIOS设置,以便从网络引导
- 自动获取IP地址,并指定centos7安装源
- 其余过程与本地安装相同
-
环境
使用VMware软件中centos 7系统
打开一台centos 7
二:实现Kickstart无人值守安装
2.1:准备安装应答文件
- kickstart无人值守技术
- 创建应答文件,预先定义好各种安装设置
- 免去交互设置过程,从而实现全自动化安装
- 通过添加%post脚本,完成安装后的各种配置操作
- 应答文件的内容
2.2kickstart无人值守安装实验
1:安装system-config-kickstart
2:配置kickstart
打开kickstart软件
3:修改配置文件
[root@localhost ~]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg 公共 视频 文档 音乐
initial-setup-ks.cfg 模板 图片 下载 桌面
[root@localhost ~]# vi anaconda-ks.cfg ===>复制配置文件里面的下面这些内容
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
[root@localhost ~]# cd /var/ftp/ ===>进入该目录
[root@localhost ftp]# ls ===>查看
centos7 ks.cfg pub
[root@localhost ftp]# vi ks.cfg ===>修改配置文件(把之前复制的全部粘贴到该文件最后)
[root@localhost ftp]# cd /var/lib/tftpboot/ ===>进入该目录
[root@localhost tftpboot]# ll ===>查看
总用量 57872
-rw-r--r--. 1 root root 52584760 7月 13 17:29 initrd.img
-rw-r--r--. 1 root root 26759 7月 13 17:25 pxelinux.0
drwxr-xr-x. 2 root root 21 7月 13 18:56 pxelinux.cfg
-rwxr-xr-x. 1 root root 6639904 7月 13 17:29 vmlinuz
[root@localhost tftpboot]# cd pxelinux.cfg/ ===>进入该目录
[root@localhost pxelinux.cfg]# ls ===>查看
default
[root@localhost pxelinux.cfg]# vi default ===>修改配置文件
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.100/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7