Validar cabos para malha de rede Nexus
Este artigo explica a validação do cabo de malha, onde a principal função da API de diagnóstico é verificar todos os dispositivos de malha em busca de possíveis problemas de cabeamento. A API de diagnóstico avalia se os dispositivos interconectados aderem à Lista de Materiais (BOM) e de acordo com as Unidades de Manutenção de Estoque (SKUs) de recursos, classificando-os como compatíveis ou não compatíveis. Os tipos de dispositivos incluem dispositivos Customer Edge (CE), Top of Rack (TOR), Management (MGMT) e Network Packet Broker (NPB). Os resultados são apresentados em um formato JSON, abrangendo detalhes como status de validação, erros, tipo de identificador e ID do dispositivo vizinho. Esses resultados são armazenados em uma conta de armazenamento fornecida pelo cliente. É vital para a implantação geral que os erros identificados neste relatório sejam resolvidos antes de passar para a etapa de implantação do Cluster.
Para obter detalhes de BOM, consulte Azure Operator Nexus SKUs
Pré-requisitos
- Verifique se o Nexus Network Fabric foi provisionado com êxito.
- Forneça a ID da malha de rede e a URL de armazenamento com acesso WRITE por meio de um tíquete de suporte.
- A conta de armazenamento tem estes pré-requisitos:
- A conta de armazenamento deve estar em uma região do Azure diferente da região do Azure Network Fabric.
-
Storage Blob Data Contributor
função deve ser atribuída àNexus Network Fabric RP
com acesso atribuído à conta de armazenamento.
- O Suporte da Microsoft deve corrigir o Nexus Network Fabric com uma URL SAS de armazenamento ativa antes de executar a validação de cabeamento.
Criando uma solicitação de suporte do Azure para aplicar patches no Nexus Network Fabric:
- Consulte Como criar uma solicitação de suporte do Azure
- Entre
Nexus Network Fabric
para o problema e clique emGo
. - Selecione
Azure Operator Nexus
como o serviço com o qual você está tendo problemas. - Selecione
Subscription
onde o recurso está localizado. - Selecione
General
sob o campo de recurso e clique emNext
. - Selecione
Network fabric instance provisioning
sob o prompt de problema e clique emNext
. - Agora selecione
Create a support request
na parte superior da folha de suporte. - Clique
Next
naProblem description
guia. - Aguarde o
Recommended solution
e, em seguida, clique no link de volta para 'Retornar à solicitação de suporte' - Clique
Next
noProblem description
separador novamente para continuar aAdditional details
- Preencha os detalhes da solicitação necessários para corrigir o Nexus Network Fabric e clique em
Next
- Reveja as informações no
Review + create
separador e, em seguida, clique emCreate
.
Nota
A URL de armazenamento (SAS) é de curta duração. Por padrão, ele é definido para expirar em oito horas. Se a URL SAS expirar, a malha deverá ser corrigida novamente.
Gerar o URL de armazenamento
Para criar um contêiner na conta de armazenamento, consulte Criar um contêiner
Nota
Digite o nome do contêiner usando apenas letras minúsculas.
Para gerar uma URL SAS para o contêiner fornecer acesso de gravação ao Nexus Fabric, consulte Gerar uma assinatura de acesso compartilhado
Nota
Os URLs SAS são de curta duração. Por padrão, ele é definido para expirar em oito horas. Se a URL SAS expirar, você deverá abrir um tíquete de suporte da Microsoft para adicionar uma nova URL.
Validar cabeamento
Execute o seguinte comando da CLI do Azure:
az networkfabric fabric validate-configuration –resource-group "<NFResourceGroupName>" --resource-name "<NFResourceName>" --validate-action "Cabling" --no-wait --debug
A seguinte saída (truncada) é exibida. Copie o URL da
Azure-AsyncOperation
seção da saída de depuração. Essa parte da URL é usada na etapa a seguir para verificar o status da operação.cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': '<Azure-AsyncOperation-endpoint url>'
O erro a seguir indica que a malha não foi corrigida com uma URL SAS válida:
azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'OK'
Você pode verificar programaticamente o status da operação executando o seguinte comando:
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" }
O status da operação indica se a API foi bem-sucedida ou falhou.
Nota
A operação leva cerca de 20 ~ 40 minutos para ser concluída com base no número de racks.
Faça o download e leia os resultados validados do
<CABLING_REPORT_STORAGE_URL>
comando retornado do completed (concluído).
Exemplo de saída é mostrado nas seções a seguir.
Exemplo de saída de validação de Customer Edge (CE) para Provider Edge (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
}
}
]
},
Validação do switch TOR (Customer Edge To Top Of Rack)
{
"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
}
}
]
Status da validação
Tipo de status | Definição |
---|---|
Compatível | O status de validação é compatível com a especificação de lista técnica para a interface. |
Não conforme | A validação não é compatível com a especificação de lista técnica para a interface. |
Desconhecido | A validação não consegue recuperar os detalhes da conexão da interface ou os dados lldp não são retornados. O Unknown status será retornado se o dispositivo de destino estiver desligado, ausente, desconectado ou sem suporte para esse tipo de interface. |
Atributos de validação
Atributo | Definição |
---|---|
deviceConfiguration |
Configuração disponível no dispositivo. |
error |
Erro do dispositivo. |
reason |
Este campo é preenchido quando o estado do dispositivo é desconhecido. |
validationType |
Este parâmetro indica que tipo de validação. (validação de especificações de cabos ou cabos). |
deviceDestinationResourceId |
ID do Azure Resource Manager do Vizinho conectado (dispositivo de destino). |
roleName |
A função do dispositivo de malha de rede (CE ou TOR). |
Problemas conhecidos e limitações na validação de cabos
- Não há suporte para a validação por cabo de conexões entre TOR e servidores de computação desligados ou não provisionados no cluster Nexus. Essas interfaces mostram
Unknown
o status no relatório. - Não há suporte para a validação por cabo de conexões entre interfaces MGMT e servidores de computação desligados ou não provisionados no cluster Nexus ou nos controladores do servidor de computação. Essas interfaces mostram
Unknown
o status no relatório. - A Validação de Cabo para NPB não é suportada para
loopback
interfaces porquenni-direct
não há suporte de fornecedor atualmente parashow lldp neighbors
. Essas interfaces mostramUnknown
o status no relatório. - A URL de armazenamento deve estar em uma região diferente da malha de rede. Por exemplo, se o Fabric estiver hospedado no Leste dos EUA, a URL de armazenamento deverá estar fora do Leste dos EUA.
- A validação de cabos suporta quatro racks com 16 Computes por rack e oito racks com 16 Computes por BOMs de rack.
- Quando o dispositivo de destino está desligado, os cabos estão ausentes ou desconectados, ou se a validação não for suportada para o tipo de interface, a interface mostra
Unknown
o status. É importante avaliar todas asUnknown
interfaces que estãoNot-Connected
em relação à lista técnica para determinar se a ação de reparo é necessária.
Validação NonCompliant
e Unknown
problemas típicos de cabos
validationType | Status | Erro | Resolução |
---|---|---|---|
CaboValidação | NonCompliant |
Device cable connection is incorrect. |
Verifique se as conexões nas interfaces de origem e destino correspondem à lista técnica. O deviceConfiguration pode ajudar a identificar a data da porta de destino retornada na interface. |
CaboValidação | Unknown |
Unable to fetch data from the device. |
Verifique se as conexões nas interfaces de origem e destino estão conectadas e correspondem à lista técnica |
CaboValidação | NonCompliant |
Device cabling in <INTERFACE> incorrect. |
A interface não está conectada. Verifique se as conexões nas interfaces de origem e destino estão conectadas de acordo com a lista técnica. |
CaboValidação | Unknown |
Port <INTERFACE> has no connections as per device response. |
Verifique se as conexões nas interfaces de origem e destino estão conectadas e correspondem à lista técnica. |
CableSpecificationValidation | Unknown |
Unable to fetch Interface Status for <INTERFACE>. |
Verifique se as conexões nas interfaces de origem e destino estão conectadas e correspondem à lista técnica. |
CableSpecificationValidation | NonCompliant |
Device cable connection is incorrect |
Verifique se a placa de interface e os cabos correspondem à especificação da lista técnica nesta interface. |
Convertendo o relatório de validação de cabo para o formato HTML
Consulte Como converter a saída JSON do relatório de validação de cabo para HTML.