高效:速度快 批量:多台同时安装 网络:没网用不了pxe
PXE的作用就是自动装机,网络分配ip地址
会用到的服务:
1.dhcp实现地址的自动分配
2.ftp把安装文件传输给客户机
3.xinetd:新一代的网络守护进程服务程序,挂你轻量级的internet服务
4.TFTP:简单文件传输协议,根据udp协议实现的,用于服务端和客户端之间进行简单文件传输,小文件传输,依赖于xinetd的管理,tftp端口号为69
搭建PXE服务最重要的文件:
1.pxe引导程序
2.linux内核文件
3.启动菜单
4.初始化镜像文件
配置:
pxe自动化
搭建pxe远程安装服务器
实验前提:关防火墙、安全机制。新建的虚拟机运行内存不能小于4g
1. 安装和配置tftp服务(简单文件传输协议)
(1). yum -y install tftp-server xinetd
(一次可安装多个服务,用空格隔开。以上命令是也同时安装tftp的守护程序xinetd)
(2). vim /etc/xinetd.d/tftp 进入编辑
修改:
wait =yes改成no
(yes表示客户机只能一台一台的连接,no表示客户机可以多台一起连接)
disable =yes改成no (yes表示关闭,no表示开启)
(解释一下:server-args =-s /var/lib/tftpboot 为指定tftp服务的根目录,引导文件都会放在根目录)
(3). 重启服务:
systemctl restart tftp
systemctl restart xinetd
2. 安装dhcp服务,给客户机分配IP地址、子网掩码、网关等相关的网络信息数据
(1). yum -y install dhcp :安装dhcp服务
(2). cd usr/share/doc/dhcp-4.2.5 此目录下dhcpd.conf.example是dhcp的配置文件的样板
(3). cp dhcpd.conf.example /etc/dhcp/dhcpd.conf:将样板文件复制到配置文件中开始配置
(4). vim /etc/dhcp/dhcpd.conf 配置dhcp服务
在最小和最大租约下面编辑。别忘记 ; 符号
ddns-update-style none; 禁用dns更新
next-server 20.0.0.20;(本机地址)
filename "pxelinux.0"; 指定要下载的pxe引导程序文件
(5). 配置ip地址池(也在dhcpd.conf配置文件中):
subnet:客户端网段
netmask:子网掩码
range:ip地址池的范围
option routers:默认网关地址
3. 配置光盘镜像
(1). 安装光盘镜像
(2). mount /dev/cdrom /mnt:挂载光盘镜像,永久挂载为fstab文件
(3). cd /mnt/images/pxeboot
(pxeboot目录中vmlinuz:linux系统的内核文件。 initrd.img:linux的初始化镜像文件)
(4). cp vmlinuz /var/lib/tftpboot
(5). cp initrd.img /var/lib/tftpboot
(/var/lib/tftpboot为默认传输目录)
4. 安装pxe的引导程序
(1). yum -y install syslinux
(2). cd /usr/share/syslinux (目录中pxelinux.0 为pxe的引导程序,当然也是样板文件)
(3). cp pxelinux.0 /var/lib/tftpboot
tftpboot文件中里面应该有三个文件
至此简单文件传输结束,下面开始大文件传输
5. 安装ftp进行大文件传输
(1). yum -y install vsftpd
(2). mkdir /var/ftp/centos7:在/var/ftp/目录下创建centos7目录
(3). cp -rf /mnt/* /var/ftp/centos7/ (把整个光盘镜像都复制过来,方便一起传输给客户机)
(4). 重启服务:
systemctl restart vsftpd
systemctl enable vsftpd
6. 配置启动菜单文件
默认路径tftp根目录中的pxelinux.cfg,文件名叫default
(1). mkdir /var/lib/tftpboot/pxelinux.cfg
· cd pxelinux.cfg/
· vim default
(2).编辑:vim default
第一段:
default auto:指定默认入口名称
prompt 0:设置是否等待用户选择,0为不等待自动化,1表示等待用户控制半自动化
第二段:
label auto:图形安装(默认)引导入口
kernel vmlinuz:用内核参数进行引导
append initrd=initrd.img method=ftp://20.0.0.20/centos7:指定他的引导位置从ftp来,都在centos7文件里
第三段:
label linux text:文本安装引导入口
kernel vmlinuz:用内核参数进行引导
append text initrd=initrd.img method=ftp://20.0.0.20/centos7
第四段:
label linux rescue:救援模式引导入口
kernel vmlinuz:用内核参数进行引导
append rescue initrd=initrd.img method=ftp:/20.0.0.20/centos7
此时PXE自动化安装已经配置完成。新建客户机,选择镜像的时候选择稍后安装操作系统,内存必须大于等于4g,硬盘20g够用,然后开启。
启动客户机显示如下证明配置完成:
无人值守
安装无人值守的工具:kickstart
yum -y install system-config-kickstart
方式1:系统窗口打开moba或者xshell。但是xshell需要付费
moba里面:system-config-start
方式2:进入虚拟机里面
(1). 使用kickstart工具
(2). 配置:
然后点击Add添加:
再添加一个:
再添加一个:
添加网络设备
防火墙配置里面的selinux和安全级别全选禁用
最后:设置一个脚本创建以ftp形式的本地yum
保存到root目录中
(3). root目录中多出ks.cfg文件,编辑一下自定义需要安装的软件包:
在最后添加:
%packages
@^minimal
%end
或:
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
%end
(4). cp ks.cfg /var/ftp:复制到ftp目录中让引导程序可以识别
(5). vim /var/lib/tftpboot/pxelinux.cfg/default:让引导菜单界面可以识别到
在第二部分添加:ks=ftp://20.0.0.20/ks.cfg
至此PXE自动化安装彻底完成,重启刚刚新建的客户机,无需手动操作即可完成所有安装和配置
只要授权许可就能完成安装: