你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
验证 Nexus Network Fabric 的电缆
本文介绍了 Fabric 电缆验证,其中诊断 API 的主要功能是检查所有 Fabric 设备是否存在潜在的布线问题。 诊断 API 评估互连设备是否遵守物料清单 (BOM),并根据资源库存单位 (SKU) 将其分类为合规或不合规。 设备类型包括客户边缘 (CE)、架顶 (TOR)、管理 (MGMT) 和网络数据包代理 (NPB) 设备。 结果以 JSON 格式呈现,包含验证状态、错误、标识符类型和近邻设备 ID 等详细信息。 这些结果存储在客户提供的存储帐户中。 在转到群集部署步骤之前解决本报告中发现的错误对于整体部署至关重要。
有关 BOM 详细信息,请参阅 Azure 运营商关系 SKU
先决条件
- 确保已成功预配 Nexus Network Fabric。
- 通过支持工单提供具有写入访问权限的 Network Fabric ID 和存储 URL。
- 存储帐户具有以下先决条件:
- 存储帐户必须位于与网络结构 Azure 区域不同的 Azure 区域中。
- 必须将“
Storage Blob Data Contributor
”角色分配给分配有存储帐户访问权限的Nexus Network Fabric RP
。
- 在运行布线验证之前,Microsoft 支持部门必须使用活动存储 SAS URL 修补关系网络结构。
创建用于修补关系网络结构的 Azure 支持请求:
- 请参阅如何创建 Azure 支持请求
- 对于问题,输入
Nexus Network Fabric
,然后单击“Go
”。 - 选择“
Azure Operator Nexus
”作为出现问题的服务。 - 选择资源所在的
Subscription
。 - 在资源字段下选择“
General
”,然后单击“Next
”。 - 在问题提示下选择“
Network fabric instance provisioning
”,然后单击“Next
”。 - 现在,在支持边栏选项卡顶部选择“
Create a support request
”。 - 在“
Problem description
”选项卡上单击“Next
”。 - 等待“
Recommended solution
”,然后单击链接回到“返回支持请求” - 再次单击“
Problem description
”选项卡上的“Next
”以转到“Additional details
” - 填写修补关系网络结构所需的请求详细信息,然后单击“
Next
” - 在“
Review + create
”选项卡中查看信息,然后单击“Create
”。
注意
存储 URL (SAS) 的有效期较短。 默认情况下,它设置为在 8 小时后过期。 如果 SAS URL 过期,则必须重新修补结构。
生成存储 URL
要在存储帐户中创建容器,请参阅创建容器
注意
仅使用小写字母输入容器的名称。
要为容器生成 SAS URL 以提供对关系结构的写入访问权限,请参阅生成共享访问签名
注意
SAS URL 的有效期较短。 默认情况下,它设置为在 8 小时后过期。 如果 SAS URL 过期,则必须打开 Microsoft 支持票证才能添加新 URL。
验证布线
执行以下 Azure CLI 命令:
az networkfabric fabric validate-configuration –resource-group "<NFResourceGroupName>" --resource-name "<NFResourceName>" --validate-action "Cabling" --no-wait --debug
显示以下(截断的)输出。 从调试输出的
Azure-AsyncOperation
部分复制 URL。 在以下步骤中使用 URL 的此部分来检查操作的状态。cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': '<Azure-AsyncOperation-endpoint url>'
以下错误指示未使用有效的 SAS URL 修补结构:
azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'OK'
可以通过运行以下命令以编程方式检查操作的状态:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>" { "endTime": "<OPERATION_COMPLETION_TIME>", "id": "<OPERATION_ID>", "name": "OPERATION_NAME", "properties": { "url": "CABLING_REPORT_STORAGE_URL" }, "resourceId": "<FABRIC_RID>", "startTime": "<OPERATION_START_TIME>", "status": "Succeeded" }
操作状态指示 API 是成功还是失败。
注意
根据机架数量,操作大约需要 20~40 分钟完成。
下载并读取从完成的命令返回的
<CABLING_REPORT_STORAGE_URL>
中经过验证的结果。
下面的部分显示了示例输出。
客户边缘 (CE) 到提供商边缘 (PE) 验证输出示例
networkFabricInfoSkuId": "M8-A400-A100-C16-ab",
"racks": [
{
"rackId": "AR-SKU-10005",
"networkFabricResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/ResourceGroupName/providers/Microsoft.managedNetworkFabric/networkFabrics/NFName",
"rackInfo": {
"networkConfiguration": {
"configurationState": "Succeeded",
"networkDevices": [
{
"name": "AR-CE1",
"deviceSourceResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/NFName-AggrRack",
"roleName": "CE1",
"deviceSku": "DCS-XXXXXXXXX-36",
"deviceSN": "XXXXXXXXXXX",
"fixedInterfaceMaps": [
{
"name": "Ethernet1/1",
"description": "AR-CE1:Et1/1 to PE1:EtXX",
"deviceConnectionDescription": "SourceHostName:Ethernet1/1 to DestinationHostName:Ethernet",
"sourceHostname": "SourceHostName",
"sourcePort": "Ethernet1/1",
"destinationHostname": "DestinationHostName",
"destinationPort": "Ethernet",
"identifier": "Ethernet1",
"interfaceType": "Ethernet",
"deviceDestinationResourceId": null,
"speed in Gbps": "400",
"cableSpecification": {
"transceiverType": "400GBASE-FR4",
"transceiverSN": "XKT220900XXX",
"cableSubType": "AOC",
"modelType": "AOC-D-D-400G-10M",
"mediaType": "Straight"
},
"validationResult": [
{
"validationType": "CableValidation",
"status": "Compliant",
"validationDetails": {
"deviceConfiguration": "Device Configuration detail",
"error": null,
"reason": null
}
},
{
"validationType": "CableSpecificationValidation",
"status": "Compliant",
"validationDetails": {
"deviceConfiguration": "Speed: 400 ; MediaType : Straight",
"error": "null",
"reason": null
}
}
]
},
客户边缘到架顶 (TOR) 交换机验证
{
"name": "Ethernet11/1",
"description": "AR-CE2:Et11/1 to CR1-TOR1:Et24",
"deviceConnectionDescription": " SourceHostName:Ethernet11/1 to DestinationHostName:Ethernet24",
"sourceHostname": "SourceHostName",
"sourcePort": "Ethernet11/1",
"destinationHostname": "DestinationHostName ",
"destinationPort": "24",
"identifier": "Ethernet11",
"interfaceType": "Ethernet",
"deviceDestinationResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/ NFName-CompRack",
"speed in Gbps": "400",
"cableSpecification": {
"transceiverType": "400GBASE-AR8",
"transceiverSN": "XYL221911XXX",
"cableSubType": "AOC",
"modelType": "AOC-D-D-400G-10M",
"mediaType": "Straight"
},
"validationResult": [
{
"validationType": "CableValidation",
"status": "Compliant",
"validationDetails": {
"deviceConfiguration": "Device Configuration detail",
"error": null,
"reason": null
}
},
{
"validationType": "CableSpecificationValidation",
"status": "Compliant",
"validationDetails": {
"deviceConfiguration": "Speed: 400 ; MediaType : Straight",
"error": "",
"reason": null
}
}
]
验证状态
状态类型 | 定义 |
---|---|
符合 | 验证状态符合接口的 BOM 规范。 |
不符合 | 验证不符合接口的 BOM 规范。 |
未知 | 验证无法检索接口连接详细信息,或未返回 lldp 数据。 如果目标设备关机、丢失、断开连接或不支持此接口类型,则返回 Unknown 状态。 |
验证特性
属性 | 定义 |
---|---|
deviceConfiguration |
设备上可用的配置。 |
error |
设备错误。 |
reason |
当设备状态未知时,将填充此字段。 |
validationType |
该参数指示验证的类型。 (电缆和电缆规格验证)。 |
deviceDestinationResourceId |
连接的邻居(目标设备)的 Azure 资源管理器 ID。 |
roleName |
网络结构设备(CE 或 TOR)的角色。 |
电缆验证中的已知问题和限制
- 不支持对关系群集中已关机或未预配的 TOR 和计算服务器之间的连接进行电缆验证。 这些接口在报告中显示
Unknown
状态。 - 不支持对关系群集或计算服务器控制器中已关机或未预配的 MGMT 接口和计算服务器之间的连接进行电缆验证。 这些接口在报告中显示
Unknown
状态。 loopback
和nni-direct
接口不支持 NPB 电缆验证,因为目前没有供应商支持show lldp neighbors
。 这些接口在报告中显示Unknown
状态。- 存储 URL 必须位于与 Network Fabric 不同的区域。 例如,如果 Fabric 托管在美国东部,则存储 URL 应位于美国东部之外。
- 电缆验证支持 4 个机架(每个机架 16 个计算单元)和 8 个机架(每个机架 16 个计算单元)的 BOM。
- 当目标设备关机、电缆丢失或断开连接,或者接口类型不支持验证时,接口会显示
Unknown
状态。 必须根据 BOM 评估所有Not-Connected
的Unknown
接口,以确定是否需要采取修复措施。
典型的电缆验证 NonCompliant
和 Unknown
问题
validationType | Status | 错误 | 解决方法 |
---|---|---|---|
CableValidation | NonCompliant |
Device cable connection is incorrect. |
验证源接口和目标接口上的连接是否与 BOM 匹配。 deviceConfiguration 可帮助标识接口上返回的目标端口日期。 |
CableValidation | Unknown |
Unable to fetch data from the device. |
验证源接口和目标接口上的连接是否已连接并与 BOM 匹配 |
CableValidation | NonCompliant |
Device cabling in <INTERFACE> incorrect. |
接口未连接。 验证源接口和目标接口上的连接是否已连接并与 BOM 匹配。 |
CableValidation | Unknown |
Port <INTERFACE> has no connections as per device response. |
验证源接口和目标接口上的连接是否已连接并与 BOM 匹配。 |
CableSpecificationValidation | Unknown |
Unable to fetch Interface Status for <INTERFACE>. |
验证源接口和目标接口上的连接是否已连接并与 BOM 匹配。 |
CableSpecificationValidation | NonCompliant |
Device cable connection is incorrect |
验证接口卡和电缆是否与此接口中的 BOM 规范匹配。 |