yunionio / cloudpods

A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台
https://www.cloudpods.org
Apache License 2.0
2.54k stars 515 forks source link

[bug]pxe纳管物理机异常 #20831

Open hjoisajdoijsaid opened 1 month ago

hjoisajdoijsaid commented 1 month ago

微信图片_20240717160937 在cloudpod平台使用pxe方式纳管物理机时,输入ipmi的IP地址时提示未创建,但是我已经在子网内创建了相应网段的pxe类型的子网和物理机类型的子网,求解答

zexi commented 1 month ago

@hjoisajdoijsaid 需要创建一个 IPMI 类型的子网,包含那个 ipmi 地址

hjoisajdoijsaid commented 1 month ago
2

纳管时报错: { "reason": "self.sendIpmiNicInfo: SendNicInfo: {\"error\":{\"class\":\"BadRequestError\",\"code\":400,\"details\":\"addNetif: {\\"error\\":{\\"class\\":\\"BadRequestError\\",\\"code\\":400,\\"data\\":{\\"fields\\":[\\"0.0.0.0\\"],\\"id\\":\\"IP %!s(MISSING) not attach to any wire\\"},\\"details\\":\\"IP 0.0.0.0 not attach to any wire\\"}}\",\"request\":{\"body\":\"{\\"host\\":{\\"ip_addr\\":\\"0.0.0.0\\",\\"link_up\\":true,\\"mac\\":\\"9c:c2:c4:20:14:b3\\",\\"mtu\\":1500,\\"nic_type\\":\\"ipmi\\",\\"...erve\\":true,\\"reset\\":true}}\",\"headers\":{\"Content-Length\":\"168\",\"Content-Type\":\"application/json\",\"User-Agent\":\"yunioncloud-go/201708\",\"X-Auth-Token\":\"*\",\"X-Yunion-Parent-Id\":\"\",\"X-Yunion-Peer-Service-Name\":\"baremetal\",\"X-Yunion-Remote-Addr\":\"default-region:30888\",\"X-Yunion-Span-Id\":\"0\",\"X-Yunion-Span-Name\":\"\",\"X-Yunion-Strace-Debug\":\"true\",\"X-Yunion-Strace-Id\":\"f253eb17\"},\"method\":\"POST\",\"url\":\"https://default-region:30888/hosts/940d5bfd-ff38-4bd6-8fdc-4b152bc10aed/add-netif\"}}}", "stage": "OnSyncConfigComplete", "status": "error" } 总是卡在ipmi配置验证这一步,点同步状态状态就会变成运行中,但是一点验证ipmi配置就会报错

zexi commented 1 month ago

2 纳管时报错: { "reason": "self.sendIpmiNicInfo: SendNicInfo: {\"error\":{\"class\":\"BadRequestError\",\"code\":400,\"details\":\"addNetif: {\\"error\\":{\\"class\\":\\"BadRequestError\\",\\"code\\":400,\\"data\\":{\\"fields\\":[\\"0.0.0.0\\"],\\"id\\":\\"IP %!s(MISSING) not attach to any wire\\"},\\"details\\":\\"IP 0.0.0.0 not attach to any wire\\"}}\",\"request\":{\"body\":\"{\\"host\\":{\\"ip_addr\\":\\"0.0.0.0\\",\\"link_up\\":true,\\"mac\\":\\"9c:c2:c4:20:14:b3\\",\\"mtu\\":1500,\\"nic_type\\":\\"ipmi\\",\\"...erve\\":true,\\"reset\\":true}}\",\"headers\":{\"Content-Length\":\"168\",\"Content-Type\":\"application/json\",\"User-Agent\":\"yunioncloud-go/201708\",\"X-Auth-Token\":\"*\",\"X-Yunion-Parent-Id\":\"\",\"X-Yunion-Peer-Service-Name\":\"baremetal\",\"X-Yunion-Remote-Addr\":\"default-region:30888\",\"X-Yunion-Span-Id\":\"0\",\"X-Yunion-Span-Name\":\"\",\"X-Yunion-Strace-Debug\":\"true\",\"X-Yunion-Strace-Id\":\"f253eb17\"},\"method\":\"POST\",\"url\":\"https://default-region:30888/hosts/940d5bfd-ff38-4bd6-8fdc-4b152bc10aed/add-netif\"}}}", "stage": "OnSyncConfigComplete", "status": "error" } 总是卡在ipmi配置验证这一步,点同步状态状态就会变成运行中,但是一点验证ipmi配置就会报错

