首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PC服务器带外管理批量自动配置

PC服务器带外管理模块的核心是BMC(Baseboard Management Controller),通过BMC模块,用户可以远程对服务器进行硬件监控、微码升级、上下电控制、甚至是操作系统的安装等操作。

服务器带外管理模块联网之前需对BMC进行配置,面对成百上千台服务器,逐台手工配置效率较低,如可实现BMC的自动化批量配置,可极大的提升改造效率,有效减轻运维人员工作量。

PC服务器出厂时带外BMC模块一般会有一个默认的固定IP地址和用户名,客户可以根据需要对IP、用户的配置进行手动调整,如重新设定为静态IP或者调整用户权限等工作,以便后续接入带外网络后统一管理。

服务器带外BMC的配置通常是通过在机房本地用笔记本直连服务器带外模块,手动单台进行设置。实现效率较低,操作繁琐,因人为操作失误而导致的配置错误的概率较高。如果可以远程实现服务器带外BMC批量自动化配置的话,则效率大大提升,有效减轻运维人员工作量。

自动化配置的优势:

1、人机交互降为最低,用户只需要事先上传配置文件,建立待配置服务器的序列号及想要设置的静态IP,后续所有校验及配置工作通过脚本全自动实现,效率大大提升。

2、虽然实现原理上用到了DHCP,但其实最终落到服务器BMC上的IP是一个静态,同时DHCP服务也仅在脚本执行期间开启,平时为关闭状态,因此这个方法最大程度的降低了DHCP带来的不可控风险,安全性较高。

BMC批量配置的原理如下

A、前置条件:到货所有服务器的BMC地址出厂默认设为DHCP(目前到货服务器的BMC地址均为静态地址,例如BMC默认为192.168.2.100;

B、组网物理拓扑:一台DHCP服务器(只有在脚本执行期间才会开启DHCP服务,平时不会开启,最大程度控制风险)----已经接入网络的待进行配置的服务器BMC(下文简称为client);

C、用户需要的操作:事先为服务器的BMC地址做规划,分配静态IP(手动为服务器BMC分配静态IP和我们目前的做法保持一致,一方面便于管理,一方面可以有效降低DHCP带来的不可控风险),并将服务的序列号SN和实际分配的静态IP做一个对应关系,形成ip.txt配置文件并上传至DHCP服务器上;

D、实现原理(简要步骤):在现有的BMC管理网络区域中新增一台DHCP服务器,并为其预先划分一个IP地址池(初步定位50个),当待配置的服务器BMC接入网络后,会首先通过DHCP在这个IP地址池中得到一个临时的IP从而与DHCP服务器建立临时通讯,然后DHCP服务器会侦测到此client并主动获取其序列号SN,然后根据此SN在之前用户上传的配置文件(ip.txt)中检索其对应的静态IP,然后DHCP服务器将此静态IP配置给client(redfish协议),client得到静态IP后,关闭其DHCP-client服务,所有client的配置完成后,DHCP服务器关闭其DHCP-server服务。

此方法的优点在于:

1、最终落到服务器BMC上的是一个静态IP,这个IP为用户手动分配,台账便于管理。

2、DHCP服务器只有在执行脚本时才会开启DHCP服务,平时为关闭状态,最大程度的将风险降至最低。

几种特殊情况及对应的处理逻辑:

1、如果用户上传的配置文件(ip.txt)中存在重复的IP或者重复的服务器序列号会发生什么?

DHCP服务会在脚本执行的开始便对这个配置文件中的IP和序列号进行重复性校验,如果发现重复IP或者重复序列号均会强制退出(重复IP是非常严重的情况,这会导致两台服务器分了同一个IP,从而造成IP冲突)。

2、如果用户上传的配置文件中某一台服务器分配的静态IP其实已经被占用了会发生什么?

DHCP服务会在脚本执行的过程中对这个配置文件的IP进行连通性校验,如果发现某一台client待分配的IP实际已经被占用了,则会对这条配置信息进行标志(occupied)。随后当这台client通过DHCP协议连上DHCP服务器后,DHCP服务器会发现这台client待分配的静态IP已经被占用,从而放弃后续配置动作,并将此台client的MAC地址添加到DHCP服务器的黑名单中,防止其再连上来(为什么要将MAC加入黑名单,稍后解释),并在最终的结果中提示用户此台服务器配置失败,原因是待分配的IP已经被占用。

3、如果用户上传的配置文件中某一台服务器的序列号写错了会发生什么?

由于DHCP服务器为对端client分配静态IP是根据配置文件中序列号和IP的对应关系来分配的,所以当你配置文件中的序列号写错时,会导致DHCP服务器识别不出对端client,从而不知道要分配的静态IP。这种情况下,DHCP服务器也会将此client的MAC的地址添加到DHCP服务器的黑名单中,防止其再连上来(为什么要将MAC加入黑名单,稍后解释),并在最终的结果中通知用户两点。A、ip.txt中有一条配置信息配置失败(序列号写错的那条)。B、脚本执行过程中侦测到一台新client,其序列号为XXXXX,且该client不在此次配置的范围内(因为配置文件中序列号写错了)。

4、如果脚本执行过程中,突然有一台其他服务器BMC也接入进了网络,且成功DHCP到了临时地址会发生什么?

处理逻辑同情况3,因为其本质的表现还是DHCP服务器获取到的SN在配置文件(ip.txt)中检索不到。

5、为什么在情况234中,都需要将这些client的MAC地址添加到DHCP服务器的黑名单中,防止其再连上来?

这是因为首先DHCP地址池的资源有限。正常情况下,当一台client通过DHCP得到一个临时地址后,DHCP服务器会为其分配一个静态IP并关闭client的DHCP服务,因此当这个DHCP临时IP的租期满了以后,该IP地址变会被自动释放回收以供其他client继续使用。而在情况234中,由于DHCP服务器不会对对端client进行任何操作,从而会导致这些client不断在DHCP,一直占用DHCP的地址池资源。想象一种极端情况,如果我要为100台机器BMC进行配置,恰巧贴的配置文件中有50台机器的序列号都错了,于是便会导致整个DHCP地址池被这50台序列号错误的机器占满,那另外50机器也就没法配置了。所以针对情况234,必须想办法阻止该client继续申请DHCP地址,这也就是为什么需要将MAC添加到DHCP的服务器的黑名单中的原因了。此外每次脚本执行完毕后,DHCP服务器的黑名单会清空,所以放心,这个处理逻辑并不会影响下一次的批量配置,即被黑名单的client在下一次配置时还是可以DHCP到地址的。

以下为实际的演示效果图及脚本逻辑图:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180503G1RJI800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券