文章目录
一、PXE远程安装fuwu
1.1PXE概述
- PXE:
预启动执行环境,在操作系统之前运行 - 服务端:
①运行DHCP服务,用来分配地址、定位引导程序
②运行TFTP服务,提供引导程序下载 - 客户端:
①网卡支持PXE协议
②主板支持网络引导
1.2PXE部署的优点
- 规模化:同时装配多台服务器
- 自动糊:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
1.3 PXE服务器工作原理
- 客户机向dhcp服务器发送广播请求IP地址
- dhcp服务器响应客户端请求,分配一个地址池中的可用地址给客户端
- dhcp服务器提供TFTP服务器的地址,指引客户端去TFTP服务器取得系统所需的引导文件
- 客户端需要系统提供的内核文件和驱动文件
- 当操作系统安装完成之后,需要一些软件包,客户端向TFTP服务器请求
tftp(简单文件传输协议),使用udp69端口,容易实现,速度快,不验证身份权限,客户端请求文件,无交互。一般用作于小文件传输。
二、PXE配置装机
2.1配置DHCP
yum -y install dhcp//安装dhcp软件
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf //复制模板到主配置文件
[root@server ~]# vim /etc/dhcp/dhcpd.conf //配置dhcp主配置文件
subnet 192.168.91.0 netmask 255.255.255.0 {
range 192.168.91.10 192.168.91.20;
option routers 192.168.91.130; //网关指向dhcp服务器地址
next-server 192.168.91.130;//指定tftp服务器地址
filename "pxelinux.0";//指定引导程序文件
}
[root@server ~]# systemctl start dhcpd//重启服务
2.2配置TFTP
[root@server ~]# yum -y install tftp-server.x86_64 //安装tftp
[root@server ~]# rpm -ql tftp-server //查询已安装软件包安装的所有文件
[root@server ~]# yum provides */pxelinux.0//查询由那个软件包安装
yum -y install syslinux //安装syslinux软件包,默认提供PXE引导文件
root@server ~]# rpm -ql syslinux //查询安装的syslinux软件包中的所有文件
[root@server ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //将复制/usr/share/syslinux/pxelinux.0到/var/lib/tftpboot/目录下
[root@server ~]# mount /dev/sr0 /mnt//挂载光盘
[root@server pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/ //复制内核文件到目录/var/lib/tftpboot/下
2.3配置ftp
[root@server tftpboot]# yum -y install vsftpd//安装ftp
[root@server tftpboot]# mkdir /var/ftp/centos7 //在共享目录下创建centos7目录
[root@server tftpboot]# mkdir /var/ftp/centos7 //将/mnt目录下的文件拷贝到/var/ftp/centos7目录下
mkdir pxelinux.cfg //创建存放菜单文件的目录
isolinux.cfg //找到真正的菜单文件
cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //菜单文件内的内容复制到pxelinux.cfg目录下的空文件defaule
[root@server isolinux]# cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //菜单文件内容复制到tftp的家目录下的defaule文件
[root@server isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default //打开菜单文件
[root@server isolinux]# systemctl start vsftpd //重启vsftp
vim /etc/xinetd.d/tftp // #tftp是由xinetd管家管理的,若开启的话,需要编辑
service tftp
{
socket_type = dgram
protocol = udp
wait = no //将yes改为no
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no //将yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@server isolinux]# systemctl start tftp //启动tftp服务
三、实现Kickstart无人值守安装
3.1Kickstart无人值守技术
- 创建应答文件,预设定义好各种安装设置
- 免去交互设置过程,从而实现全自动化安装
3.2Kickstart和PXE结合使用
在服务器安装system-config-Kickstart软件。
[root@server isolinux]# yum -y install system-config-kickstart
安装完成之后,根据以下步骤设置应答文件
当软件包不能选择时,配置yum源
[root@server isolinux]# vim /etc/yum.repos.d/CentOS-Base.repo
[development] //将base改为development
name=CentOS-$releasever - Base
查询root产生的文件ks.cfg,配置程序
vim ks.cfg
不选择,配置文件直接显示密码