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 acessoNexus 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 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
no campo de recurso e clique emNext
. - Selecione
Network fabric instance provisioning
no prompt de problema e clique emNext
. - Agora, selecione
Create a support request
na parte superior da folha de suporte. - Clique em
Next
na guiaProblem description
. - Aguarde a
Recommended solution
clique no link de volta para "Retornar à solicitação de suporte" - Clique em
Next
na guiaProblem description
novamente para continuar aAdditional 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 emCreate
.
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
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'
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.
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
enni-direct
porque no momento não há suporte do fornecedor parashow lldp neighbors
. Essas interfaces mostram o statusUnknown
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 interfacesUnknown
que estãoNot-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.