动态主机配置协议(DHCP)和PXE(预启动执行环境)

当一个子网中主机增多时,需要人工手动去配置 ip 的话,工作量巨大,而且目前对于云计算、大数据大行其道,一个企业的数据中心动辄就几百台主机,显然主机配置等工作方式需要改变。DHCP 和 PXE 能够很好的解决此问题。

1 DHCP

1.1 概念

DHCP是指子网内的主机 IP 动态分配,所有主机从一个 IP 池中申请空闲租用 IP,在租用结束后返还给 IP 池。

1.2 DHCP的工作方式

一台主机通过 DHCP来获取 IP 的工作过程可以分为以下几步:

  1. DHCP Discover
    一台主机新进入首先要进入某个子网时,此时该主机为一个完全孤立个体,故需要通过广播(靠“吼”)与周围环境取得联系,已宣告其存在。其报文叫 Boot Request,其格式如下:

  2. DHCP offer
    如果一个网络管理员在网络中配置了 DHCP server 的话,它就相当于这些 IP 的管理员。DHCP server 收到第一步的报文,就知道来了一个叫 mac地址的新人。显然此处要求 mac地址唯一。从而发起一个 ip 租用报文 DHCP offer,其格式如下:

    由于此时新人主机仍然没有 ip,故此 bootp 报文仍然需要广播。

  3. 通知接受某ip(此时仍然仍然没有分配)
    新人主机发出 DHCP discover 后,如果收到一个或者多个 DHCP offer 响应,则选择其中一个(一般是最早到达者),并组装如下 DHCP request 来告诉所有的 DHCP server,其决定是什么。
  4. 收到 DHCP Server 的确认(注意此时p仍然没有启用)
    DHCP server 收到新人的确认报文后,判断是否租用自己的ip,若是租用,则给其回复确认报文,其格式如下:
  5. 新人设置ip, ip启用。
1.3 IP地址的收回和续租

IP 续租需要提前告知 DHCP server。客户机在租期过去 50% 的时候,直接向为其提供 ip 地址的 DHCP server 发送 DHCP 请求,要求 IP 续租。

2 预启动执行环境(PXE)

2.1 简介

普通笔记本一般不会有这样的需求,买到笔记本时候,就已经有操作系统了。数据中心一台一台手动的去安装操作系统不太现实。

其实这个过程和操作系统的启动过程比较类似。首先,启动 BIOS,进行上电检测,然后读取硬盘的 MBR 启动扇区,将 GRUB 启动起来;然后将执行权利交给 GRUB,GRUB加载内核、加载作为跟文件系统的 initramfs
文件;然后将权力交给内核;最后内核启动,初始化整个系统。

显然安装操作系统的过程只能在 BIOS之后,故在此插入一个 PXE 过程。PXE 协议分为客户端和服务端,由于还没有操作系统,只能把客户端放在bios中,档计算机启动时, BIOS 把 PXE 客户端调入内存,就可以连接到服务端做一些操作。

此处 PXE 也需要分配一个 IP,否则没法连接到PXE服务器。DHCP server 在给 PXE 客户端分配 IP时,同时会告知 PXE 服务器的地址。以下为一个 DHCP server 的一个样例配置:

ddns-update-stye interim;
ignore client-update;
allow booting;
allow bootp;
subnet 192.168.1.9 netmask 255.255.255.0
{
  option routers 192.168.1.1;
  option subnet-mask 255.255.255.0;
  option time-offset -18000;
  default-lease-time 21600;
  mas-lease-time 43200;
  range dynamic-bootp 192.168.1.240 192.168.1.250;
  filename "pxelinux.0";
  next-server 192.168.1.180;
}

需要使用 pxe 则需要配置 next-server,其指向 pxe 服务器地址;还有启动初始文件 filename。

2.1 PXE 的工作过程

首先,启动pxe 客户端,通过 DHCP协议告诉 DHCP server,我刚来,一穷二白,啥都没有。DHCP sever 租用给它一个 IP,并告诉其 PXE 服务器地址、启动文件 pxelinux.0。

其次,pxe客户端知道要去 PXE 服务器下载这个文件后,就可以初始化机器。pxe客户端向 TFTP 服务器请求下载此文件。

然后,pxe 客户端收到这个文件后,开始执行这个文件,此文件会继续指示 pxe客户端向 pxe服务器请求 pxelinux.cfg。收到此配置文件后,里面会有内核在哪里,initramfs 在哪里。pxe客户端继续请求这些文件。

最后,启动linux 内核。

pxe的工作过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值