@hjoisajdoijsaid 是不是物理机的 bmc 上没有配置这个 ip ?

hjoisajdoijsaid commented 1 month ago
3

bmc可以通过10.64.31.98 这个IP登录

hjoisajdoijsaid commented 1 month ago
4

这个是bmc的配置 是少配置啥或者配置错了嘛

hjoisajdoijsaid commented 1 month ago
*名称 | *IPMI地址 | *IPMI用户名 | *IPMI密码 | 管理口MAC地址 | 管理口IP地址 -- | -- | -- | -- | -- | -- SYM206-CPU-B1211-Node098 | 10.64.31.98 | admin | xxxxxxx| 9c:c2:c4:4b:63:73 | 10.64.25.98

这个是导入的模板

zexi commented 1 month ago

4 这个是bmc的配置 是少配置啥或者配置错了嘛

@hjoisajdoijsaid 应该是有张网卡设置了 0.0.0.0 的 ip 导致的,看下其他网卡的 ip 设置?

hjoisajdoijsaid commented 1 month ago
5

在bmc确实查看到有另一张网卡是0.0.0.0,但是我配置的时候指定了10.64.31.98,为何会找到0.0.0.0这个IP呢;这个有什么解决方案吗

zexi commented 1 month ago
5

在bmc确实查看到有另一张网卡是0.0.0.0,但是我配置的时候指定了10.64.31.98,为何会找到0.0.0.0这个IP呢;这个有什么解决方案吗

@hjoisajdoijsaid 请问部署的是 v3.11.5 版本吗?我记得好像处理过 0.0.0.0 这个 ip 的情况

hjoisajdoijsaid commented 1 month ago

版本如下: ocadm version: version.Info{Major:"0", Minor:"0", GitVersion:"v3.11.3-20240423.1", GitBranch:"tags/v3.11.3-20240423.1", GitCommit:"f8d30d14", GitTreeState:"clean", BuildDate:"2024-04-23T10:57:25Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"} 我尝试修改bmc得配置将bmc原来的2张卡走单卡得情况该成走bond从而避免去找0.0.0.0,但是现在报mac地址无效

2

{ "reason": "self.sendIpmiNicInfo: SendNicInfo: {\"error\":{\"class\":\"InputParameterError\",\"code\":400,\"details\":\"validateHostNetif: Invaild mac address : InputParameterError\",\"request\":{\"body\":{\"host\":{\"link_up\":true,\"mac\":\"\",\"mtu\":1500,\"nic_type\":\"ipmi\",\"rate\":100,\"reset\":true}},\"headers\":{\"Content-Length\":\"87\",\"Content-Type\":\"application/json\",\"User-Agent\":\"yunioncloud-go/201708\",\"X-Auth-Token\":\"*\",\"X-Yunion-Parent-Id\":\"\",\"X-Yunion-Peer-Service-Name\":\"baremetal\",\"X-Yunion-Remote-Addr\":\"default-region:30888\",\"X-Yunion-Span-Id\":\"0\",\"X-Yunion-Span-Name\":\"\",\"X-Yunion-Strace-Debug\":\"true\",\"X-Yunion-Strace-Id\":\"c3357a80\"},\"method\":\"POST\",\"url\":\"https://default-region:30888/hosts/86a665a3-cbc6-4c7e-8149-16eb087ab83d/add-netif\"}}}", "stage": "OnSyncConfigComplete", "status": "error" } 机器得mac地址:

3
hjoisajdoijsaid commented 1 month ago
4

baremetal得log

hjoisajdoijsaid commented 1 month ago

