讀寫 (RW) 功能可讓您遠端修改裝置組態,而無需存取網路結構裝置。 在網路光纖上的裝置層級套用RW配置命令。 由於配置命令在設備層持續存在,因此要跨所有設備進行配置,您必須將配置應用於網絡架構中的每個設備。
執行RW命令可保留您的配置,以防止通過命令列介面(CLI)或門戶所做的更改。 若要透過 RW API 引入多個組態,請將新命令附加至現有的 RW 命令。 例如,修改多個裝置介面後,請包含先前的配置以及任何新的變更,以防止覆蓋。
僅在升級情況下回復 RW 組態。 升級後,您必須視需要重新套用 RW 調整。 下列範例會逐步引導您完成 RW API 程序。
先決條件
確保成功佈建Nexus網路網狀架構。
Procedure
當您執行 RW 組態命令並對裝置進行變更時,裝置的組態狀態會移至延遲 控制。 此狀態表示RW組態已推送到該裝置上。 當套用的 RW 組態反轉時,裝置的組態會還原為其原始 的成功狀態 。
選擇網路裝置
登入 Azure 入口網站
存取網路設備:
登入後,使用頂部 Network Devices 的搜尋欄搜尋或導航至「所有服務」,然後在「網路」類別下找到「網路裝置」。
按一下「網路裝置」以開啟訂閱中的網路裝置清單。
選擇網路裝置:
從網路裝置清單中,找到並按一下您要設定的網路裝置。 這將帶您進入所選網路裝置的詳細資訊頁面。
記下此網路裝置的資源名稱和資源組,因為CLI命令將需要這些名稱和資源組。
或
若要取得資源的名稱,請按一下 JSON 檢視 (位於 [屬性] 或 [概觀] 區段),其中會顯示裝置的詳細屬性,包括資源名稱。
範例
以下各節提供可用於修改裝置配置的RW命令示例。 這些示例使用乙太網介面1、2和3向您展示如何調整介面名稱,並允許您觀察這些修改的結果。
使用 RW API 變更組態之前的網路網狀架構裝置快照集
show interfaces description
|Interface |Status |Protocol |Description |
|---------|---------|---------|---------|
|Et1 | admin down | down | **"AR-Mgmt2:Et1 to Not-Connected"** |
|Et2 | admin down | down | **"AR-Mgmt2:Et2 to Not-Connected"** |
|Et3 | admin down | down | **"AR-Mgmt2:Et3 to Not-Connected"** |
|Et4 | admin down | down | **"AR-Mgmt2:Et4 to Not-Connected"** |
變更介面的描述
此範例示範如何將裝置的介面說明變更為 RW-test。
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 1\n description RW-test"
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test" |
指定要在網路裝置上執行的 RW 命令。 在本示例中,它將乙太網介面1的說明設定為「RW-test」。 |
預期輸出:
{}
命令 --no-wait--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 1\n description RW-test" **--no-wait --debug**
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test" |
指定要在網路裝置上執行的 RW 命令。 在本示例中,它將乙太網介面1的說明設定為「RW-test」。 |
--no-wait |
指出命令應該以非同步方式執行,而不等待作業完成。 |
--debug |
標記啟用偵錯模式,提供有關命令執行的其他資訊以進行故障排除。 |
預期截斷輸出:
cli.knack.cli: __init__ debug log:
cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': 'https://eastus.management.azure.com/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2*BF225A07F7F4850DA565ABE0036AB?api-version=2022-01-15-privatepreview&t=638479088323069839&c=
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
您可以執行下列命令,以程式設計方式檢查作業的狀態:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
從截斷輸出擷取的 Azure-AsyncOperation 端點 URL 範例。
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
狀態應該指出 API 是成功還是失敗。
預期產量:
{
"id": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"location": "eastus",
"name": "ResourceName",
"properties": {
"administrativeState": "Enabled",
"configurationState": "DeferredControl",
"hostName": "<Hostname>",
"networkDeviceRole": "Management",
"networkDeviceSku": "DefaultSku",
"networkRackId": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/NFResourceName",
"provisioningState": "Succeeded",
"serialNumber": "Arista;CCS-720DT-XXXX;11.07;WTW2248XXXX",
"version": "3.0.0"
},
"systemData": {
"createdAt": "2024-XX-XXT13:41:13.8558264Z",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
當 RW 組態成功時,裝置組態狀態會移至 延遲控制 狀態。 如果配置失敗,則不會發生狀態變更。
show interfaces description
|Interface |Status |Protocol |Description |
|---------|---------|---------|---------|
|Et1 | admin down | down | **RW-test1** |
|Et2 | admin down | down | "AR-Mgmt2:Et2 to Not-Connected" |
|Et3 | admin down | down | "AR-Mgmt2:Et3 to Not-Connected" |
|Et4 | admin down | down | "AR-Mgmt2:Et4 to Not-Connected" |
更改界面的三個描述
此示例顯示如何將裝置描述上的三個不同介面更改為RW-test1、RW-test2、RW-test3。
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3"
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name <ResourceName> |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group <ResourceGroupName> |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3" |
指定要在網路裝置上執行的 RW 命令。 每個「interface」命令都會設定指定乙太網路介面的說明。 |
預期輸出:
{}
命令 --no-wait--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3" --no-wait --debug
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name <ResourceName> |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group <ResourceGroupName> |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3" |
指定要在網路裝置上執行的 RW 命令。 每個「interface」命令都會設定指定乙太網路介面的說明。 |
--no-wait |
指出命令應該以非同步方式執行,而不等待作業完成。 |
--debug |
標記啟用偵錯模式,提供有關命令執行的其他資訊以進行故障排除。 |
預期截斷輸出:
cli.knack.cli: Command arguments: \['networkfabric', 'device', 'run-rw', '--resource-name', 'nffab100g-5-3-AggrRack-MgmtSwitch2', '--resource-group', 'Fab100GLabNF-5-3', '--rw-command', 'interface Ethernet 1\\\\n description RW-test1\\\\n interface Ethernet 2\\\\n description RW-test2\\\\n interface Ethernet 3\\\\n description RW-test3', '--debug'\]
cli.knack.cli: \_\_init\_\_ debug log:
cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': 'https://eastus.management.azure.com/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2\*BF225A07F7F4850DA565ABE0036AB?api-version=2022-01-15-privatepreview&t=638479088323069839&c=
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\python.exe C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\Lib\\site-packages\\azure\\cli\\telemetry\\\_\_init\_\_.pyc \\.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
您可以執行下列命令,以程式設計方式檢查作業的狀態:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
從截斷輸出擷取的 Azure-AsyncOperation 端點 URL 範例。
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
狀態應該指出 API 是成功還是失敗。
預期輸出:
{
"id": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"location": "eastus",
"name": "ResourceName",
"properties": {
"administrativeState": "Enabled",
"configurationState": "**DeferredControl**",
"hostName": "<Hostname>",
"networkDeviceRole": "Management",
"networkDeviceSku": "DefaultSku",
"networkRackId": "/subscriptions/ XXXXXXXXXXXX /resourceGroups/ ResourceGroupName /providers/Microsoft.ManagedNetworkFabric/networkRacks/ NFResourceName ",
"provisioningState": "Succeeded",
"serialNumber": "Arista;CCS-720DT-XXXX;11.07;WTW2248XXXX",
"version": "3.0.0"
},
"systemData": {
"createdAt": "2024-XX-XXT13:41:13.8558264Z",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
show interfaces description
|Interface |Status |Protocol |Description |
|---------|---------|---------|---------|
|Et1 | admin down | down | **RW-test1** |
|Et2 | admin down | down | **RW-test2** |
|Et3 | admin down | down | **RW-test3** |
|Et4 | admin down | down | "AR-Mgmt2:Et4 to Not-Connected" |
覆寫先前的設定
此範例顯示,如果您未附加舊的 RW 組態,如何覆寫先前的組態:
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 3\n description RW-test3"
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3" |
指定要在網路裝置上執行的 RW 命令。 每個「interface」命令都會設定指定乙太網路介面的說明。 |
預期輸出:
{}
命令 --no-wait--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 3\n description RW-test3" --no-wait --debug
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group |
指定包含網路裝置的資源群組名稱。 |
--rw-command "interface Ethernet 1\n description RW-test1\n interface Ethernet 2\n description RW-test2\n interface Ethernet 3\n description RW-test3" |
指定要在網路裝置上執行的 RW 命令。 每個「interface」命令都會設定指定乙太網路介面的說明。 |
--no-wait |
指出命令應該以非同步方式執行,而不等待作業完成。 |
--debug |
標記啟用偵錯模式,提供有關命令執行的其他資訊以進行故障排除。 |
預期截斷輸出:
cli.knack.cli: Command arguments: \['networkfabric', 'device', 'run-rw', '--resource-name', 'nffab100g-5-3-AggrRack-MgmtSwitch2', '--resource-group', 'Fab100GLabNF-5-3', '--rw-command', \`interface Ethernet 3\\n description RW-test3\`, '--debug'\]cli.knack.cli: \_\_init\_\_ debug log:
cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': 'https://eastus.management.azure.com/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2\*BF225A07F7F4850DA565ABE0036AB?api-version=2022-01-15-privatepreview&t=638479088323069839&c=
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\python.exe C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\Lib\\site-packages\\azure\\cli\\telemetry\\\_\_init\_\_.pyc \\.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
您可以執行下列命令,以程式設計方式檢查作業的狀態:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
從截斷輸出擷取的 Azure-AsyncOperation 端點 URL 範例。
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
預期輸出:
{
"id": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"location": "eastus",
"name": "ResourceName",
"properties": {
"administrativeState": "Enabled",
"configurationState": "**DeferredControl**",
"hostName": "<Hostname>",
"networkDeviceRole": "Management",
"networkDeviceSku": "DefaultSku",
"networkRackId": "/subscriptions/ XXXXXXXXXXXX /resourceGroups/ ResourceGroupName /providers/Microsoft.ManagedNetworkFabric/networkRacks/ NFResourceName ",
"provisioningState": "Succeeded",
"serialNumber": "Arista;CCS-720DT-XXXX;11.07;WTW2248XXXX",
"version": "3.0.0"
},
"systemData": {
"createdAt": "2024-XX-XXT13:41:13.8558264Z",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
show interfaces description
|Interface |Status |Protocol |Description |
|---------|---------|---------|---------|
|Et1 | admin down | down | "AR-Mgmt2:Et1 to Not-Connected" |
|Et2 | admin down | down | "AR-Mgmt2:Et2 to Not-Connected" |
|Et3 | admin down | down | **RW-test3** |
|Et4 | admin down | down | "AR-Mgmt2:Et4 to Not-Connected" |
清除讀取寫入組態
此示例顯示如何清理RW配置。 當您執行清除時,組態會還原為原始組態。
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command " "
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name <ResourceName> |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group <ResourceGroupName> |
指定包含網路裝置的資源群組名稱。 |
--rw-command " " |
指定一個要在網路裝置上執行的空的 RW 指令。 此命令基本上是一個沒有動作的佔位符。 |
備註
請確定空白 RW 指令中的引號之間有空格。
預期輸出:
{}
命令 --no-wait--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command " " --no-wait --debug
| 參數 | Description |
|---|---|
az networkfabric device run-rw |
Azure CLI 命令,用於在 Azure 網路網狀架構內的網路裝置上執行讀寫作業。 |
--resource-name <ResourceName> |
指定將執行 RW 作業的資源 (網路裝置) 名稱。 |
--resource-group <ResourceGroupName> |
指定包含網路裝置的資源群組名稱。 |
--rw-command " " |
指定一個要在網路裝置上執行的空的 RW 指令。 此命令本質上是一個沒有動作的佔位符。 |
--no-wait |
指出命令應該以非同步方式執行,而不等待作業完成。 |
--debug |
標記啟用偵錯模式,提供有關命令執行的其他資訊以進行故障排除。 |
預期截斷輸出:
cli.knack.cli: Command arguments: \['networkfabric', 'device', 'run-rw', '--resource-name', 'nffab100g-5-3-AggrRack-MgmtSwitch2', '--resource-group', 'Fab100GLabNF-5-3', '--rw-command', ' ' '--debug'\]cli.knack.cli: \_\_init\_\_ debug log:
cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': 'https://eastus.management.azure.com/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2\*BF225A07F7F4850DA565ABE0036AB?api-version=2022-01-15-privatepreview&t=638479088323069839&c=
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\python.exe C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\Lib\\site-packages\\azure\\cli\\telemetry\\\_\_init\_\_.pyc \\.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
您可以執行下列命令,以程式設計方式檢查作業的狀態:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
從截斷輸出擷取的 Azure-AsyncOperation 端點 URL 範例。
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
狀態會指出 API 是成功還是失敗。
預期輸出:
{
"id": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"location": "eastus",
"name": "ResourceName",
"properties": {
"administrativeState": "Enabled",
"configurationState": "**Succeeded**",
"hostName": "<Hostname>",
"networkDeviceRole": "Management",
"networkDeviceSku": "DefaultSku",
"networkRackId": "/subscriptions/ XXXXXXXXXXXX /resourceGroups/ ResourceGroupName /providers/Microsoft.ManagedNetworkFabric/networkRacks/ NFResourceName ",
"provisioningState": "Succeeded",
"serialNumber": "Arista;CCS-720DT-XXXX;11.07;WTW2248XXXX",
"version": "3.0.0"
},
"systemData": {
"createdAt": "2024-XX-XXT13:41:13.8558264Z",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
當 RW 組態還原回原始組態時,裝置的組態狀態會從延遲控制移至「成功」。
show interfaces description
|Interface |Status |Protocol |Description |
|---------|---------|---------|---------|
|Et1 | admin down | down | **"AR-Mgmt2:Et1 to Not-Connected"** |
|Et2 | admin down | down | **"AR-Mgmt2:Et2 to Not-Connected"** |
|Et3 | admin down | down | **"AR-Mgmt2:Et3 to Not-Connected"** |
|Et4 | admin down | down | **"AR-Mgmt2:Et4 to Not-Connected"** |
指令限制
RW命令功能是開放的,沒有任何限制。 不過,請謹慎操作,因為配置的不正確使用可能會導致系統關閉。
不建議建立 1 到 500 和 3000 到 4095 的 vLAN,因為此範圍保留用於基礎結構用途。
請勿竄改管理 vLAN 組態。
請務必不要竄改網路間互連(NNI)入口和出口存取控制清單(ACL),因為任何修改都可能導致失去與 Azure 運營商匯流排實例的連線能力。
沒有對 RW 命令執行線路圖或語法驗證。 您必須確保在執行配置之前已通過審查。
RW config命令應該是絕對命令;不支援簡短表單和提示。 例如:輸入
router bgp <ASN>\n vrf <name>\n neighbor <IPaddress> shutdown而不是router bgp <ASN>\n vrf <name>\n nei <IPaddress> sh or shut在實施之前徹底檢查路由策略配置至關重要,因為任何疏忽都可能損害現有的路由策略設定。
更改路由器BGP配置並將其關閉會降低裝置的穩定性。
擷取 runRW 設定
若要取得上次成功套用的 runRW 設定,請參閱 rwDeviceConfig 屬性。 此屬性會儲存裝置上次成功套用的 RW 設定。 若要存取它,請在裝置資源上執行 GET 要求。
az networkfabric device show --resource-group "example-rg" --resource-name "example-device"
| 參數 | Alias | Description |
|---|---|---|
--resource-group |
-g |
資源群組的名稱。 您可以使用 az configure --defaults group=<name> 來設定預設群組。 |
--resource-name |
網路裝置的名稱。 |
預期的輸出
{
"id": "/subscriptions/xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-device-name",
"location": "uaenorth",
"name": "example-device-name",
"properties": {
"administrativeState": "Enabled",
"configurationState": "DeferredControl",
"hostName": "AR-CE1",
"networkDeviceRole": "CE",
"networkDeviceSku": "DefaultSku",
"networkRackId": "/subscriptions/xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkRacks/example-rack-name",
"provisioningState": "Succeeded",
"rwDeviceConfig": "interface Ethernet 1/1\n description RW-test1",
"serialNumber": "Arista;CCS-720DT-XXXX;11.07;WTW2248XXXX",
"version": "4.0.0"
},
"systemData": {
"createdAt": "2025-02-23T04:57:13.6113277Z",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"createdByType": "Application",
"lastModifiedAt": "2025-02-27T08:27:46.3818706Z",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
備註
RW配置在沒有ZTP的重新啟動期間會保留,但在升級、裝置RMA或使用ZTP進行重新啟動時則不會保留。 在這些事件之後,除非使用者手動重新套用 RW 設定,否則 rwDeviceConfig 屬性會是空的。
裝置升級期間的持續性 RW 配置
在 Azure Operator Nexus 中,網路裝置上的 Read-Write(RW)設定現在能在裝置軟體升級的過程中保留。 這可確保使用者定義的 RW 變更在升級後保持不變,保持一致性並降低配置漂移的風險。
運作方式
升級程序遵循兩個步驟的方法:
設備升級:設備的 EOS 軟件已升級並啟動。
RW 重新應用:升級完成後,系統會自動將所有先前配置的 RW 命令重新應用到裝置。
此重新應用程式可確保在裝置重新啟動或版本轉換後恢復持久性配置並保持有效。
這很重要
Arista EOS 目前不支援 RW 組態的預先驗證。 如果任何命令已被取代、無效或無法運作,可能會導致升級失敗。
失敗處理
如果 RW 組態在重新套用期間失敗,裝置將進入失敗狀態,且升級程序將無法完成。
使用者會透過 Azure CLI 收到錯誤輸出。
在這種情況下:
使用更新和更正的 RW 組態開啟支援票證。
支援小組會與您協調,透過已啟用加密箱的系統管理動作重新套用新的 RW 設定。
如果重新申請仍然失敗,則可能需要重試管理員動作並進一步更正。
總結
| 特徵 / 功能 | 行為 |
|---|---|
| RW 命令持久性 | 升級後自動重新套用 |
| RW 組態的預先驗證 | 不支援 |
| 失敗時 | 裝置進入故障狀態 |
| Recovery | 提交支援票證;透過已啟用加密箱的系統管理員動作套用的更正設定 |
局限性
常見問題:
我可以同時執行多個命令嗎?
是的,您可以同時執行多個命令。 請參閱範例,以檢閱如何同時執行多個命令。
如何檢查配置是否成功?
您可以透過下列其中一項來檢查配置:
執行 Read-Only API並執行必要的
show命令以驗證配置是否成功,執行配置差異功能,以檢視不同設定之間的差異。
RW POST 訊息會指出執行是否成功。
如果我錯誤地執行 RW 配置命令會怎樣?
RW POST 訊息會傳回錯誤訊息,如本文提供的範例所示。 不會將任何組態變更套用至裝置。 您必須重新執行組態指令。
如何多次保留 RW 配置命令?
如果您嘗試修改和更新已保存的組態,則必須提供所有已修改的保存組態,否則組態會以最新的 RW 組態覆寫。
比如
如果成功建立VLAN 505並嘗試建立另一組VLAN(VLAN 510),則必須新增
vlan 505\\n vlan 510。 如果您不這樣做,最新的 RW 配置命令將覆蓋 VLAN 505。如何刪除組態?
您必須提供空值
" "。 請參閱本文的範例區段。RW命令是否在整個交換矩陣中持續存在?
RW 組態命令是持續性的,但 API 可讓您在裝置層級執行。 如果要在交換矩陣中運行RW命令,則必須在所需的交換矩陣裝置上運行RW API。
已知問題
以下是RW組態的已知問題:
- 錯誤是因為無法透過錯誤回應區分內部錯誤和 gNMI 設定錯誤而被報告的。