CLI basata su transazioni su switch Ethernet


10

Conosco CLI su switch Ethernet gestiti. Tuttavia, recentemente mi sono imbattuto in un termine "CLI basato sulle transazioni" sugli switch. Non sono esattamente sicuro di cosa sia questo e lo scopo di averlo negli switch. È simile alle transazioni del database in cui è possibile srotolare gli interi comandi prima di eseguirli?

Modificare:

Come richiesto:

Scheda tecnica RX5000

Transazioni CLI checkpoint


Qualche risposta ti è stata d'aiuto? in tal caso, dovresti accettare la risposta in modo che la domanda non continui a comparire per sempre, cercando una risposta. In alternativa, potresti fornire e accettare la tua risposta.
Ron Maupin

Risposte:


10

Conosco CLI su switch Ethernet gestiti. Tuttavia, recentemente mi sono imbattuto in un termine "CLI basato sulle transazioni" sugli switch. Non sono esattamente sicuro di cosa sia questo e lo scopo di averlo negli switch. È simile alle transazioni del database in cui è possibile srotolare gli interi comandi prima di eseguirli?

  • Il RX5000 sta parlando della possibilità di cambiamenti Revert in modo incrementale, come è possibile in un database.
  • Il link Checkpoint che hai citato allude alla stessa cosa, ma specifica che i comandi di configurazione discreti possono essere raggruppati in un'unica azione "commit".

Transazioni CLI Cisco con archivio di configurazione e rollback

Queste funzionalità sono molto simili a quelle che si trovano altrove nel settore ... ad esempio su un router Cisco, è possibile eseguire modifiche nelle transazioni reversibili, se sono state archiveabilitate nella configurazione in esecuzione di Cisco.

SW1#sh runn | b archive
archive
 path bootflash:$h_config
!
SW1#term exec prompt time
SW1#archive config

SW1#dir bootflash:
Directory of bootflash:/

   21  -rw-       52770   Nov 3 2013 12:48:04 -06:00  SW1_config-Nov--3-12-48-02-CST-1
   20  -rw-       52770   Nov 3 2013 12:45:02 -06:00  SW1_config-Nov--3-12-45-00-CST-0
   22  -rw-       52762   Nov 3 2013 12:52:22 -06:00  SW1_config-Nov--3-12-52-20-CST-0
   23  -rw-       52762   Nov 3 2013 14:38:44 -06:00  SW1_config-Nov--3-14-38-41-CST-1
   26  -rw-       66622  Jan 31 2014 13:17:46 -06:00  SW1_configJan-31-13-17-42-CST-2  <---

131436544 bytes total (95956992 bytes free)
SW1#

Non esiste un Loopback100 configurato in questo momento ...

SW1#sh runn int lo100
                  ^
% Invalid input detected at '^' marker.

SW1#

Esempio di transazione CLI configurare e confermare

Configuriamo Loopback100con un timer di rollback di 10 minuti, esaminiamo le nostre modifiche dall'istantanea di configurazione, confermiamo le modifiche e quindi eseguiamo il rollback. Se il timer di rollback scade senza confermare la configurazione, tornerà automaticamente al nostro ultimo config archive(che si verifica anche quando si esegue config terminal revert).

Queste transazioni sono preziose, perché se si configura completamente la configurazione del router al punto da renderla irraggiungibile, tornerà automaticamente all'istantanea salvata ... aiuta anche se è possibile gestire il router ma è necessario ripristinare un valore noto config in fretta.

SW1#configure terminal revert timer 10
Rollback Confirmed Change: Backing up current running config 
 to bootflash:SW1_configJan-31-13-20-21-CST-3

Enter configuration commands, one per line.  End with CNTL/Z.
SW1(config)#
SW1(config)#int loopback 100
SW1(config-if)#ip address 1.2.3.4 255.255.255.255
SW1(config-if)#end
SW1#

Possiamo vedere che Looback100 esiste ...

SW1#sh runn int lo100
Load for five secs: 28%/0%; one minute: 24%; five minutes: 24%
Time source is NTP, 13:21:25.243 CST Fri Jan 31 2014

Building configuration...

Current configuration : 65 bytes
!
interface Loopback100
 ip address 1.2.3.4 255.255.255.255
