Nexus Network Fabric のケーブルを検証する
この記事では、ファブリック ケーブルの検証について説明します。ここでの診断 API の主な機能は、すべてのファブリック デバイスで潜在的なケーブル接続の問題をチェックすることです。 診断 API は、相互接続されたデバイスが部品表 (BOM) に準拠しているかどうか、およびリソースの Stock Keeping Unit (SKU) に従っているかどうかを評価し、準拠している、または非準拠として分類します。 デバイスの種類には、カスタマー エッジ (CE)、トップ オブ ラック (TOR)、管理 (MGMT)、ネットワーク パケット ブローカー (NPB) などのデバイスがあります。 結果は JSON 形式で作成され、検証状態、エラー、識別子の種類、近隣デバイス ID などの詳細が含まれます。 これらの結果は、顧客が指定したストレージ アカウントに格納されます。 クラスターのデプロイ手順に進む前に、このレポートで特定されたエラーを解決することは、デプロイ全体にとって重要です。
BOM の詳細については、「Azure Operator Nexus の SKU」を参照してください
前提条件
- Nexus Network Fabric が正常にプロビジョニングされていることを確認します。
- サポート チケットを使って、書き込みアクセス権を持つ Network Fabric 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
] をクリックします。
Note
ストレージ URL (SAS) の有効期間は短いです。 既定では、有効期限は 8 時間に設定されます。 SAS URL の有効期限が切れた場合は、ファブリックに再びパッチを適用する必要があります。
ストレージ URL を生成する
ストレージ アカウント内にコンテナーを作成するには、「コンテナーを作成する」を参照してください
Note
小文字のみを使ってコンテナーの名前を入力します。
Nexus Fabric への書き込みアクセスを提供するコンテナーの SAS URL を生成するには、「共有アクセス署名を生成する」を参照してください
Note
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>'
次のエラーは、Fabric に有効な 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 が成功したか失敗したかを示します。
Note
この操作は、ラックの数に基づいて完了するまで約 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
}
}
]
検証の状態
状態の種類 | Definition |
---|---|
対応 | 検証ステータスは、インターフェイスの BOM 仕様に準拠しています。 |
非準拠 | 検証は、インターフェイスの BOM 仕様に準拠していません。 |
Unknown | 検証でインターフェイス接続の詳細を取得できない、または lldp データが返されません。 宛先デバイスが、電源オフになっている、見つからない、切断されている、またはこのインターフェイスの種類でサポートされていない場合は、Unknown の状態が返されます。 |
検証属性
Attribute | Definition |
---|---|
deviceConfiguration |
デバイスで使用できる構成。 |
error |
デバイスからのエラー。 |
reason |
このフィールドは、デバイスの状態が不明な場合に設定されます。 |
validationType |
このパラメーターは、検証の種類を示します。 (ケーブルおよびケーブル仕様の検証)。 |
deviceDestinationResourceId |
接続されているネイバー (宛先デバイス) の Azure Resource Manager ID。 |
roleName |
Network Fabric デバイス (CE または TOR) のロール。 |
ケーブル検証に関する既知の問題と制限事項
- Nexus クラスター内で電源オフまたはプロビジョニング解除されている TOR とコンピューティング サーバー間の接続のケーブル検証はサポートされていません。 これらのインターフェイスでは、レポート内で "
Unknown
" 状態が表示されます。 - Nexus クラスターまたはコンピューティング サーバー コントローラー内で電源オフまたはプロビジョニング解除されている MGMT インターフェイスとコンピューティング サーバー間の接続のケーブル検証はサポートされていません。 これらのインターフェイスでは、レポート内で "
Unknown
" 状態が表示されます。 - NPB のケーブル検証は、
loopback
およびnni-direct
インターフェイスではサポートされていません。これは、現時点でshow lldp neighbors
に対するベンダー サポートがないためです。 これらのインターフェイスでは、レポート内で "Unknown
" 状態が表示されます。 - ストレージ URL は、Network Fabric とは異なるリージョンに存在する必要があります。 たとえば、ファブリックが米国東部でホストされている場合、ストレージ URL は米国東部以外である必要があります。
- ケーブル検証では、ラックあたり 16 個のコンピューティングを備えた 4 台のラックと、ラックの BOM あたり 16 個のコンピューティングを備えた 8 台のラックがサポートされます。
- 宛先デバイスの電源がオフになっている場合、ケーブルが見つからないか切断されている場合、またはそのインターフェイスの種類の検証がサポートされていない場合、インターフェイスには "
Unknown
" 状態が表示されます。 BOM に対してNot-Connected
であるすべてのUnknown
のインターフェイスを評価し、修復アクションが必要かどうかを判断することが重要です。
一般的なケーブル検証の NonCompliant
および Unknown
の問題
validationType | 状態 | エラー | 解決方法 |
---|---|---|---|
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 に変換する方法を参照してください。