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 commit
Befehl configuration mode können Sie die Änderungen an der Gerätekonfiguration in der Konfigurationsdatenbank speichern und die Konfiguration auf dem Gerät aktivieren.
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 juniper.conf.gz und aktiviert. Die ehemals aktive Konfigurationsdatei wird als erste Rollback-Konfigurationsdatei (juniper.conf.1.gz) gespeichert, und alle anderen Rollback-Konfigurationsdateien werden um 1 erhöht. Wird z. B. auf juniper.conf.2.gzinkrementiert, juniper.conf.1.gzwas sie zur zweiten Rollback-Konfigurationsdatei macht. 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 (juniper.conf.gz.1, juniper.conf.gz.2, juniper.conf.gz.3) im /config Verzeichnis. (Die restlichen Rollback-Dateien 4 bis 49 befinden sich in /var/db/config.)
Wenn die Wiederherstellungskonfigurationsdatei rescue.conf.gz vorhanden ist, befindet sich diese Datei ebenfalls im /config Verzeichnis. Die werkseitig voreingestellten Dateien befinden sich im /etc/config Verzeichnis.
Es gibt zwei Mechanismen, die verwendet werden, um die Konfigurationen zwischen Routing-Engines innerhalb eines Geräts weiterzugeben:
Synchronisation: Ü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
commit synchronize
CLI-Befehl. Wenn eine der Routing-Engines gesperrt ist, schlägt die Synchronisierung fehl. Wenn die Synchronisierung aufgrund einer gesperrten Konfigurationsdatei fehlschlägt, können Sie dencommit synchronize force
Befehl verwenden. 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
commit synchronize force
CLI-Befehl auf einer Multichassis-Plattform verwenden, wirkt sich die erzwungene Synchronisierung der Konfigurationsdateien nicht auf die Verteilung der Konfigurationsdatei über die Routingebene aus. 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 densynchronization
Befehl erneut ausführen.
Siehe auch
Bestätigen einer Gerätekonfiguration
Verwenden Sie den commit
Befehl Konfigurationsmodus, um Änderungen an der Gerätekonfiguration in der Konfigurationsdatenbank zu speichern und die Konfiguration auf dem Gerät zu aktivieren. Sie können den commit
Befehl von einer beliebigen Hierarchieebene aus ausgeben:
[edit]
user@host# commit
commit complete
[edit]
user@host#
Bei der Eingabe des commit
Befehls wird die Konfiguration zunächst auf Syntaxfehler (commit check
) überprüft. 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
configure exclusive
Befehl eingegeben hat.
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
Zum Beispiel:
[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 [edit]
Hierarchieebene ein.
Die nicht festgeschriebene Kandidatenkonfigurationsdatei ist /var/rundb/juniper.db. Es ist auf 700 MB begrenzt. Wenn der Commit mit einer Meldung configuration database size limit exceeded
fehlschlägt, zeigen Sie die Dateigröße im Konfigurationsmodus an, indem Sie den Befehl run file list /var/rundb detail
eingeben. 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 [edit interfaces]
angezeigt werden, werden entfernt und als Systemprotokollmeldungen protokolliert.
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
fxp0
und eine externe physische Schnittstelle konfigurierenge-0/0/1
, 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. 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 set
. , edit
oder delete
.
Wenn einer der Benutzer, der die Konfiguration bearbeitet, einen commit
Befehl ausgibt, überprüft und aktiviert die CLI alle Änderungen durch alle Benutzer.
Wenn Sie mit dem Befehl in den configure private
Konfigurationsmodus wechseln, hat jeder Benutzer eine private Kandidatenkonfiguration, die er etwas unabhängig von anderen Benutzern bearbeiten kann. 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 update
Befehl im Konfigurationsmodus ausführen. Bei einem Commit-Vorgang werden auch alle privaten Kandidatenkonfigurationen aktualisiert. Angenommen, Benutzer X und Benutzer Y befinden sich beide im configure private
Modus und Benutzer X führt einen Commit für eine Konfigurationsänderung aus. 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 configure exclusive
Konfigurationsmodus wechseln, sperren Sie die Kandidatenkonfiguration so lange, wie Sie im Konfigurationsmodus bleiben. 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 configure exclusive
Konfigurationsmodus gewechselt sind. Angenommen, Benutzer X befindet sich bereits im configure private
oder-Modus configure
. Angenommen, Benutzer Y wechselt in den configure exclusive
Modus. 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 configure exclusive
, kann Benutzer X die in configure private
oder configure
-Modus vorgenommenen Änderungen übernehmen.
Ü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 commit check-out failed
angezeigt.
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 clear system commit prepared
Befehl tun. Nach erfolgreichem Löschen des ausstehenden Commits wird eine Protokollmeldung generiert.
Es wird empfohlen, zwischen den Vorbereitungs- und Aktivierungsphasen keine Änderungen an der Konfiguration vorzunehmen.
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 commit prepare
Befehl überprüft die Konfigurationen, und der commit activate
Befehl aktiviert die Konfigurationen. Die Befehle verfügen über die folgenden Konfigurationsoptionen:
-
and-quit
-
no-synchronize
-
peers-synchronize
-
synchronize
Die commit prepare
Befehle und commit activate
sind nur für private, exklusive und freigegebene Commits verfügbar. 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
commit prepare
eine Routing-Engine gefolgt von einem Switchover ausgegeben wird, wird die Routing-Engine, an der der Switchover-Befehl ausgegeben wird, neu gestartet. 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
commit activate
Befehl[edit] user@host#
commit activate
Die Meldung
commit complete
wird angezeigt.Um die aktivierte Systemkonfiguration zu überprüfen, verwenden Sie den folgenden Befehl:
user@host>
show configuration system scripts
language python;
Um die Ausgabe der show system commit
Befehle and show system commit revision detail
nach commit activate
der Ausgabe zu überprüfen, geben Sie die folgenden Befehle ein.
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 commit confirmed
Befehl configuration mode:
[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 commit confirmed
Befehl einen commit
oder-Befehl commit check
eingeben. Zum Beispiel:
[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 commit confirmed
Befehl ein Rollback geplant ist, geben Sie den show system commit
Befehl ein. Zum Beispiel:
user@host>show system commit
0 2018-01-05 15:00:37 PST by root via cli commit confirmed, rollback in 3mins
Wie der commit
Befehl überprüft auch der commit confirmed
Befehl die Konfigurationssyntax und meldet alle Fehler. 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 commit confirmed
Befehl auch im [edit private]
Konfigurationsmodus verwenden.
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 commit at
Befehl configuration mode und geben Sie auf der Hierarchieebene [edit
] einen zukünftigen Zeitpunkt anreboot
:
[edit]
user@host # commit at string
string
ist reboot
oder der zukünftige Zeitpunkt, um die Konfigurationsänderungen zu aktivieren. Sie können die Uhrzeit in zwei Formaten angeben:
Ein Zeitwert im Format
hh
:
mm
[:
ss
] (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 dercommit at
Konfigurationsmodusbefehl ausgegeben wird. Verwenden Sie eine 24-Stunden-Zeit für denhh
Wert, z. B.04:30:00
4:30:00 Uhr und20:00
20:00 Uhr. Die Uhrzeit wird in Bezug auf die Uhr- und Zeitzoneneinstellungen auf dem Router interpretiert.Ein Datums- und Uhrzeitwert im Format
yyyy-mm-dd hh
:
mm
[:
ss
] (Jahr, Monat, Datum, Stunden, Minuten und optional Sekunden): Bestätigen Sie die Konfiguration am angegebenen Tag und zur angegebenen Uhrzeit, die nach der Ausgabe descommit at
Befehls erfolgen muss. Verwenden Sie 24-Stunden-Zeit für denhh
Wert. Beispiel:2018-08-21
12:30:00
Am 21. August 2018 ist es 12:30 Uhr. Die Uhrzeit wird in Bezug auf die Uhr- und Zeitzoneneinstellungen auf dem Router interpretiert.
Schließen Sie den string
Wert in Anführungszeichen (" ") ein. 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 commit at
Befehl configuration mode absetzen. 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 commit at
Konfigurationsbefehl nicht mehr eingeben, nachdem Sie den request system reboot
Befehl ausgegeben haben.
Sie können den Befehl nicht eingeben, request system reboot
nachdem Sie einen Commit-Vorgang für einen bestimmten Zeitpunkt in der Zukunft geplant haben.
Sie können keine Konfiguration festschreiben, wenn ein geplanter Commit aussteht. Informationen zum Abbrechen einer geplanten Konfiguration mithilfe des clear
Befehls finden Sie im CLI-Explorer.
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 display detail
Befehl nach der Pipe mit dem commit
folgenden Befehl:
user@host# commit | display detail
Zum Beispiel:
[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 commit comment
Anweisung ein. 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 commit check
Befehl keinen Kommentar hinzufügen.
Um dem commit
Befehl einen Kommentar hinzuzufügen, fügen Sie die comment
Anweisung nach dem commit
Befehl ein:
[edit]
user@host# commit comment "add user joe"
commit complete
[edit]
user@host#
Um dem commit confirmed
Befehl einen Kommentar hinzuzufügen, fügen Sie die comment
Anweisung nach dem commit confirmed
Befehl ein:
[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 show system commit
Befehl operational mode ein.
Sie können den commit confirmed
Befehl auch im [edit private]
Konfigurationsmodus verwenden.
Ab Junos OS Version 24.2R1 erzwingt Junos OS, dass Sie für jede Commit-Anforderung einen Kommentar abgeben. Dies hilft dabei, Änderungen zu verfolgen, die von mehreren Benutzern oder Administratoren zum Zeitpunkt der Übertragung vorgenommen wurden.
Der commit
Befehl wird ohne das comment
Argument nicht ausgeführt.
Um zu erzwingen, dass der Benutzer für jede Commit-Anforderung einen Kommentar hinzufügt, konfigurieren force-commit-log
Sie die Option auf Hierarchieebene [edit system commit]
.
Ü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 [edit batch]
Konfigurationsmodus ausgeführt. Die Eigenschaften des Commit-Servers können auf Hierarchieebene [edit system commit server]
konfiguriert werden.
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 (commit-1
, commit-2
, , commit-3
commit-4
und commit-5
) aggregiert werden und commit-3
beim Laden ein Fehler auftritt, commit-3
wird verworfen und commit-1
, commit-2
, commit-4
und commit-5
werden aggregiert und festgeschrieben.
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 (commit-1
, commit-2
, commit-3
, commit-4
und commit-5
) aggregiert werden und ein Commit-Fehler auftritt, der commit-3
durch verursacht wird, wird die Aggregation verworfen, commit-1
, commit-3
commit-2
commit-4
, und commit-5
einzeln festgeschrieben, und die CLI meldet einen Commit-Fehler für . 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 [edit system commit server]
konfigurieren. 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 [edit]
ein. Sie können die Eigenschaften des Commit-Servers entweder im regulären [edit]
Modus oder im [edit batch]
Modus konfigurieren.
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
maximum-aggregate-pool
ist5
.HINWEIS:Festlegen
maximum-aggregate-pool
, dass1
für jeden der Aufträge ein Commit ausgeführt wird.In diesem Beispiel wird die Anzahl der Commit-Transaktionen so
4
festgelegt, dass angegeben wird, dass vier verschiedene Commit-Aufträge zu einem einzigen Commit aggregiert werden, bevor der Commit-Vorgang initiiert wird.[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
1
setzenmaximum-entries
, 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. -
(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
30
Tage.[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
commitd_nov
der Dateiname für die Protokollierung von Batch-Commit-Ereignissen , und alle traceoptionsflags sind festgelegt.[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 show system commit server
Befehl eingeben. 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 [edit batch]
Modus heraus zu bestätigen:
-
Melden Sie sich beim Gerät an und geben Sie
commit
ein.[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
commit
Befehl mit derpriority
Option ab.[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
commit
Befehl mit deratomic
Option ab.[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
commit
Befehl mit deratomic priority
Option ab.[edit batch]
user@R0#commit atomic priority
Added to commit queue request-id: 1003
Verifizierung
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.
Action!
user@R0> show system commit server
Commit server status : Not running
Standardmäßig ist Not running
der Status des Commit-Servers . 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 Jobs in process
Feld listet die Commit-IDs von Aufträgen auf, die in Bearbeitung sind.
Überprüfen des Batch-Commit-Status
Zweck
Überprüfen Sie die Commit-Serverwarteschlange auf den Status der Batch-Commits.
Action!
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
Pending commits
Zeigt Commit-Aufträge an, die der Commit-Warteschlange hinzugefügt, aber noch nicht festgeschrieben wurden. Completed commits
Zeigt die Liste der Commit-Aufträge an, die erfolgreich waren. Error commits
sind Commits, die aufgrund eines Fehlers fehlgeschlagen sind.
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.
Action!
-
Verwenden Sie den
show system commit server queue patch
Befehl, um die Patches für alle Commit-Vorgänge anzuzeigen.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
show system commit server queue patch id <id-number>
Befehl ein.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.
Action!
-
Verwenden Sie den
file show /var/log/<filename>
Befehl, um alle Einträge in der Protokolldatei anzuzeigen.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
file show /var/log/<filename>
Befehl mit der| match committed
Option pipe ab.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
file show /var/log/<filename>
Befehl mit der| match “Error while”
Option pipe ab.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
file show /var/log/<filename>
Befehl mit der| match “commit server”
Option pipe ab.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 request system snapshot
Befehl zum Sichern der neuen Software im /altconfig
Dateisystem ausführen. Wenn Sie den request system snapshot
Befehl nicht ausführen, ist die Konfiguration auf dem alternativen Startlaufwerk nicht synchron mit der Konfiguration auf dem primären Startlaufwerk.
Der request system snapshot
Befehl sichert das Root-Dateisystem nach /altroot
und /config
nach /altconfig
. Das Root- und /config
Dateisystem befindet sich auf dem Flash-Laufwerk des Routers und das /altroot
Dateisystem und /altconfig
auf der Festplatte des Routers (falls verfügbar).
Nachdem Sie den request system snapshot
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.