Nexus 네트워크 패브릭용 케이블 유효성 검사
이 문서에서는 진단 API의 기본 함수가 모든 패브릭 디바이스에 잠재적인 케이블 연결 문제가 있는지 유효성을 검사하는 Fabric 케이블 유효성 검사에 대해 설명합니다. 진단 API는 상호 연결된 디바이스가 BOM(Bill of Materials)을 준수하는지 여부와 SKU(자원 재고 유지 단위)에 따라 준수 또는 비준수로 분류하는지 평가합니다. 디바이스 유형에는 CE(Customer Edge), TOR(Top of Rack), 관리(MGMT) 및 NPB(네트워크 패킷 브로커) 디바이스가 포함됩니다. 결과는 유효성 검사 상태, 오류, 식별자 형식, 인접 디바이스 ID 등의 세부 정보를 포함하는 JSON 형식으로 표시됩니다. 이러한 결과는 고객이 제공한 스토리지 계정에 저장됩니다. 클러스터 배포 단계로 이동하기 전에 이 보고서에서 식별된 오류를 해결하는 것이 전체 배포에 매우 중요합니다.
BOM 세부 정보는 Azure Operator Nexus SKU를 참조하세요.
필수 조건
- Nexus 네트워크 패브릭이 성공적으로 프로비전되었는지 확인합니다.
- 지원 티켓을 통해 쓰기 권한이 있는 네트워크 패브릭 ID와 스토리지 URL을 제공합니다.
- 스토리지 계정에는 다음과 같은 필수 구성 요소가 있습니다.
- 스토리지 계정은 Network Fabric Azure 지역과 다른 Azure 지역에 있어야 합니다.
Storage Blob Data Contributor
스토리지 계정에 할당된 액세스 권한이 있는Nexus Network Fabric RP
역할에 역할을 할당해야 합니다.
- Microsoft 지원 케이블 연결 유효성 검사를 실행하기 전에 활성 스토리지 SAS URL로 Nexus Network Fabric을 패치해야 합니다.
Nexus Network Fabric 패치에 대한 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
- Nexus Network Fabric을 패치하는 데 필요한 요청 세부 정보를 입력한 다음
Next
- 탭에서 정보를 검토한
Review + create
다음 을 클릭합니다Create
.
참고 항목
스토리지 URL(SAS)은 수명이 짧습니다. 기본적으로 8시간 후에 만료되도록 설정되어 있습니다. SAS URL이 만료되면 패브릭을 다시 패치해야 합니다.
스토리지 URL 생성
스토리지 계정에 컨테이너를 만들려면 컨테이너 만들기를 참조하세요.
참고 항목
컨테이너 이름은 소문자로만 입력합니다.
Nexus Fabric에 대한 쓰기 액세스를 제공하기 위해 컨테이너에 대한 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
}
}
]
},
Customer Edge to Top Of Rack(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
}
}
]
유효성 검사 상태
Status Type | 정의 |
---|---|
준수 | 유효성 검사 상태는 인터페이스에 대한 BOM 사양을 준수합니다. |
비규격 | 유효성 검사는 인터페이스에 대한 BOM 사양을 준수하지 않습니다. |
Unknown | 유효성 검사에서 인터페이스 연결 세부 정보를 검색할 수 없거나 lldp 데이터가 반환되지 않습니다. Unknown 대상 디바이스의 전원이 꺼져 있거나, 누락되거나, 연결이 끊어지거나, 이 인터페이스 형식에 대해 지원되지 않는 경우 상태가 반환됩니다. |
유효성 검사 특성
Attribute | 정의 |
---|---|
deviceConfiguration |
디바이스에서 사용할 수 있는 구성입니다. |
error |
디바이스에서 오류가 발생했습니다. |
reason |
이 필드는 디바이스 상태를 알 수 없는 경우 채워집니다. |
validationType |
이 매개 변수는 유효성 검사 형식을 나타냅니다. (케이블 및 케이블 사양 유효성 검사). |
deviceDestinationResourceId |
연결된 인접(대상 디바이스)의 Azure Resource Manager ID입니다. |
roleName |
CE(Network Fabric Device) 또는 TOR의 역할입니다. |
케이블 유효성 검사의 알려진 문제 및 제한 사항
- Nexus 클러스터에서 전원이 꺼지거나 프로비전되지 않은 TOR 및 컴퓨팅 서버 간의 연결에 대한 케이블 유효성 검사는 지원되지 않습니다. 이러한 인터페이스는 보고서에 상태를 표시
Unknown
합니다. - Nexus 클러스터 또는 컴퓨팅 서버 컨트롤러에서 전원이 꺼지거나 프로비전되지 않은 MGMT 인터페이스와 컴퓨팅 서버 간의 연결에 대한 케이블 유효성 검사는 지원되지 않습니다. 이러한 인터페이스는 보고서에 상태를 표시
Unknown
합니다. - 현재 NPB에 대한 공급 업체 지원이 없기 때문에 NPB에 대한
loopback
케이블 유효성 검사 및nni-direct
인터페이스가show lldp neighbors
지원되지 않습니다. 이러한 인터페이스는 보고서에 상태를 표시Unknown
합니다. - 스토리지 URL은 네트워크 패브릭과 다른 지역에 있어야 합니다. 예를 들어, Fabric이 미국 동부에서 호스트되는 경우 스토리지 URL은 미국 동부 외부에 있어야 합니다.
- 케이블 유효성 검사는 랙당 컴퓨팅이 16개이고 랙당 컴퓨팅이 16개인 랙 8개가 있는 4개의 랙을 지원합니다.
- 대상 디바이스 전원이 꺼져 있거나 케이블이 없거나 연결이 끊어지거나 인터페이스 유형에 대한 유효성 검사가 지원되지 않는 경우 인터페이스에 상태가 표시됩니다
Unknown
. BOM에 대한 모든Unknown
인터페이스를Not-Connected
평가하여 복구 작업이 필요한지 확인하는 것이 중요합니다.
일반적인 케이블 유효성 NonCompliant
검사 및 Unknown
문제
validationType | 상태 | Error | 해결 |
---|---|---|---|
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 사양과 일치하는지 확인합니다. |
케이블 유효성 검사 보고서를 HTML 형식으로 변환
케이블 유효성 검사 보고서 JSON 출력을 HTML로 변환하는 방법을 참조하세요.