/ # /opt/yunion/bin/baremetal-agent -v [I 240718 06:59:01 loader.init.0(loader.go:28)] Redfish drivers loaded! [I 240718 06:59:01 procutils.WaitZombieLoop(zombie_others.go:36)] My pid is not 1 and no need to wait zombies Yunion cloud version: { "major": "0", "minor": "0", "gitVersion": "v3.11.3", "gitBranch": "release/3.11", "gitCommit": "3ffea07d31", "gitTreeState": "dirty", "buildDate": "2024-04-24T02:53:53Z", "goVersion": "go1.18.2", "compiler": "gc", "platform": "linux/amd64" baremetal调用栈信息.txt 上面是baremetal得堆栈信息

zexi commented 1 month ago

4 baremetal得log

@hjoisajdoijsaid 这个报错是 redfish 探测失败了,就需要在创建的时候把 pxe 启动的网卡 mac 填上,这样再试试?

hjoisajdoijsaid commented 1 month ago

名称 IPMI地址 IPMI用户名 IPMI密码 管理口MAC地址 管理口IP地址 SYM206-CPU-B1211-Node098 10.64.31.98 admin xxxxxxx 9c:c2:c4:4b:63:73 10.64.25.98

这个是导入的模板

填过了,就是上面这个 pxe启动的网卡mac是指控制节点的mac还是要纳管物理机的mac

zexi commented 1 month ago

@hjoisajdoijsaid 看报错还是创建 mac 地址为空,试试把这台机器删掉,然后不要用批量导入的模式,手动填表单试试。

hjoisajdoijsaid commented 1 month ago

@hjoisajdoijsaid 看报错还是创建 mac 地址为空,试试把这台机器删掉,然后不要用批量导入的模式,手动填表单试试。

都试过,都是同样的报错

hjoisajdoijsaid commented 1 month ago

界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值

zexi commented 1 month ago

界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值

感觉那个 0.0.0.0 的 ip 地址是通过 ipmitool lan print 获取的,可以通过执行下面的命令看下实际是多少:

@hjoisajdoijsaid 执行这个 ipmitool 命令看下配置:

# 其中 xxxx 是机器 bmc 登录的密码
ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin -P xxxx lan print

然后那个 mac 地址,在物理机不支持 redfish api 的情况下是要手动填写的。

hjoisajdoijsaid commented 1 month ago

界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值

感觉那个 0.0.0.0 的 ip 地址是通过 ipmitool lan print 获取的,可以通过执行下面的命令看下实际是多少:

@hjoisajdoijsaid 执行这个 ipmitool 命令看下配置:

# 其中 xxxx 是机器 bmc 登录的密码
ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin -P xxxx lan print

然后那个 mac 地址,在物理机不支持 redfish api 的情况下是要手动填写的。

[root@SYM206-CPU-B1211-Node095 ~]# ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin lan print Password: Set in Progress : Set Complete Auth Type Support : MD5 Auth Type Enable : Callback : MD5 : User : MD5 : Operator : MD5 : Admin : MD5 : OEM : MD5 IP Address Source : Static Address IP Address : 10.64.31.98 Subnet Mask : 255.255.255.0 MAC Address : 9c:c2:c4:20:14:b2 SNMP Community String : AMI IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10 BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled Gratituous ARP Intrvl : 0.0 seconds Default Gateway IP : 10.64.31.254 Default Gateway MAC : d4:31:27:d0:a9:ae Backup Gateway IP : 0.0.0.0 Backup Gateway MAC : 00:00:00:00:00:00 802.1q VLAN ID : Disabled 802.1q VLAN Priority : 0 RMCP+ Cipher Suites : 0,1,2,3,6,7,8,11,12,15,16,17 Cipher Suite Priv Max : caaaaaaaaaaaXXX : X=Cipher Suite Unused : c=CALLBACK : u=USER : o=OPERATOR : a=ADMIN : O=OEM Bad Password Threshold : 3 Invalid password disable: yes Attempt Count Reset Int.: 200 User Lockout Interval : 300 这个是命令回显看起来是拿到eth0的网卡mac 9c:c2:c4:20:14:b2 和IP;

3

图片

mac地址是手动填写了的,模板和手动填都试过都行不通,看浏览器f12的提交的请求我输入的mac也确实传递过去了