pxe的基本概念
首先,pxeboot是一种网络引导安装操作系统的方式,要进行pxeboot首先就是要有一块支持pxeboot的网卡(network interface card NIC),pxeboot(pre-boot Execution Enviroment boot) 。pxeboot是Intel率先提出且做出来的,在台式机开始流行起来的一个阶段。购买intel的较新网卡都会带有pxeboot的功能。
pxe的基本原理
pxe协议分为client和server端,pxe client在网卡的rom中,当计算机引导时,bios会把pxe client调入内存执行,由pxe client将放置在远端的文件通过网络下载到本地运行。
运行pxeboot需要设置dhcp服务器和tftp服务器,dhcp服务器是用来给主机分配一个ip地址,而tftp服务器则是提供了简单文件传输协议来提供引导镜像文件的下载。
执行 初始化操作 使用的是initrd 命令。 initrd 的英文含义是 boot loader iniTIalized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的文件系统前先访问该内存中的 initrd 文件系统
实现dhcp tftp 等服务,我们只需要Dnsmasq 工具即可 它集成了上述服务。
dnsmasq.conf 中配置
# 不加载本地的 /etc/hosts 文件
#no-hosts
# 添加读取额外的 hosts 文件路径,可以多次指定。如果指定为目录,则读取目录中的所有文件。
#addn-hosts=/etc/dnsmasq.hosts.d
# 读取目录中的所有文件,文件更新将自动读取
#hostsdir=/etc/dnsmasq.hosts.d
# 例如,/etc/hosts中的os01将扩展成os01.example.com
#expand-hosts
##############################################################################
# 缓存时间设置,一般不需要设置
# 本地 hosts 文件的缓存时间,通常不要求缓存本地,这样更改hosts文件后就即时生效。
#local-ttl=3600
# 同 local-ttl 仅影响 DHCP 租约
#dhcp-ttl=