系统装机三个引导
- 硬盘
- 光驱
- 网络
PXE介绍
PXE(预启动执行环境)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE是通过网卡引导启动的
PXE有什么用
前面已经提到,PXE是用来通过网络引导系统的,但是为什么要这么做呢?可以参考下面的场景:
- 你现在有1台电脑需要装系统,那么很简单,你拿上一个U盘安装盘插在这台电脑上,然后从U盘启动,之后就可以手动安装系统了;但如果你现在有100台电脑,如果你在拿着一个U盘安装盘一台台安装,那效率肯定是太低了,这个时候PXE就派上用场了。
- 某公司对信息安全要求比较高,需要使用无盘系统(系统不在本地电脑上,而在公司特定的服务器上),这个时候也需要使用PXE。
- 你想要一台远程的电脑运行你手上特定的系统,这个时候你就可以在本地布置一个你手上的系统,然后通过PXE启动你本地的系统(这个可能需要额外的支持,比如BMC,因为要远程)
2.2 PXE服务优点
- 规模化:同时装配多台服务器,无需每一台单独安装操作系统;
- 自动化:实现服务器的自动安装及自动配置各种服务;
- 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。
搭建 PXE 网络体系的必要条件
- 客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
- 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
- 服务器要通过 TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。
2.4 PXE装机需要的四大文件
pxelinux.0:引导程序。
default:引导程序的配置文件。
vmlinuz:内核文件。
initrd.img: 系统启动镜像文件。
实验
PXE装机过程
安装PXE所要的软件
yum install -y tftp-server xinetd
启动TFTP服务
vim /etc/xinetd.d/tftp
systemctl start xinetd tftp
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
next-server 172.16.100.100;
filename "pxelinux.0";
subnet 172.16.100.0 netmask 255.255.255.0 {
range 172.16.100.10 172.16.100.20;
option routers 192.16.100.100;
}
systemctl restart dhcpd #启动服务
cd /mnt/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
yum install vsftpd.x86_64 -y
cd /var/ftp/
mkdir centos7
mount /dev/sr0 centos7/
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftp
cd /var/lib/tftpboot/
mkdir pxelinux.cfg/
cd pxelinux.cfg/
vim default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.200.100/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.200.100/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.200.100/centos7
然后开启另一个虚拟机
进入这个页面
回车等就行了