Auf dieser Seite
Commit-Vorgang, wenn mehrere Benutzer die Software konfigurieren
Bestätigen Sie Gerätekonfigurationen in zwei Schritten: Vorbereitung und Aktivierung
Fügen Sie einen Kommentar hinzu, um die festgeschriebene Konfiguration zu beschreiben
Beispiel: Konfigurieren der Eigenschaften des Batch-Commit-Servers
Sichern Sie die festgeschriebene Konfiguration auf dem alternativen Startlaufwerk
Bestätigen der Konfiguration
Mit dem Befehl configuration mode können Sie die Änderungen an der Gerätekonfiguration in der Konfigurationsdatenbank speichern und die Konfiguration auf dem Gerät aktivieren.commit
Das Commit-Modell für Konfigurationen
Die Gerätekonfiguration wird mithilfe eines Commit-Modells gespeichert – eine Kandidatenkonfiguration wird wie gewünscht geändert und dann an das System übergeben. Wenn eine Konfiguration festgeschrieben wird, prüft das Gerät die Konfiguration auf Syntaxfehler, und wenn keine Fehler gefunden werden, wird die Konfiguration gespeichert und aktiviert.juniper.conf.gz Die ehemals aktive Konfigurationsdatei wird als erste Rollback-Konfigurationsdatei () gespeichert, und alle anderen Rollback-Konfigurationsdateien werden um 1 erhöht. Wird z. B. auf inkrementiert, was sie zur zweiten Rollback-Konfigurationsdatei macht.juniper.conf.1.gzjuniper.conf.1.gzjuniper.conf.2.gz Auf dem Gerät können maximal 49 Rollback-Konfigurationen (mit den Nummern 1 bis 49) auf dem System gespeichert sein.
Auf dem Gerät befinden sich die aktuelle Konfigurationsdatei und die ersten drei Rollback-Dateien () im Verzeichnis.juniper.conf.gz.1, juniper.conf.gz.2, juniper.conf.gz.3/config (Die restlichen Rollback-Dateien 4 bis 49 befinden sich in .)/var/db/config
Wenn die Wiederherstellungskonfigurationsdatei vorhanden ist, befindet sich diese Datei ebenfalls im Verzeichnis.rescue.conf.gz/config Die werkseitig voreingestellten Dateien befinden sich im Verzeichnis./etc/config
Es gibt zwei Mechanismen, die verwendet werden, um die Konfigurationen zwischen Routing-Engines innerhalb eines Geräts weiterzugeben:
Synchronisierung: Überträgt eine Konfiguration von einer Routing-Engine an eine zweite Routing-Engine innerhalb desselben Gerätegehäuses.
Verwenden Sie zum Synchronisieren von Konfigurationen den CLI-Befehl.
commit synchronize
Wenn eine der Routing-Engines gesperrt ist, schlägt die Synchronisierung fehl. Wenn die Synchronisierung aufgrund einer gesperrten Konfigurationsdatei fehlschlägt, können Sie den Befehl verwenden.commit synchronize force
Mit diesem Befehl wird die Sperre außer Kraft gesetzt und die Konfigurationsdateien synchronisiert.Verteilung: Gibt eine Konfiguration über die Routingebene auf einem Gerät mit mehreren Chassis weiter. Die Verteilung erfolgt automatisch. Es steht kein Benutzerbefehl zur Steuerung des Verteilungsprozesses zur Verfügung. Wenn eine Konfiguration während einer Verteilung einer Konfiguration gesperrt wird, erhält die gesperrte Konfiguration die verteilte Konfigurationsdatei nicht, sodass die Synchronisierung fehlschlägt. Sie müssen die Sperre vor der Konfiguration aufheben und die Routingebenen neu synchronisieren.
HINWEIS:Wenn Sie den CLI-Befehl auf einer Multichassis-Plattform verwenden, wirkt sich die erzwungene Synchronisierung der Konfigurationsdateien nicht auf die Verteilung der Konfigurationsdatei über die Routingebene aus.
commit synchronize force
Wenn eine Konfigurationsdatei auf einem Gerät gesperrt ist, das von dem Gerät entfernt ist, auf dem der Befehl ausgegeben wurde, schlägt die Synchronisierung auf dem Remotegerät fehl. Sie müssen die Sperre aufheben und den Befehl erneut ausführen.synchronization
Siehe auch
Bestätigen einer Gerätekonfiguration
Verwenden Sie den Befehl Konfigurationsmodus, um Änderungen an der Gerätekonfiguration in der Konfigurationsdatenbank zu speichern und die Konfiguration auf dem Gerät zu aktivieren.commit
Sie können den Befehl von einer beliebigen Hierarchieebene aus ausgeben:commit
[edit]
user@host# commit
commit complete
[edit]
user@host#
Bei der Eingabe des Befehls wird die Konfiguration zunächst auf Syntaxfehler () überprüft.commit
commit check
Wenn die Syntax korrekt ist, wird die Konfiguration aktiviert und zur aktuellen, betriebsbereiten Gerätekonfiguration.
Es wird nicht empfohlen, einen Commit-Vorgang für die Backup-Routing-Engine durchzuführen, wenn der ordnungsgemäße Routing-Engine-Switchover auf dem Router aktiviert ist.
Ein Konfigurationscommit kann aus einem der folgenden Gründe fehlschlagen:
Die Konfiguration enthält eine falsche Syntax, die dazu führt, dass die Commit-Prüfung fehlschlägt.
Die Kandidatenkonfiguration, für die Sie einen Commit ausführen möchten, ist größer als 700 MB.
Die Konfiguration wird von einem Benutzer gesperrt, der den Befehl eingegeben hat.
configure exclusive
Wenn die Konfiguration Syntaxfehler enthält, wird in einer Meldung der Ort des Fehlers angegeben, und die Konfiguration ist nicht aktiviert. Die Fehlermeldung hat folgendes Format:
[editedit-path
] ‘offending-statement
;’error-message
Hier einige Zahlen zum Generationswechsel:
[edit firewall filter login-allowed term allowed from] ‘icmp-type [ echo-request echo-reply ];’ keyword ‘echo-reply’ unrecognized
Sie müssen den Fehler korrigieren, bevor Sie die Konfiguration erneut bestätigen. Um schnell zu der Hierarchieebene zurückzukehren, auf der sich der Fehler befindet, kopieren Sie den Pfad aus der ersten Zeile des Fehlers, und fügen Sie ihn an der Eingabeaufforderung für den Konfigurationsmodus auf der Hierarchieebene ein.[edit]
Die nicht festgeschriebene Kandidatenkonfigurationsdatei ist ./var/rundb/juniper.db Es ist auf 700 MB begrenzt. Wenn der Commit mit einer Meldung fehlschlägt, zeigen Sie die Dateigröße im Konfigurationsmodus an, indem Sie den Befehl eingeben.configuration database size limit exceeded
run file list /var/rundb detail
Sie können die Konfiguration vereinfachen und die Dateigröße reduzieren, indem Sie Konfigurationsgruppen mit Platzhaltern erstellen oder weniger spezifische Übereinstimmungsrichtlinien in Ihren Firewallfiltern definieren.
CLI-Commit-Time-Warnungen, die für Konfigurationsänderungen auf Hierarchieebene angezeigt werden, werden entfernt und als Systemprotokollmeldungen protokolliert.[edit interfaces]
Dies gilt auch für die VRRP-Konfiguration auf den folgenden Hierarchieebenen:
[edit interfaces interface-name unit logical-unit-number family (inet | inet6) address address]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family (inet | inet6) address address]
Wenn Sie einen Commit für eine Konfiguration ausführen, bestätigen Sie die gesamte Konfiguration in ihrer aktuellen Form.
Es wird nicht empfohlen, einen Commit-Vorgang für die Backup-Routing-Engine auszuführen, wenn die ordnungsgemäße Routing-Engine-Umschaltung auf dem Gerät aktiviert ist.
-
Wenn Sie dieselbe IP-Adresse für eine Verwaltungsschnittstelle oder eine interne Schnittstelle und eine externe physische Schnittstelle konfigurieren, wenn GRES (Graceful Routing Engine Switchover) aktiviert ist, zeigt die CLI eine entsprechende Commit-Fehlermeldung an, dass auf der privaten und der öffentlichen Schnittstelle identische Adressen gefunden wurden.
fxp0
ge-0/0/1
In solchen Fällen müssen Sie eindeutige IP-Adressen für die beiden Schnittstellen zuweisen, die doppelte Adressen aufweisen.
Commit-Vorgang, wenn mehrere Benutzer die Software konfigurieren
Bis zu 32 Benutzer können sich gleichzeitig im Konfigurationsmodus befinden und Änderungen an der Konfiguration vornehmen. Alle Änderungen, die von allen Benutzern vorgenommen werden, sind für alle Benutzer sichtbar, die die Konfiguration bearbeiten – die Änderungen werden sichtbar, sobald der Benutzer die Eingabetaste am Ende eines Befehls drückt, der die Konfiguration ändert, z. B . , oder .set
edit
delete
Wenn einer der Benutzer, der die Konfiguration bearbeitet, einen Befehl ausgibt, überprüft und aktiviert die CLI alle Änderungen durch alle Benutzer.commit
Wenn Sie mit dem Befehl in den Konfigurationsmodus wechseln, hat jeder Benutzer eine private Kandidatenkonfiguration, die er etwas unabhängig von anderen Benutzern bearbeiten kann.configure private
Wenn Sie einen Commit für die Konfiguration ausführen, übernimmt die CLI nur Ihre eigenen Änderungen. Um Ihre Kopie der Konfiguration zu synchronisieren, nachdem andere Benutzer Änderungen übernommen haben, können Sie den Befehl im Konfigurationsmodus ausführen.update
Bei einem Commit-Vorgang werden auch alle privaten Kandidatenkonfigurationen aktualisiert. Angenommen, Benutzer X und Benutzer Y befinden sich beide im Modus und Benutzer X führt einen Commit für eine Konfigurationsänderung aus.configure private
Wenn Benutzer Y einen nachfolgenden Commit-Vorgang ausführt und dann die neue Konfiguration anzeigt, enthält die neue Konfiguration, die Benutzer Y sieht, die von Benutzer X vorgenommenen Änderungen.
Wenn Sie mit dem Befehl in den Konfigurationsmodus wechseln, sperren Sie die Kandidatenkonfiguration so lange, wie Sie im Konfigurationsmodus bleiben.configure exclusive
Auf diese Weise können Sie Änderungen vornehmen, ohne dass andere Benutzer eingreifen. Andere Benutzer können in den Konfigurationsmodus wechseln und ihn beenden, aber sie können die Konfiguration nicht bestätigen. Dies gilt auch dann, wenn die anderen Benutzer vor der Eingabe des Befehls in den Konfigurationsmodus gewechselt sind.configure exclusive
Angenommen, Benutzer X befindet sich bereits im oder-Modus .configure private
configure
Angenommen, Benutzer Y wechselt in den Modus.configure exclusive
Benutzer X kann keine Änderungen an der Konfiguration übernehmen, selbst wenn Benutzer X diese Änderungen eingegeben hat, bevor sich Benutzer Y angemeldet hat. Wenn Benutzer Y den Modus verlässt , kann Benutzer X die in oder -Modus vorgenommenen Änderungen übernehmen.configure exclusive
configure private
configure
Übersicht über die Commit-Vorbereitung und -Aktivierung
Sie können den Commit-Vorgang in zwei Schritten abschließen. Die zweistufige Commit-Funktion ermöglicht es Ihnen, mehrere Geräte zu konfigurieren und die Konfigurationen gleichzeitig zu aktivieren. Der zweistufige Commit bietet ein endgültiges Zeitfenster, in dem der Commit auf dem System wirksam wird. Sie können in den Commit-Modus wechseln, nachdem der Commit vorbereitet wurde, aber Sie erhalten eine Meldung, dass die Aktivierung des Commits aussteht.
Im ersten Schritt, der Vorbereitungsphase, wird der Commit validiert und eine neue Datenbank mit den notwendigen Dateien generiert. Wenn die Konfiguration Syntaxfehler enthält, wird eine entsprechende Fehlermeldung angezeigt, und die Konfiguration wird nicht vorbereitet. Bei einem Fehler während der Vorbereitungsphase wird die Fehlermeldung angezeigt.commit check-out failed
Im zweiten Schritt, der Aktivierungsstufe, wird die zuvor vorbereitete Konfiguration aktiviert. Wenn Sie als Nächstes die vorbereitete Konfiguration löschen müssen, können Sie dies mit dem Befehl tun.clear system commit prepared
Nach erfolgreichem Löschen des ausstehenden Commits wird eine Protokollmeldung generiert.
Sie können keine Commit-Vorgänge zwischen der Vorbereitungs- und der Aktivierungsphase ausführen.
Der zweistufige Commit-Prozess ist dem einstufigen Prozess für zeitkritische Commits überlegen. Im einstufigen Prozess kann die Vorbereitungszeit je nach vorhandener Konfiguration auf dem Gerät variieren. Im zweistufigen Prozess werden die komplexen Vorbereitungsarbeiten effizienter abgewickelt.
Es werden Konfigurationsbefehle bereitgestellt, mit denen Sie den Konfigurationscache vorbereiten und die Konfiguration aktivieren können. Sie können die Geräte mit neuen Konfigurationen vorbereiten und sie genau zu den von Ihnen gewünschten Zeiten aktivieren.
Der Befehl überprüft die Konfigurationen, und der Befehl aktiviert die Konfigurationen.commit prepare
commit activate
Die Befehle verfügen über die folgenden Konfigurationsoptionen:
-
and-quit
-
no-synchronize
-
peers-synchronize
-
synchronize
Die Befehle und sind nur für private, exklusive und freigegebene Commits verfügbar.commit prepare
commit activate
Die Befehle gelten nicht für dynamische und flüchtige Modi. Diese Funktion gilt für Geräte mit mehreren Chassis, jedoch nicht für Batch-Commits.
Um diese Funktionalität mithilfe von NETCONF (Network Configuration Protocol) zu unterstützen, werden die folgenden neuen Remote Procedure Calls (RPCs) bereitgestellt:
-
<commit-configuration>< prepare/></commit-configuration>
-
<commit-configuration><activate/></commit-configuration>
-
<clear-system-commit><prepared/></clear-system-commit>
-
In einem Virtual Chassis-Setup der MX-Serie gilt Folgendes: Wenn eine Routing-Engine gefolgt von einem Switchover ausgegeben wird, wird die Routing-Engine, an der der Switchover-Befehl ausgegeben wird, neu gestartet.
commit prepare
Daher wird der vorbereitete Cache in dieser Routing-Engine gelöscht. -
In einem Virtual Chassis-Setup der MX-Serie ist es ratsam, den Befehl nur auf dem primären VC auszuführen .
clear system commit prepared
Bestätigen Sie Gerätekonfigurationen in zwei Schritten: Vorbereitung und Aktivierung
Sie können den Commit-Vorgang in zwei Schritten abschließen. Auf diese Weise können Sie mehrere Geräte konfigurieren und die Konfigurationen können gleichzeitig aktiviert werden. Im ersten Schritt, der sogenannten Vorbereitungsphase, wird der Commit validiert und eine neue Datenbank mit den erforderlichen Dateien generiert. Wenn die Konfiguration Syntaxfehler enthält, wird eine entsprechende Fehlermeldung angezeigt, und die Konfiguration wird nicht vorbereitet. Im zweiten Schritt, der sogenannten Aktivierungsphase, wird die zuvor vorbereitete Konfiguration aktiviert und zur aktuellen, betriebsbereiten Gerätekonfiguration.
So bereiten Sie die Konfiguration vor:
So aktivieren Sie die vorbereitete Konfiguration:
Verwenden Sie den Befehl
commit activate
[edit] user@host#
commit activate
Die Meldung wird angezeigt.
commit complete
Um die aktivierte Systemkonfiguration zu überprüfen, verwenden Sie den folgenden Befehl:
user@host>
show configuration system scripts
language python;
Um die Ausgabe der Befehle and nach der Ausgabe zu überprüfen, geben Sie die folgenden Befehle ein.show system commit
show system commit revision detail
commit activate
user@host> show system commit
0 2018-07-12 22:54:46 PDT by user via cli commit activate
user@host> show system commit revision detail
Revision: re0-1499925285-2214
User : user
Client : cli
Time : 2018-07-12 22:54:46 PDT
Comment : commit activate
Aktivieren einer Gerätekonfiguration mit Bestätigung
Wenn Sie die aktuelle Kandidatenkonfiguration bestätigen, können Sie eine explizite Bestätigung anfordern, damit der Commit dauerhaft wird. Dies ist nützlich, wenn Sie überprüfen möchten, ob eine Konfigurationsänderung ordnungsgemäß funktioniert und den Zugriff auf das Gerät nicht verhindert. Wenn die Änderung den Zugriff verhindert oder andere Fehler verursacht, kehrt das Gerät automatisch zur vorherigen Konfiguration zurück und stellt den Zugriff wieder her, nachdem das Zeitlimit für die Rollbackbestätigung abgelaufen ist. Diese Funktion wird als automatisches Rollback bezeichnet.
Um die aktuelle Kandidatenkonfiguration zu bestätigen, aber eine explizite Bestätigung zu benötigen, damit der Commit dauerhaft wird, verwenden Sie den Befehl configuration mode:commit confirmed
[edit]
user@host# commit confirmed
commit confirmed will be automatically rolled back in 10 minutes unless confirmed
commit complete
#commit confirmed will be rolled back in 10 minutes
[edit]
user@host#
Nachdem Sie sich vergewissert haben, dass die Änderung ordnungsgemäß funktioniert, können Sie die neue Konfiguration aktiv halten, indem Sie innerhalb von 10 Minuten nach dem Befehl einen oder-Befehl eingeben.commit
commit check
commit confirmed
Hier einige Zahlen zum Generationswechsel:
[edit]
user@host# commit check
configuration check succeeds
Wenn der Commit nicht innerhalb einer bestimmten Zeit (standardmäßig 10 Minuten) bestätigt wird, wird das Betriebssystem automatisch auf die vorherige Konfiguration zurückgesetzt und eine Broadcast-Nachricht an alle angemeldeten Benutzer gesendet.
Um anzuzeigen, wann nach einem Befehl ein Rollback geplant ist, geben Sie den Befehl ein.commit confirmed
show system commit
Hier einige Zahlen zum Generationswechsel:
user@host>show system commit
0 2018-01-05 15:00:37 PST by root via cli commit confirmed, rollback in 3mins
Wie der Befehl überprüft auch der Befehl die Konfigurationssyntax und meldet alle Fehler.commit
commit confirmed
Wenn keine Fehler auftreten, wird die Konfiguration vorübergehend aktiviert (standardmäßig 10 Minuten) und auf dem Gerät ausgeführt.
Um die Zeitspanne zu ändern, bevor Sie die neue Konfiguration bestätigen müssen, geben Sie die Anzahl der Minuten an, wenn Sie den Befehl ausgeben:
[edit]
user@host# commit confirmed minutes
commit complete
[edit]
user@host#
Sie können den Befehl auch im Konfigurationsmodus verwenden.commit confirmed
[edit private]
Planen eines Commit-Vorgangs
Sie können festlegen, wann Ihre Kandidatenkonfiguration aktiv werden soll. Um Änderungen an der Gerätekonfiguration zu speichern und die Konfiguration auf dem Gerät zu einem späteren Zeitpunkt oder nach einem Neustart zu aktivieren, verwenden Sie den Befehl configuration mode und geben Sie auf der Hierarchieebene [] einen zukünftigen Zeitpunkt an:commit at
reboot
edit
[edit]
user@host # commit at string
ist oder der zukünftige Zeitpunkt, um die Konfigurationsänderungen zu aktivieren.string
reboot
Sie können die Uhrzeit in zwei Formaten angeben:
Ein Zeitwert im Format [] (Stunden, Minuten und optional Sekunden): Bestätigen Sie die Konfiguration zum angegebenen Zeitpunkt, der in der Zukunft, aber vor 23:59:59 Uhr an dem Tag liegen muss, an dem der Konfigurationsmodusbefehl ausgegeben wird.
hh
:
mm
:
ss
commit at
Verwenden Sie eine 24-Stunden-Zeit für den Wert, z. B. 4:30:00 Uhr und 20:00 Uhr.hh
04:30:00
20:00
Die Uhrzeit wird in Bezug auf die Uhr- und Zeitzoneneinstellungen auf dem Router interpretiert.Ein Datums- und Uhrzeitwert im Format [] (Jahr, Monat, Datum, Stunden, Minuten und optional Sekunden): Bestätigen Sie die Konfiguration am angegebenen Tag und zur angegebenen Uhrzeit, die nach der Ausgabe des Befehls erfolgen muss.
yyyy-mm-dd hh
:
mm
:
ss
commit at
Verwenden Sie 24-Stunden-Zeit für den Wert.hh
Beispiel: Am 21. August 2018 ist es 12: 30 Uhr.2018-08-21
12:30:00
Die Uhrzeit wird in Bezug auf die Uhr- und Zeitzoneneinstellungen auf dem Router interpretiert.
Schließen Sie den Wert in Anführungszeichen (" ") ein.string
Beispiel: .commit at
"1
8:00:00
"
Fügen Sie für Datum und Uhrzeit beide Werte in denselben Satz von Anführungszeichen ein. Zum Beispiel commit at "2018-03-10 14:00:00".
Eine Commit-Prüfung wird sofort durchgeführt, wenn Sie den Befehl configuration mode absetzen.commit at
Wenn das Ergebnis der Überprüfung erfolgreich ist, wird der aktuelle Benutzer aus dem Konfigurationsmodus abgemeldet, und die Konfigurationsdaten verbleiben in einem schreibgeschützten Zustand. Es kann kein weiterer Commit ausgeführt werden, bis der geplante Commit abgeschlossen ist.
Wenn die Gerätesoftware ausfällt, bevor die Konfigurationsänderungen aktiv werden, gehen alle Konfigurationsänderungen verloren.
Sie können den Konfigurationsbefehl nicht mehr eingeben, nachdem Sie den Befehl ausgegeben haben.commit at
request system reboot
Sie können den Befehl nicht eingeben, nachdem Sie einen Commit-Vorgang für einen bestimmten Zeitpunkt in der Zukunft geplant haben.request system reboot
Sie können keine Konfiguration festschreiben, wenn ein geplanter Commit aussteht. Informationen zum Abbrechen einer geplanten Konfiguration mithilfe des Befehls finden Sie im CLI-Explorer.clear
https://www.juniper.net/documentation/content-applications/cli-explorer/junos/
Es wird nicht empfohlen, einen Commit-Vorgang für die Backup-Routing-Engine auszuführen, wenn die ordnungsgemäße Routing-Engine-Umschaltung auf dem Gerät aktiviert ist.
Überwachen des Commit-Prozesses
Um den Commit-Prozess für die Gerätekonfiguration zu überwachen, verwenden Sie den Befehl nach der Pipe mit dem folgenden Befehl:display detail
commit
user@host# commit | display detail
Hier einige Zahlen zum Generationswechsel:
[edit]
user@host# commit | display detail
2018-09-22 15:39:39 PDT: exporting juniper.conf
2018-09-22 15:39:39 PDT: setup foreign files
2018-09-22 15:39:39 PDT: propagating foreign files
2018-09-22 15:39:39 PDT: complete foreign files
2018-09-22 15:39:40 PDT: copying configuration to juniper.data+
2018-09-22 15:39:40 PDT: dropping unchanged foreign files
2018-09-22 15:39:40 PDT: daemons checking new configuration
2018-09-22 15:39:41 PDT: commit wrapup...
2018-09-22 15:39:42 PDT: activating '/var/etc/ntp.conf'
2018-09-22 15:39:42 PDT: activating '/var/etc/kmd.conf'
2018-09-22 15:39:42 PDT: activating '/var/db/juniper.data'
2018-09-22 15:39:42 PDT: notifying daemons of new configuration
2018-09-22 15:39:42 PDT: signaling 'Firewall daemon', pid 24567, signal 1,
status 0
2018-09-22 15:39:42 PDT: signaling 'Interface daemon', pid 24568, signal 1,
status 0
2018-09-22 15:39:43 PDT: signaling 'Routing protocol daemon', pid 25679,
signal 1, status 0
2018-09-22 15:39:43 PDT: signaling 'MIB2 daemon', pid 24549, signal 1,
status 0
2018-09-22 15:39:43 PDT: signaling 'NTP daemon', pid 37863, signal 1, status 0
2018-09-22 15:39:43 PDT: signaling 'Sonet APS daemon', pid 24551, signal 1,
status 0
2018-09-22 15:39:43 PDT: signaling 'VRRP daemon', pid 24552, signal 1,
status 0
2018-09-22 15:39:43 PDT: signaling 'PFE daemon', pid 2316, signal 1, status 0
2018-09-22 15:39:43 PDT: signaling 'Traffic sampling control daemon', pid 24553
signal 1, status 0
2018-09-22 15:39:43 PDT: signaling 'IPsec Key Management daemon', pid
24556, signal 1, status 0
2018-09-22 15:39:43 PDT: signaling 'Forwarding UDP daemon', pid 2320,
signal 1, status 0
commit complete
Fügen Sie einen Kommentar hinzu, um die festgeschriebene Konfiguration zu beschreiben
Sie können einen Kommentar einfügen, der Änderungen an der festgeschriebenen Konfiguration beschreibt. Fügen Sie dazu die Anweisung ein.commit comment
Der Kommentar kann bis zu 512 Byte lang sein und Sie müssen ihn in einer einzigen Zeile eingeben.
[edit]
user@host# commit comment comment-string
comment-string
ist der Text des Kommentars.
Sie können dem Befehl keinen Kommentar hinzufügen.commit check
Um dem Befehl einen Kommentar hinzuzufügen, fügen Sie die Anweisung nach dem Befehl ein:commit
comment
commit
[edit]
user@host# commit comment "add user joe"
commit complete
[edit]
user@host#
Um dem Befehl einen Kommentar hinzuzufügen, fügen Sie die Anweisung nach dem Befehl ein:commit confirmed
comment
commit confirmed
[edit]
user@host# commit confirmed comment "add customer to port 27"
commit confirmed will be automatically rolled back in 10 minutes unless confirmed
commit complete
[edit]
user@host#
Um diese Commit-Kommentare anzuzeigen, geben Sie den Befehl operational mode ein.show system commit
Sie können den Befehl auch im Konfigurationsmodus verwenden.commit confirmed
[edit private]
Übersicht über Batch-Commits
Batch-Commit aggregiert oder führt mehrere Konfigurationsänderungen aus verschiedenen CLI-Sitzungen oder Benutzern zusammen und fügt sie einer Batch-Commit-Warteschlange hinzu. Ein auf dem Gerät ausgeführter Batch-Commit-Server übernimmt einen oder mehrere Aufträge aus der Batch-Commit-Warteschlange, wendet die Konfigurationsänderungen auf die freigegebene Konfigurationsdatenbank an und führt dann einen Commit für die Konfigurationsänderungen in einem einzigen Commit-Vorgang aus.
Batches werden vom Commit-Server basierend auf der Priorität des vom Benutzer angegebenen Batches oder dem Zeitpunkt, zu dem der Batchauftrag hinzugefügt wird, priorisiert. Wenn ein Batch-Commit abgeschlossen ist, werden die nächsten Konfigurationsänderungen aggregiert und in die Batch-Warteschlange für die nächste Sitzung des Batch-Commit-Vorgangs geladen. Batches werden so lange erstellt, bis keine Commit-Einträge mehr im Warteschlangenverzeichnis vorhanden sind.
Im Vergleich zum regulären Commit-Vorgang, bei dem alle Commits unabhängig voneinander sequenziell festgeschrieben werden, sparen Batch-Commits Zeit und Systemressourcen, indem sie mehrere kleine Konfigurationsänderungen in einem einzigen Commit-Vorgang ausführen.
Batch-Commits werden im Konfigurationsmodus ausgeführt.[edit batch]
Die Eigenschaften des Commit-Servers können auf Hierarchieebene konfiguriert werden.[edit system commit server]
Aggregation und Fehlerbehandlung
Wenn in einem der aggregierten Aufträge ein Ladezeitfehler auftritt, wird der Commitauftrag, bei dem der Fehler auftritt, verworfen, und die verbleibenden Aufträge werden aggregiert und festgeschrieben.
Wenn z. B. fünf Commitaufträge (, , , und ) aggregiert werden und beim Laden ein Fehler auftritt, wird verworfen und , , und werden aggregiert und festgeschrieben.commit-1
commit-2
commit-3
commit-4
commit-5
commit-3
commit-3
commit-1
commit-2
commit-4
commit-5
Wenn während des Commitvorgangs ein Fehler auftritt, wenn zwei oder mehr Aufträge aggregiert und festgeschrieben werden, wird die Aggregation verworfen, und für jeden dieser Aufträge wird wie bei einem regulären Commitvorgang einzeln ein Commit ausgeführt.
Wenn z. B. fünf Commit-Aufträge (, , , und ) aggregiert werden und ein Commit-Fehler auftritt, der durch verursacht wird, wird die Aggregation verworfen, , , und einzeln festgeschrieben, und die CLI meldet einen Commit-Fehler für .commit-1
commit-2
commit-3
commit-4
commit-5
commit-3
commit-1
commit-2
commit-3
commit-4
commit-5
commit-3
Beispiel: Konfigurieren der Eigenschaften des Batch-Commit-Servers
In diesem Beispiel wird gezeigt, wie die Eigenschaften des Batchcommitservers konfiguriert werden, um Batchcommitvorgänge zu verwalten.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
-
Universelle 5G-Routing-Plattform der MX-Serie
Überblick
Sie können steuern, wie die Batch-Commit-Warteschlange vom Commit-Server behandelt wird, indem Sie die Servereigenschaften auf Hierarchieebene konfigurieren.[edit system commit server]
Auf diese Weise können Sie steuern, wie viele Commit-Aufträge zu einem einzelnen Batch-Commit zusammengefasst oder zusammengeführt werden, die maximale Anzahl von Aufträgen, die der Warteschlange hinzugefügt werden können, die Tage für die Aufbewahrung von Batch-Commit-Fehlerprotokollen, das Intervall zwischen zwei Batch-Commits und die Ablaufverfolgung von Vorgängen für Batch-Commit-Vorgänge.
Konfiguration
- CLI-Schnellkonfiguration
- Konfigurieren der Commit-Servereigenschaften
- Bestätigen der Konfiguration aus dem Batchkonfigurationsmodus
CLI-Schnellkonfiguration
Um diesen Abschnitt des Beispiels schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]
Sie können die Eigenschaften des Commit-Servers entweder im regulären Modus oder im Modus konfigurieren.[edit]
[edit batch]
Gerät R0
set system commit server maximum-aggregate-pool 4
set system commit server maximum-entries 500
set system commit server commit-interval 5
set system commit server days-to-keep-error-logs 30
set system commit server traceoptions file commitd_nov
set system commit server traceoptions flag all
Konfigurieren der Commit-Servereigenschaften
Schritt-für-Schritt-Anleitung
-
(Optional) Konfigurieren Sie die Anzahl der Commit-Transaktionen, die in einem einzigen Commit-Vorgang aggregiert oder zusammengeführt werden sollen.
Der Standardwert für ist .
maximum-aggregate-pool
5
HINWEIS:Festlegen , dass für jeden der Aufträge ein Commit ausgeführt wird.
maximum-aggregate-pool
1
In diesem Beispiel wird die Anzahl der Commit-Transaktionen so festgelegt, dass angegeben wird, dass vier verschiedene Commit-Aufträge zu einem einzigen Commit aggregiert werden, bevor der Commit-Vorgang initiiert wird.
4
[edit system commit server]
user@R0#set maximum-aggregate-pool 4
-
(Optional) Konfigurieren Sie die maximal zulässige Anzahl von Aufträgen in einem Batch.
Dies begrenzt die Anzahl der Commits-Aufträge, die der Warteschlange hinzugefügt werden.
[edit system commit server]
user@R0#set maximum-entries 500
HINWEIS:Wenn Sie auf setzen, kann der Commit-Server der Warteschlange nicht mehr als einen Auftrag hinzufügen, und die CLI zeigt eine entsprechende Meldung an, wenn Sie versuchen, mehr als einen Auftrag zu bestätigen.
maximum-entries
1
-
(Optional) Konfigurieren Sie die Zeit (in Sekunden), die gewartet werden soll, bevor der nächste Batch-Commit-Vorgang gestartet wird.
[edit system commit server]
user@R0#set commit-interval 5
-
(Optional) Konfigurieren Sie die Anzahl der Tage, für die Fehlerprotokolle aufbewahrt werden sollen.
Der Standardwert ist Tage.
30
[edit system commit server]
user@R0#set days-to-keep-error-logs 30
-
(Optional) Konfigurieren Sie Ablaufverfolgungsvorgänge zum Protokollieren von Batch-Commit-Ereignissen.
In diesem Beispiel lautet der Dateiname für die Protokollierung von Batch-Commit-Ereignissen , und alle traceoptionsflags sind festgelegt.
commitd_nov
[edit system commit server]
user@R0#set traceoptions commitd_nov
user@R0#set traceoptions flag all
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl eingeben.show system commit server
Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@R0# show system commit server
maximum-aggregate-pool 4;
maximum-entries 500;
commit-interval 5;
days-to-keep-error-logs 30;
traceoptions {
file commitd_nov;
flag all;
}
Bestätigen der Konfiguration aus dem Batchkonfigurationsmodus
Schritt-für-Schritt-Anleitung
Führen Sie einen der folgenden Schritte aus, um die Konfiguration aus dem Modus heraus zu bestätigen:[edit batch]
-
Melden Sie sich beim Gerät an und geben Sie ein.
commit
[edit batch]
user@R0#commit
Added to commit queue request-id: 1000 -
Um einem Batch-Commit-Auftrag eine höhere Priorität zuzuweisen, geben Sie den Befehl mit der Option ab.
commit
priority
[edit batch]
user@R0#commit priority
Added to commit queue request-id: 1001 -
Wenn Sie einen Commit für eine Konfiguration ausführen möchten, ohne die Konfigurationsänderungen mit anderen Commit-Aufträgen in der Warteschlange zu aggregieren, setzen Sie den Befehl mit der Option ab.
commit
atomic
[edit batch]
user@R0#commit atomic
Added to commit queue request-id: 1002 -
Um eine Konfiguration zu bestätigen, ohne die Konfigurationsänderungen mit anderen Commit-Aufträgen in der Warteschlange zu aggregieren und dem Commit-Auftrag eine höhere Priorität zuzuweisen, geben Sie den Befehl mit der Option ab.
commit
atomic priority
[edit batch]
user@R0#commit atomic priority
Added to commit queue request-id: 1003
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Überprüfen des Status des Batch-Commit-Servers
- Überprüfen des Batch-Commit-Status
- Anzeigen der Patch-Dateien in einem Batch-Commit-Auftrag
- Anzeigen der Ablaufverfolgungsdateien für Batch-Commit-Vorgänge
Überprüfen des Status des Batch-Commit-Servers
Zweck
Überprüfen Sie den Status des Batch-Commit-Servers.
Was
user@R0> show system commit server
Commit server status : Not running
Standardmäßig ist der Status des Commit-Servers .Not running
Der Commit-Server wird nur ausgeführt, wenn der Warteschlange ein Batch-Commit-Auftrag hinzugefügt wird.
Wenn der Warteschlange ein Batch-Commit-Auftrag hinzugefügt wird, ändert sich der Status des Commit-Servers in .Running
user@R0> show system commit server
Commit server status : Running
Jobs in process:
1003 1004 1005
Bedeutung
Das Feld listet die Commit-IDs von Aufträgen auf, die in Bearbeitung sind.Jobs in process
Überprüfen des Batch-Commit-Status
Zweck
Überprüfen Sie die Commit-Serverwarteschlange auf den Status der Batch-Commits.
Was
user@R0> show system commit server queue
Pending commits:
Id: 1005
Last Modified: Tue Nov 1 23:56:43 2018
Completed commits:
Id: 1000
Last Modified: Tue Nov 1 22:46:43 2018
Status: Successfully committed 1000
Id: 1002
Last Modified: Tue Nov 1 22:50:35 2018
Status: Successfully committed 1002
Id: 1004
Last Modified: Tue Nov 1 22:51:48 2018
Status: Successfully committed 1004
Id: 1007
Last Modified: Wed Nov 2 01:08:04 2018
Status: Successfully committed 1007
Id: 1009
Last Modified: Wed Nov 2 01:16:45 2018
Status: Successfully committed 1009
Id: 1010
Last Modified: Wed Nov 2 01:19:25 2018
Status: Successfully committed 1010
Id: 1011
Last Modified: Wed Nov 2 01:28:16 2018
Status: Successfully committed 1011
Error commits:
Id: 1008
Last Modified: Wed Nov 2 01:08:18 2018
Status: Error while commiting 1008
Bedeutung
Zeigt Commit-Aufträge an, die der Commit-Warteschlange hinzugefügt, aber noch nicht festgeschrieben wurden. Zeigt die Liste der Commit-Aufträge an, die erfolgreich waren. sind Commits, die aufgrund eines Fehlers fehlgeschlagen sind.Pending commits
Completed commits
Error commits
Anzeigen der Patch-Dateien in einem Batch-Commit-Auftrag
Zweck
Zeigen Sie die Zeitstempel, Patch-Dateien und den Status der einzelnen Commit-Jobs an. Patch-Dateien zeigen die Konfigurationsänderungen, die bei jedem Commit-Vorgang auftreten, der der Batch-Commit-Warteschlange hinzugefügt wird.
Was
-
Verwenden Sie den Befehl, um die Patches für alle Commit-Vorgänge anzuzeigen.
show system commit server queue patch
user@R0>
show system commit server queue patch
Pending commits: none Completed commits: Id: 1000 Last Modified: Tue Nov 1 22:46:43 2018 Status: Successfully committed 1000 Patch: [edit groups] re1 { ... } + GRP-DHCP-POOL-NOACCESS { + access { + address-assignment { + pool <*> { + family inet { + dhcp-attributes { + maximum-lease-time 300; + grace-period 300; + domain-name verizon.net; + name-server { + 4.4.4.1; + 4.4.4.2; + } + } + } + } + } + } + } Id: 1002 Last Modified: Tue Nov 1 22:50:35 2018 Status: Successfully committed 1002 Patch: [edit] + snmp { + community abc; + } Id: 1010 Last Modified: Wed Nov 2 01:19:25 2018 Status: Successfully committed 1010 Patch: [edit system syslog] file test { ... } + file j { + any any; + } Error commits: Id: 1008 Last Modified: Wed Nov 2 01:08:18 2018 Status: Error while commiting 1008 Patch: [edit system] + radius-server { + 10.1.1.1 port 222; + }Die Ausgabe zeigt die Änderungen in der Konfiguration für jede Commit-Job-ID.
-
Um den Patch für eine bestimmte Commit-Job-ID anzuzeigen, geben Sie den Befehl ein.
show system commit server queue patch id <id-number>
user@R0>
show system commit server queue patch id 1000
Completed commits: Id: 1000 Last Modified: Tue Nov 1 22:46:43 2018 Status: Successfully committed 1000 Patch: [edit system] + radius-server { + 192.168.69.162 secret teH.bTc/RVbPM; + 192.168.64.10 secret teH.bTc/RVbPM; + 192.168.60.52 secret teH.bTc/RVbPM; + 192.168.60.55 secret teH.bTc/RVbPM; + 192.168.4.240 secret teH.bTc/RVbPM; + }
Bedeutung
Die Ausgabe zeigt den Patch, der für einen Commit-Job erstellt wurde. Das Oder-Zeichen gibt die Änderungen in der Konfiguration für einen bestimmten Commit-Auftrag an.+
-
Anzeigen der Ablaufverfolgungsdateien für Batch-Commit-Vorgänge
Zweck
Zeigen Sie die Ablaufverfolgungsdateien für Batch-Commit-Vorgänge an. Sie können die Ablaufverfolgungsdateien zu Fehlerbehebungszwecken verwenden.
Was
-
Verwenden Sie den Befehl, um alle Einträge in der Protokolldatei anzuzeigen.
file show /var/log/<filename>
user@R0>
file show/var/log/commitd_nov
Die Ausgabe zeigt Commitserver-Ereignisprotokolle und andere Protokolle für Batch-Commits an.
Nov 1 22:46:43 Successfully committed 1000 Nov 1 22:46:43 pausing after commit for 0 seconds ... Nov 1 22:46:43 Done working on queue ... Nov 1 22:47:17 maximum-aggregate-pool = 5 Nov 1 22:47:17 maximum-entries= 0 Nov 1 22:47:17 asynchronous-prompt = no Nov 1 22:47:17 commit-interval = 0 Nov 1 22:47:17 days-to-keep-error-logs = -1 ... Nov 1 22:47:17 Added to commit queue request-id: 1001 Nov 1 22:47:17 Commit server status=running Nov 1 22:47:17 No need to pause ... Nov 1 22:47:18 Error while commiting 1001 Nov 1 22:47:18 doing rollback ...
-
Wenn Sie Protokolleinträge nur für erfolgreiche Batch-Commit-Vorgänge anzeigen möchten, geben Sie den Befehl mit der Option pipe ab.
file show /var/log/<filename>
| match committed
Die Ausgabe zeigt die Batch-Commit-Auftrags-IDs für erfolgreiche Commit-Vorgänge an.
user@R0>
file show/var/log/commitd_nov | match committed
Nov 1 22:46:43 Successfully committed 1000 Nov 1 22:50:35 Successfully committed 1002 Nov 1 22:51:48 Successfully committed 1004 Nov 2 01:08:04 Successfully committed 1007 Nov 2 01:16:45 Successfully committed 1009 Nov 2 01:19:25 Successfully committed 1010 Nov 2 01:28:16 Successfully committed 1011 -
Wenn Sie Protokolleinträge nur für fehlgeschlagene Batch-Commit-Vorgänge anzeigen möchten, geben Sie den Befehl mit der Option pipe ab.
file show /var/log/<filename>
| match “Error while”
In der Ausgabe werden Commit-Auftrags-IDs für fehlgeschlagene Commit-Vorgänge angezeigt.
user@R0>
file show/var/log/commitd_nov | match “Error while”
Nov 1 22:47:18 Error while commiting 1001 Nov 1 22:51:10 Error while commiting 1003 Nov 1 22:52:15 Error while commiting 1005 ... -
Wenn Sie Protokolleinträge nur für Commit-Serverereignisse anzeigen möchten, setzen Sie den Befehl mit der Option pipe ab.
file show /var/log/<filename>
| match “commit server”
Die Ausgabe zeigt Commit-Server-Ereignisprotokolle an.
user@R0>
file show/var/log/commitd_nov | match “commit server”
Nov 1 22:46:39 Commit server status=running Nov 1 22:46:39 Commit server jobs=1000 Nov 1 22:46:43 Commit server status=not running Nov 1 22:46:43 Commit server jobs= Nov 1 22:47:17 Commit server status=running Nov 1 22:47:18 Commit server jobs=1001 Nov 1 22:47:18 2 errors reported by commit server Nov 1 22:47:18 Commit server status=not running Nov 1 22:47:18 Commit server jobs= Nov 1 22:50:31 Commit server status=running Nov 1 22:50:31 Commit server jobs=1002 Nov 1 22:50:35 Commit server status=not running Nov 1 22:50:35 Commit server jobs= Nov 1 22:51:09 Commit server status=running Nov 1 22:51:10 Commit server jobs=1003 Nov 1 22:51:10 2 errors reported by commit server Nov 1 22:51:10 Commit server status=not running ...
Sichern Sie die festgeschriebene Konfiguration auf dem alternativen Startlaufwerk
Nachdem Sie die Konfiguration bestätigt und sich davon überzeugt haben, dass sie erfolgreich ausgeführt wird, sollten Sie den Befehl zum Sichern der neuen Software im Dateisystem ausführen.request system snapshot
/altconfig
Wenn Sie den Befehl nicht ausführen, ist die Konfiguration auf dem alternativen Startlaufwerk nicht synchron mit der Konfiguration auf dem primären Startlaufwerk.request system snapshot
Der Befehl sichert das Root-Dateisystem nach und nach .request system snapshot
/altroot
/config
/altconfig
Das Root- und Dateisystem befindet sich auf dem Flash-Laufwerk des Routers und das Dateisystem und auf der Festplatte des Routers (falls verfügbar)./config
/altroot
/altconfig
Nachdem Sie den Befehl ausgegeben haben, können Sie nicht zur vorherigen Version der Software zurückkehren, da die ausgeführte und die Sicherungskopie der Software identisch sind.request system snapshot