Ausführen von Lese-/Schreibbefehlen
Mit dem Feature zum Lesen/Schreiben (Read Write, RW) können Sie Gerätekonfigurationen remote ändern, ohne auf das Network Fabric-Gerät zuzugreifen. Wenden Sie den RW-Konfigurationsbefehl auf Geräteebene im Network Fabric an. Da der Konfigurationsbefehl auf Geräteebene beibehalten wird, müssen Sie die Konfiguration zum Konfigurieren aller Geräte auf jedes Gerät im Fabric anwenden.
Das Ausführen des RW-Befehls schützt Ihre Konfiguration vor Änderungen, die über die Befehlszeilenschnittstelle (Command Line Interface, CLI) oder das Portal vorgenommen werden. Um mehrere Konfigurationen über die RW-API hinzuzufügen, fügen Sie neue Befehle an den vorhandenen RW-Befehl an. Schließen Sie beispielsweise nach dem Ändern mehrerer Geräteschnittstellen die vorherige Konfiguration mit allen neuen Änderungen ein, um das Überschreiben zu verhindern.
Stellen Sie die RW-Konfiguration nur während eines Upgradeszenarios wieder her. Nach einem Upgrade müssen Sie die RW-Änderungen bei Bedarf erneut anwenden. Die folgenden Beispiele führen Sie Schritt für Schritt durch den Prozess mit der RW-API.
Voraussetzungen
Stellen Sie sicher, dass Nexus Network Fabric erfolgreich bereitgestellt wurde.
Prozedur
Wenn Sie einen RW-Konfigurationsbefehl ausführen und Änderungen am Gerät vornehmen, ändert sich der Konfigurationsstatus des Geräts in Verzögerte Steuerung. Dieser Status gibt an, dass die RW-Konfiguration auf diesem Gerät pusht wurde. Wenn die angewendete RW-Konfiguration zurückgesetzt wird, wird die Konfiguration des Geräts auf den ursprünglichen Status Erfolgreich zurückgesetzt.
Netzwerkgerät auswählen
Melden Sie sich beim Azure-Portal
Zugreifen auf die Netzwerkgeräte:
Nachdem Sie angemeldet sind, verwenden Sie die Suchleiste oben, um nach Network Devices
zu suchen oder zu „Alle Dienste“ zu navigieren und Netzwerkgeräte unter der Kategorie „Netzwerk“ zu finden.
Klicken Sie auf Netzwerkgeräte, um die Liste der Netzwerkgeräte in Ihrem Abonnement zu öffnen.
Wählen Sie das Netzwerkgerät aus:
Suchen und klicken Sie in der Liste der Netzwerkgeräte auf das Netzwerkgerät, das Sie konfigurieren möchten. Dadurch gelangen Sie zur Detailseite des ausgewählten Netzwerkgeräts.
Notieren Sie sich den Ressourcennamen und die Ressourcengruppe dieses Netzwerkgeräts, da Sie diese für den CLI-Befehl benötigen.
Oder
Um den Namen der Ressource abzurufen, klicken Sie auf die JSON-Ansicht (im Abschnitt „Eigenschaften“ oder „Übersicht“), in der die detaillierten Eigenschaften des Geräts angezeigt werden, einschließlich des Ressourcennamens.
Beispiele
Die folgenden Abschnitte enthalten Beispiele für RW-Befehle, die zum Ändern der Konfiguration des Geräts verwendet werden können. In den Beispielen werden die Ethernet-Schnittstellen 1, 2 und 3 verwendet, um zu veranschaulichen, wie Sie den Schnittstellennamen ändern und die Ergebnisse dieser Änderungen beobachten können.
Momentaufnahme des Network Fabric-Geräts vor dem Ändern der Konfiguration mithilfe der 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"** |
Ändern der Beschreibung einer Schnittstelle
Das Beispiel zeigt, wie Sie die Schnittstellenbeschreibung des Geräts in „RW-test“ ändern.
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 1\n description RW-test"
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält. |
--rw-command "interface Ethernet 1\n description RW-test" |
Gibt den RW-Befehl an, der auf dem Netzwerkgerät ausgeführt werden soll. In diesem Beispiel wird die Beschreibung der Ethernet-Schnittstelle 1 auf „RW-test“ festgelegt. |
Erwartete Ausgabe:
{}
Befehl mit --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**
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält. |
--rw-command "interface Ethernet 1\n description RW-test" |
Gibt den RW-Befehl an, der auf dem Netzwerkgerät ausgeführt werden soll. In diesem Beispiel wird die Beschreibung der Ethernet-Schnittstelle 1 auf „RW-test“ festgelegt. |
--no-wait |
Gibt an, dass der Befehl asynchron ausgeführt werden soll, ohne auf den Abschluss des Vorgangs zu warten. |
--debug |
Flag zum Aktivieren des Debugmodus, in dem zusätzliche Informationen zur Ausführung des Befehls zu Problembehandlungszwecken bereitgestellt werden |
Erwartete gekürzte Ausgabe:
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.
Sie können den Status des Vorgangs programmgesteuert überprüfen, indem Sie den folgenden Befehl ausführen:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Beispiel für die Azure-AsyncOperation-Endpunkt-URL, die aus der gekürzten Ausgabe extrahiert wird.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Der Status sollte angeben, ob die Ausführung der API erfolgreich war oder fehlgeschlagen ist.
Erwartete Ausgabe:
{
"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": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
Wenn die RW-Konfiguration erfolgreich war, ändert sich der Gerätekonfigurationsstatus in Verzögerte Steuerung. Wenn die Konfiguration fehlschlägt, ändert sich der Status nicht.
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" |
Ändern von drei Schnittstellenbeschreibungen
In diesem Beispiel wird gezeigt, wie Sie die Beschreibungen von drei verschiedenen Schnittstellen in einer Gerätebeschreibung in „RW-test1“, „RW-test2“ und „RW-test3“ ändern.
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"
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name <ResourceName> |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group <ResourceGroupName> |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält |
--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" |
Gibt die RW-Befehle an, die auf dem Netzwerkgerät ausgeführt werden sollen. Durch jeden „interface“-Befehl wird die Beschreibung für die angegebene Ethernet-Schnittstelle festgelegt. |
Erwartete Ausgabe:
{}
Befehl mit --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
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name <ResourceName> |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group <ResourceGroupName> |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält |
--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" |
Gibt die RW-Befehle an, die auf dem Netzwerkgerät ausgeführt werden sollen. Durch jeden „interface“-Befehl wird die Beschreibung für die angegebene Ethernet-Schnittstelle festgelegt. |
--no-wait |
Gibt an, dass der Befehl asynchron ausgeführt werden soll, ohne auf den Abschluss des Vorgangs zu warten. |
--debug |
Flag zum Aktivieren des Debugmodus, in dem zusätzliche Informationen zur Ausführung des Befehls zu Problembehandlungszwecken bereitgestellt werden |
Erwartete gekürzte Ausgabe:
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.
Sie können den Status des Vorgangs programmgesteuert überprüfen, indem Sie den folgenden Befehl ausführen:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Beispiel für die Azure-AsyncOperation-Endpunkt-URL, die aus der gekürzten Ausgabe extrahiert wird.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Der Status sollte angeben, ob die Ausführung der API erfolgreich war oder fehlgeschlagen ist.
Erwartete Ausgabe:
{
"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": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"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" |
Überschreiben der vorherigen Konfiguration
In diesem Beispiel wird gezeigt, wie die vorherige Konfiguration überschrieben wird, wenn Sie die alte RW-Konfiguration nicht anfügen:
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "interface Ethernet 3\n description RW-test3"
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält |
--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" |
Gibt die RW-Befehle an, die auf dem Netzwerkgerät ausgeführt werden sollen. Durch jeden „interface“-Befehl wird die Beschreibung für die angegebene Ethernet-Schnittstelle festgelegt. |
Erwartete Ausgabe:
{}
Befehl mit --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
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält |
--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" |
Gibt die RW-Befehle an, die auf dem Netzwerkgerät ausgeführt werden sollen. Durch jeden „interface“-Befehl wird die Beschreibung für die angegebene Ethernet-Schnittstelle festgelegt. |
--no-wait |
Gibt an, dass der Befehl asynchron ausgeführt werden soll, ohne auf den Abschluss des Vorgangs zu warten. |
--debug |
Flag zum Aktivieren des Debugmodus, in dem zusätzliche Informationen zur Ausführung des Befehls zu Problembehandlungszwecken bereitgestellt werden |
Erwartete gekürzte Ausgabe:
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.
Sie können den Status des Vorgangs programmgesteuert überprüfen, indem Sie den folgenden Befehl ausführen:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Beispiel für die Azure-AsyncOperation-Endpunkt-URL, die aus der gekürzten Ausgabe extrahiert wird.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Erwartete Ausgabe:
{
"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": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"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" |
Bereinigen der RW-Konfiguration
Dieses Beispiel zeigt, wie die RW-Konfiguration bereinigt wird. Wenn Sie die Bereinigung ausführen, wird die ursprüngliche Konfiguration wiederhergestellt.
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command " "
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name <ResourceName> |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group <ResourceGroupName> |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält. |
--rw-command " " |
Gibt einen leeren RW-Befehl an, der auf dem Netzwerkgerät ausgeführt werden soll. Dieser Befehl ist im Grunde ein Platzhalter ohne Aktion. |
Hinweis
Stellen Sie sicher, dass zwischen den Anführungszeichen im leeren RW-Befehl ein Leerzeichen vorhanden ist.
Erwartete Ausgabe:
{}
Befehl mit --no-wait
--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command " " --no-wait --debug
Parameter | Beschreibung |
---|---|
az networkfabric device run-rw |
Azure CLI-Befehl zum Ausführen eines Lese-/Schreibvorgangs auf einem Netzwerkgerät in Azure Network Fabric |
--resource-name <ResourceName> |
Gibt den Namen der Ressource (Netzwerkgerät) an, für die der RW-Vorgang ausgeführt wird |
--resource-group <ResourceGroupName> |
Gibt den Namen der Ressourcengruppe an, die das Netzwerkgerät enthält. |
--rw-command " " |
Gibt einen leeren RW-Befehl an, der auf dem Netzwerkgerät ausgeführt werden soll. Dieser Befehl ist im Grunde ein Platzhalter ohne Aktion. |
--no-wait |
Gibt an, dass der Befehl asynchron ausgeführt werden soll, ohne auf den Abschluss des Vorgangs zu warten. |
--debug |
Flag zum Aktivieren des Debugmodus, in dem zusätzliche Informationen zur Ausführung des Befehls zu Problembehandlungszwecken bereitgestellt werden |
Erwartete gekürzte Ausgabe:
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.
Sie können den Status des Vorgangs programmgesteuert überprüfen, indem Sie den folgenden Befehl ausführen:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Beispiel für die Azure-AsyncOperation-Endpunkt-URL, die aus der gekürzten Ausgabe extrahiert wird
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Der Status gibt an, ob die Ausführung der API erfolgreich war oder fehlgeschlagen ist.
Erwartete Ausgabe:
{
"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": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"createdByType": "Application",
"lastModifiedAt": "2024-XX-XXT10:44:21.3736554Z",
"lastModifiedBy": "cbe7d642-9e0a-475d-b2bf-2cb0a9825e13",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/networkdevices"
}
Wenn die RW-Konfiguration auf die ursprüngliche Konfiguration zurückgesetzt wird, wird der Konfigurationsstatus des Geräts von Verzögerte Steuerung in Erfolgreich geändert.
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"** |
Befehlseinschränkungen
Das RW-Befehlsfeature ist verfügbar, und es gibt keine Einschränkungen. Gehen Sie jedoch mit Bedacht vor, da eine falsche Verwendung der Konfiguration zu einem Ausfall des Systems führen kann.
Die Erstellung von VLANs im Bereich 1 bis 500 sowie 3000 bis 4095 wird nicht empfohlen, da diese Bereiche für Infrastrukturzwecke reserviert sind.
Manipulieren Sie die VLAN-Verwaltungskonfiguration nicht.
Die Eingangs- und Ausgangs-Zugriffssteuerungslisten (Access Control Lists, ACLs) für die Netzwerk-zu-Netzwerk-Verbindung (Network to Network Interconnect, NNI) dürfen in keinem Fall manipuliert werden, da Änderungen zu einem Verlust der Konnektivität mit der Azure Operator Nexus-Instanz führen können.
Für RW-Befehle werden keine Schema- oder Syntaxüberprüfungen ausgeführt. Sie müssen sicherstellen, dass die Konfiguration vor der Ausführung überprüft wird.
Die RW-Konfigurationsbefehle müssen als absolute Befehle angegeben werden. Kurzformen und Eingabeaufforderungen werden nicht unterstützt. Beispiel: Geben Sie
router bgp <ASN>\n vrf <name>\n neighbor <IPaddress> shutdown
ein, nichtrouter bgp <ASN>\n vrf <name>\n nei <IPaddress> sh or shut
.Es ist wichtig, die Routingrichtlinienkonfiguration vor der Implementierung gründlich zu überprüfen, da jeder Fehler das vorhandene Setup der Routingrichtlinien potenziell beeinträchtigen kann.
Wenn Sie die Konfiguration des BGP-Routers ändern und ihn herunterfahren, beeinträchtigt dies die Stabilität des Geräts.
Begrenzungen
Allgemeine Fragen:
Kann ich mehrere Befehle gleichzeitig ausführen?
Ja. Sie können mehrere Befehle geleichzeitig ausführen. In den Beispielen wird gezeigt, wie Sie mehrere Befehle gleichzeitig ausführen.
Wie überprüfe ich, ob die Konfiguration erfolgreich war?
Sie können die Konfiguration wie folgt überprüfen:
Führen Sie eine schreibgeschützte API und die erforderlichen
show
-Befehle aus, um zu überprüfen, ob die Konfiguration erfolgreich war.Verwenden Sie das „Config Difference“-Feature, um den Unterschied zwischen den Konfigurationen anzuzeigen.
Die RW POST-Nachricht gibt an, ob die Ausführung erfolgreich war.
Was geschieht, wenn ich den RW-Konfigurationsbefehl falsch ausführe?
Die RW POST-Nachricht gibt eine Fehlermeldung zurück (siehe dazu das Beispiel in diesem Artikel). Es werden keine Konfigurationsänderungen auf das Gerät angewendet. Sie müssen den Konfigurationsbefehl erneut ausführen.
Wie kann ich den RW-Konfigurationsbefehl beibehalten und mehrmals verwenden?
Wenn Sie versuchen, die Konfiguration für eine bereits persistente Konfiguration zu ändern und zu aktualisieren, müssen Sie alle Details der geänderten persistenten Konfiguration bereitstellen. Andernfalls wird die Konfiguration mit der neuesten RW-Konfiguration überschrieben.
Beispiel:
Wenn Sie erfolgreich ein VLAN 505 erstellt haben und versuchen, eine weitere Gruppe von VLANs (VLAN 510) zu erstellen, müssen Sie
vlan 505\\n vlan 510
hinzufügen. Andernfalls überschreibt der neueste RW-Konfigurationsbefehl das VLAN 505.Wie lösche ich die Konfiguration?
Sie müssen den NULL-Wert (
" "
) angeben. Weitere Informationen finden Sie im Abschnitt mit den Beispielen in diesem Artikel.Ist der RW-Befehl im gesamten Fabric persistent?
Der RW-Konfigurationsbefehl ist persistent, die API ermöglicht Ihnen jedoch die Ausführung auf Geräteebene. Wenn Sie den RW-Befehl für das gesamte Fabric ausführen möchten, müssen Sie die RW-API auf allen erforderlichen Fabric-Geräten ausführen.
Bekannte Probleme
Die folgende Liste enthält bekannte Probleme für die RW-Konfiguration:
Es gibt keine Unterstützung für die Beibehaltung der RW-Konfiguration während eines Upgrades. Während des Upgrades wird der Konfigurationsstatus Verzögerte Kontrolle überschrieben. Die Fabric-Dienstautomatisierung überschreibt die RW-Konfiguration über den Network Fabric-Abstimmungsworkflow. Sie müssen den RW-Konfigurationsbefehl erneut für die erforderlichen Geräte ausführen.
Ein Fehler wird gemeldet, da ein interner Fehler oder ein gNMI-SET-Fehler nicht von Fehlerantworten unterschieden werden kann.