Compartilhar via


Validar cabos para a Malha de Rede Nexus

Este artigo explica a validação de cabo de Malha, em que a função principal 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 adotam a Cobrança de Materiais (BOM) e, de acordo com os SKUs (Unidades de Manutenção de Estoque) de recurso, classificando-os como compatíveis ou incompatíveis. Os tipos de dispositivo incluem dispositivos CE (borda do cliente), TOR (parte superior do rack), MGMT (gerenciamento) e NPB (Network Packet Broker). 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 do BOM, consulte SKUs do Nexus do Operador do Azure

Pré-requisitos

  • Garanta que a Malha de Rede Nexus tenha sido provisionada 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 precisa estar em uma região do Azure diferente da região do Azure do Network Fabric.
    • A função Storage Blob Data Contributor precisa ser atribuída ao acesso Nexus Network Fabric RP atribuído à conta de armazenamento.
  • O Suporte da Microsoft precisa aplicar patch no Nexus Network Fabric com uma URL SAS de armazenamento ativo antes de executar a validação de cabeamento.

Criando uma solicitação de suporte do Azure para aplicação de patch do Nexus Network Fabric:

  • Confira Como criar uma solicitação de suporte do Azure
  • Insira Nexus Network Fabric para o problema e clique em Go.
  • Selecione Azure Operator Nexus como o serviço com o qual você está tendo problemas.
  • Selecione Subscription onde o recurso está localizado.
  • Selecione General no campo de recurso e clique em Next.
  • Selecione Network fabric instance provisioning no prompt de problema e clique em Next.
  • Agora, selecione Create a support request na parte superior da folha de suporte.
  • Clique em Next na guia Problem description.
  • Aguarde a Recommended solution clique no link de volta para "Retornar à solicitação de suporte"
  • Clique em Next na guia Problem description novamente para continuar a Additional details
  • Preencha os detalhes da solicitação necessária para corrigir o Nexus Network Fabric e clique em Next
  • Examine as informações na guia Review + create e clique em Create.

Observação

A SAS (URL de Armazenamento) é de curta duração. Por padrão, ela está definida para expirar em oito horas. Se a URL SAS expirar, a malha deverá passar por outro patch.

Gerar a URL e armazenamento

Para criar um contêiner na conta de armazenamento, confira Criar um contêiner

Observação

Insira o nome do contêiner usando apenas letras minúsculas.

Para gerar uma URL SAS para o contêiner para fornecer acesso de gravação ao Nexus Fabric, confira Gerar uma assinatura de acesso compartilhado

Observação

As URLs SAS são de curta duração. Por padrão, ela está definida 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

  1. Execute o seguinte comando CLI do Azure:

    az networkfabric fabric validate-configuration –resource-group "<NFResourceGroupName>" --resource-name "<NFResourceName>" --validate-action "Cabling" --no-wait --debug  
    

    A saída a seguir (truncada) é exibida. Copie a URL da seção Azure-AsyncOperation da saída de depuração. Esta 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 seguinte erro indica que o Fabric não está corrigido com uma URL SAS válida:

    azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'OK'
    
  2. 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.

    Observação

    A operação leva cerca de 20 a 40 minutos para ser concluída com base no número de racks.

  3. Baixe e leia os resultados validados <CABLING_REPORT_STORAGE_URL> retornados do comando concluído.

A saída de exemplo é mostrada nas seções a seguir.

Exemplo de saída de validação de Borda do Cliente (CE) para Borda do Provedor (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 comutador de borda do cliente para TOR (parte superior do 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
Em conformidade O status de validação está em conformidade com a especificação BOM da interface.
NonCompliant A validação não está em conformidade com a especificação BOM da interface.
Desconhecido A validação não pode recuperar detalhes da conexão da interface ou os dados do lldp não são retornados. O status Unknown 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 Esse campo é preenchido quando o status do dispositivo é desconhecido.
validationType Esse parâmetro indica que tipo de validação. (validações de cabo e de especificação de cabo).
deviceDestinationResourceId ID do Azure Resource Manager do vizinho conectado (dispositivo de destino).
roleName A função do Dispositivo do Network Fabric (CE ou TOR)

Problemas conhecidos e limitações na validação de cabo

  • Não há suporte para a validação de cabeamento de conexões entre servidores de computação e TOR que estão desligados ou não provisionados no cluster Nexus. Essas interfaces mostram o status Unknown no relatório.
  • Não há suporte para a validação de cabos de conexões entre interfaces MGMT e servidores de computação que são desligados ou não habilitados no cluster Nexus ou os Controladores de Servidor de Computação. Essas interfaces mostram o status Unknown no relatório.
  • A validação de cabo para NPB não é compatível com interfaces loopback e nni-direct porque no momento não há suporte do fornecedor para show lldp neighbors. Essas interfaces mostram o status Unknown no relatório.
  • A URL de Armazenamento deve estar em uma região diferente da Malha de Rede. Por exemplo, se a Malha estiver hospedado no Leste dos EUA, a URL de armazenamento deverá estar fora do Leste dos EUA.
  • A validação de cabo dá suporte a quatro racks com 16 computações por rack e oito racks com 16 BOMs de computação por rack.
  • Quando o dispositivo de destino está desligado, os cabos estão ausentes ou desconectados ou, se a validação não é compatível com o tipo de interface, a interface mostra o status Unknown. É importante avaliar todas as interfaces Unknown que estão Not-Connected em relação ao BOM para determinar se a ação de reparo é necessária.

Problemas NonCompliant e Unknown típicos de validação de cabo

validationType Status Erro Solução
CableValidation NonCompliant Device cable connection is incorrect. Verifique se as conexões nas interfaces de origem e de destino correspondem ao BOM. O deviceConfiguration pode ajudar a identificar a data da porta de destino retornada na interface.
CableValidation Unknown Unable to fetch data from the device. Verificar se as conexões nas interfaces de origem e de destino estão conectadas e se correspondem ao BOM
CableValidation NonCompliant Device cabling in <INTERFACE> incorrect. A interface não está conectada. Verifique se as conexões nas interfaces de origem e de destino estão conectadas e correspondem ao BOM.
CableValidation Unknown Port <INTERFACE> has no connections as per device response. Verifique se as conexões nas interfaces de origem e de destino estão conectadas e se correspondem ao BOM.
CableSpecificationValidation Unknown Unable to fetch Interface Status for <INTERFACE>. Verifique se as conexões nas interfaces de origem e de destino estão conectadas e se correspondem ao BOM.
CableSpecificationValidation NonCompliant Device cable connection is incorrect Verifique se a placa de adaptador e os cabos correspondem à especificação do BOM nesta interface.

Convertendo o relatório de validação de cabo em formato HTML

Consulte Como converter a saída JSON do relatório de validação de cabo em HTML.