• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

EVPN分布式网关组网部分leaf-6800开启dhcp enable(dhcp relay生效)后服务器无法pxe装机

  • 0关注
  • 0收藏 2018浏览
孙冰 四段
粉丝:0人 关注:2人

组网及说明

设备:S6800-54QF

版本:R2612P02 

组网:LEAF-a对应组网中原有leaf设备(H05补丁或无补丁),LEAF-b对应新增leaf设备(H27补丁或H31+H30补丁),leaf作为dhcp relay,指定的dhcp服务器在外部网络。


Leaf配置如下:

#

dhcp enable

#

interface Vsi-interface10

ip binding vpn-instance 10

ip address 10.8.254.254 255.255.0.0

mac-address 0001-0001-0001

dhcp select relay

dhcp relay server-address 10.15.0.245

dhcp relay information enable(可选)

dhcp relay source-address interface LoopBack1

dhcp relay request-from-tunnel discard

distributed-gateway local

interface LoopBack0 

ip address 10.15.0.32 255.255.255.255 

interface LoopBack1 

ip binding vpn-instance 10 

ip address 10.8.255.32 255.255.255.255 

#




问题描述

客户反馈leaf-b中H31+H30补丁的​设备下连服务器pxe装机会失败,而leaf-b中H27补丁的设备和leaf-a的设备下连服务器pxe装机是可以成功的。失败后卡在如下界面:


正常PXE装机没有最后一句话直接就到装机界面了。


过程分析

首先了解下pxe装机的过程:


pxe过程与交换机的ztp类似,服务器主机上电开机,发送dhcp请求报文获取ip地址,dhcp服务器根据dhcp请求报文携带的信息回复dhcp offer给主机,提供pxe启动文件地址和目录信息(Legacy BIOS模式对应pxelinux.0文件,UEFI模式对应grub.efi文件),主机再通过tftp 获取对应pxe文件完成自动装机。

回到问题本身,根据客户反馈打了不同补丁的S6800在开启dhcp enable后,下连服务器可以dhcp获取地址,但pxe装机有不同的表现,

于是找了一台未上业务的leaf开启dhcp enable打不通补丁进行测试,测试结果如下:

1、H05,装机失败

2、H27,装机失败

3、H31+H30,装机失败

发现装机结果与补丁版本无关,H27的设备测试现象与客户反馈不一致,检查配置发现之前装机成功的H27设备没有开启dhcp enable。

于是继续测试:

1、H05,undo dhcp enable 装机成功

2、H27,undo dhcp enable 装机成功

3、H31+H30,undo dhcp enable装机成功

以上测试确认,leaf下联服务器pxe装机成功与否,与leaf是否开启dhcp enable有关。但是组网中确实有一部分leaf开启dhcp enable时下联服务器是可以装机成功的,与客户沟通装机失败的服务器与成功的服务器之间有何区别,客户确认后反馈,失败的服务器均采用了第三方Mellanox网卡接入。

协调测试发现,如果换到服务器自带网卡,不管接入leaf是否开启dhcp enable,服务器都可以装机成功,故可以确定, Mellanox网卡是导致问题的根因,接下来需要通过抓包进一步确定导致该现象的具体原因。

leaf的dhcp enable未开启,dhcp relay就不会生效,说明dhcp 请求报文广播后通过其他leaf的网关发送到了另外的某个提供dhcp服务的服务器。

抓包分析如下,

(1)dhcp enable时,Mellanox 网卡主机装机成功,通过抓包发现,有两个不同源ip的dhcp offer报文,从dhcp relay配置看10.15.0.245是指定的dhcp 服务器地址,10.8.248.1是dhcp server侧配置文件(dhcpd.conf)指定的tftp服务器地址,即option next server ip address。但10.8.248.1也作为dhcp服务器地址回复了dhcp报文,说明10.8.248.1这台服务器既开启了tftp服务作为tftp server,同时也开启了dhcp服务作为另外一台dhcp server。从dhcp server 10.15.0.245回给dhcp relay 10.8.255.32的单播dhcp offer报文中,携带的boot file 引导文件信息是grub/grub-x86_64.efi。而从tftp server 10.8.248.1广播过来的dhcp offer报文中,携带的boot file 引导文件信息是pxelinux.0。




之后查看后续的tftp报文交互,分到地址的待pxe装机的主机同时得到了grub-x86_64.efi和pxelinux.0的信息,tftp优先请求了grub-x86_64.efi文件进行后续的EFI模式的pxe装机,最后的结果是pxe装机失败。


通过dhcp服务器10.8.0.245侧的配置可以看出,dhcp服务器是将dhcp discover报文中的option60字段的pxe-system-type也即option93作为判断条件,分配给待pxe装机的主机不同的引导文件的:pxe-system-type为0006,0007,0009时分配grub/grub-x86.efi,0002时分配ia64/elilo.efi,其他情况分配pxelinux.0文件。通过抓包看mellanox网卡的主机发出的dhcp discover的optin 93对应的是0000,dhcp offer报文应该携带是pxelinux.0参数,但实际上却是错误的回复了grub/grub-x86.efi,导致主机进行了efi模式装机最终失败。

分析怀疑mellanox网卡不支持efi模式的pxe装机,其次10.8.0.245这台服务器的dhcp服务功能有问题。




(2)undo dhcp enable时, dhcp relay不生效,dhcp discover报文无法跨网段送到指定的dhcp server 10.8.0.254。观察报文发现,由于dhcp discover报文广播可达10.8.248.1,之后10.8.248.1作为dhcp server 回复了带pxelinux.0的dhcp server报文。


之后查看后续的tftp报文交互,分到地址的待pxe装机的主机只得到了pxelinux.0的信息,tftp请求了 pxelinux.0 文件进行后续的BIOS模式的pxe装机,最后的结果是pxe装机成功。

最终结论:

Mellanox网卡的主机发出dhcp discover报文的时候会携带option60 参数,其中pxe-system-type字段为0000,dhcp server 10.8.0.254没有根据该字段回复带pxelinux.0信息的dhcp offer报文,而是错误的回复了带grub-x86_64.efi信息的dhcp offer报文,而dhcp server 10.8.248.1带pxelinux.0信息的dhcp offer报文。同时得到则回复了grub-x86_64.efi信息和pxelinux.0信息的主机优先请求grub-x86_64.efi文件进行UEFI模式装机,但由于网卡不支持该模式,导致装机失败。

后续客户跟Mellanox 网卡的厂商技术沟通后,确认这个网卡(Mellanox CX4标准PCIe双口万兆网卡)目前是不支持UEFI针对这网卡也没有相关的解决方案能支持UEFI,要想支持UEFI只能换其他支持这个功能的网卡才可以 


解决方法

1、暂时无法大规模替换所有主机的问题网卡,为保证项目进度,先通过leaf上先关闭dhcp enable,让主机走bios模式完成pxe装机。

2、后续排查dhcp服务有问题的dhcp server。

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2022-02-19对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作