end

SW1#

Possiamo vedere le differenze richieste per il rollback all'ultimo archivio di configurazione ...

SW1#sh archive config differences bootflash:SW1_configJan-31-13-17-42-CST-2
Load for five secs: 17%/0%; one minute: 24%; five minutes: 23%
Time source is NTP, 13:25:55.832 CST Fri Jan 31 2014
!
!Contextual Config Diffs:
-interface Loopback100
 -ip address 1.2.3.4 255.255.255.255

SW1#

Ora possiamo confermare il commit ... questo significa che non eseguiamo automaticamente il rollback se scade il timer di 10 minuti.

SW1#configure confirm
SW1#sh runn int loo100
Load for five secs: 25%/0%; one minute: 25%; five minutes: 24%
Time source is NTP, 13:30:17.269 CST Fri Jan 31 2014

Building configuration...

Current configuration : 65 bytes
!
interface Loopback100
 ip address 1.2.3.4 255.255.255.255
end

SW1#

Rollback della transazione CLI

Supponiamo di trovare un problema dopo config confirm. Torniamo alla vecchia configurazione che abbiamo archiviato ...

SW1#configure replace bootflash:SW1_configJan-31-13-17-42-CST-2
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: yes
Total number of passes: 1
Rollback Done

SW1#

Ora Loopback100 non esiste nella configurazione in esecuzione. La configurazione è esattamente come quando abbiamo scattato la nostra prima istantanea.

SW1#sh runn int lo100
                  ^
% Invalid input detected at '^' marker.

SW1#

Quando si verifica un rollback, la configurazione viene bloccata da qualsiasi altra attività di configurazione. In caso di un bug o di un evento imprevedibile è una buona idea avere configuration mode exclusive auto expire [timeout-in-seconds]nella propria configurazione quando si utilizza questa funzione. Mi piace il valore di timeout massimo di 600 secondi ... ciò significa che il tempo massimo di blocco della configurazione è di 10 minuti.

Nota storica

Originariamente, Juniper è stato il primo fornitore principale a implementare funzionalità di rollback di configurazione. All'epoca lavoravo per Cisco e i nostri account di vendita urlavano per questa funzione in Cisco IOS. Ricordo ancora gli editti interni di importanti attori dell'azienda, che dicevano "è impossibile in Cisco IOS".

Certo, con abbastanza persistenza (e un paio d'anni nel mezzo) ce l'abbiamo in IOS ... il punto è, non dare per scontato che il primo "no, non possiamo farlo" sia davvero corretto.


Grazie per l'esempio Una cosa non era chiara per me ... Le modifiche (in questo caso il loopback) vengono attivate immediatamente non appena si digitano i comandi o vengono attivate una volta confermate le transazioni (configurazione conferma).
modesto

@modest, Cisco applica immediatamente i comandi; quando lo fai config confirm, stai solo dicendo al router che non vuoi ripristinare automaticamente tali modifiche. Naturalmente, è del tutto possibile apportare modifiche senza rollback temporizzato. In entrambi i casi, i comandi sono immediatamente attivi.
Mike Pennington,

1

Il tuo presupposto è corretto. In entrambi questi casi, è possibile ripristinare i comandi di configurazione su un punto noto se non funzionano come previsto.


Inteso. Tuttavia, puoi ottenere l'effetto semplicemente caricando il file di configurazione precedente (supponendo che lo salvi prima di iniziare a apportare modifiche) nel caso in cui le cose vadano male. Mi sto perdendo qualcosa qui?
modesto

@modest Il ricaricamento della configurazione precedente non rimuoverà i comandi che richiedono "no <cmd>". Ad esempio, se si applica un elenco di accesso a un'interfaccia con il comando "ip access-group 100 in" e quindi si digita "copy start run" per ricaricare la configurazione, ciò non rimuoverà l'elenco di accesso.
Ron Trunk,

L'altra cosa che questa funzionalità (almeno su Cisco e Juniper) ti consente di impostare un timer di rollback. Alla scadenza del timer, la configurazione tornerà da sola. Questo è utile se hai apportato alcune modifiche che ti fanno perdere la connettività al dispositivo. Non che io l'abbia mai fatto :(
Ron Trunk il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.