CLI на транзакції на Ethernet комутаторах


10

Я знайомий з CLI на керованих комутаторах Ethernet. Однак нещодавно я натрапив на термін "CLI на транзакції" на комутаторах. Я не точно впевнений, що це і мета, щоб це було в комутаторах. Це схоже на транзакції з базами даних, де ви можете розгортати цілі команди, перш ніж виконувати їх?

Редагувати:

Як вимагалось:

Лист даних RX5000

Угоди CLI транзакцій


Чи допомогла вам якась відповідь? якщо так, то слід прийняти відповідь, щоб питання не з’являлося вічно, шукаючи відповідь. Крім того, ви можете надати та прийняти власну відповідь.
Рон Моупін

Відповіді:


10

Я знайомий з CLI на керованих комутаторах Ethernet. Однак нещодавно я натрапив на термін "CLI на транзакції" на комутаторах. Я не точно впевнений, що це і мета, щоб це було в комутаторах. Це схоже на транзакції з базами даних, де ви можете розгортати цілі команди, перш ніж виконувати їх?

  • Rx5000 говорить про здатність до змін повертаються в покроково, як ви можете в базі даних.
  • Посилання Checkpoint, яке ви згадали, натякає на одне і те ж, але вони вказують, що окремі команди конфігурації можуть бути об'єднані в одну дію "фіксація".

Транзакції Cisco CLI з архівом конфігурації та відкатом

Ці можливості дуже схожі на те, що ви знаходите в інших галузях промисловості ... наприклад, на маршрутизаторі Cisco ви можете вносити зміни в оборотні транзакції, якщо ви archiveввімкнули конфігурацію 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#

Зараз не налаштовано Loopback100 ...

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

SW1#

Приклад налаштування та підтвердження транзакцій CLI

Давайте налаштуємося Loopback100за допомогою 10-хвилинного таймера відкату, подивимось на зміни, які відбулися з моменту знімка конфігурації, підтвердимо зміни та повернемося назад. Якщо таймер відкату закінчиться без підтвердження конфігурації, він автоматично повернеться до нашого останнього config archive(що також відбувається під час виконання config terminal revert).

Ці транзакції є цінними, тому що якщо ви повністю шлангуєте конфігурацію вашого маршрутизатора до того, що він недоступний, він автоматично повернеться до збереженого знімка ... Це також допоможе, якщо ви можете керувати маршрутизатором, але вам потрібно відкатати до відомого товару конфігурація поспішає.

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#

Ми можемо бачити, що Looback100 існує ...

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#

Ми можемо побачити різниці, необхідні для відкату до останнього архіву конфігурації ...

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#

Тепер ми можемо підтвердити зобов’язання ... це означає, що ми не відмовляємось автоматично, якщо закінчується 10-хвилинний таймер.

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#

Відкат транзакцій CLI

Припустимо, ми знайдемо проблему після config confirm. Давайте повернемося до старої конфігурації, яку ми архівували ...

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#

Тепер Loopback100 не існує в запущеній конфігурації. Конфігурація саме така, якою вона була, коли ми зробили перший знімок.

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

SW1#

Коли відбувається відкат, конфігурація блокується від будь-якої іншої діяльності конфігурації. У випадку помилки чи іншої непередбачуваної події, корисно мати configuration mode exclusive auto expire [timeout-in-seconds]цю конфігурацію під час використання цієї функції. Мені подобається максимальне значення тайм-ауту 600 секунд ... це означає, що максимальний час блокування конфігурації - 10 хвилин.

Історична записка

Спочатку Juniper був першим головним постачальником, який розгорнув функції відкату конфігурації. У той час я працював у Cisco, і наші рахунки продажів кричали за цю функцію в Cisco IOS. Я все ще пам’ятаю внутрішні редакції значних гравців компанії, які сказали, що «в Cisco IOS це неможливо».

Звичайно, з достатньою наполегливістю (і через пару років у середині) у нас це є в IOS ... справа в тому, що не вважайте, що перше "ні, ми не можемо цього зробити" дійсно правильно.


Дякую за приклад. Одне мені було не зрозуміло ... Чи змінюються зміни (у цьому випадку зворотна петля) негайно, як тільки ви вводите команди, чи вони активуються після підтвердження транзакцій (конфігурація підтверджується).
скромний

@modest, Cisco негайно застосовує команди; коли ви це робите config confirm, ви просто говорите маршрутизатору, що не хочете автоматично відміняти ці зміни. Звичайно, цілком можливо вносити зміни без приуроченого відката. У будь-якому випадку команди негайно активні.
Майк Пеннінгтон

1

Ваше припущення правильне. В обох цих випадках ви можете відмовити команди конфігурації до відомої точки, якщо вони не працюють, як очікувалося.


Зрозумів. Однак ви можете досягти ефекту, просто завантаживши попередній файл конфігурації (припускаючи, що ви збережете його перед тим, як почати вносити зміни) у випадку, якщо все піде не так. Я щось тут пропускаю?
скромний

@modest Перезавантаження попередньої конфігурації не видалить команди, для яких потрібно "ні <cmd>". Наприклад, якщо ви застосуєте список доступу до інтерфейсу з командою "ip access-group 100 in", а потім наберіть "copy start start run", щоб перезавантажити конфігурацію, цей список доступу не буде видалений.
Рон Трунк

Інша річ, яку ця функція робить (принаймні, для Cisco та Juniper) - це встановити таймер відкату. Коли таймер закінчиться, конфігурація відкатується сама по собі. Це корисно, якщо ви внесли якісь зміни, які призведуть до втрати комунікабельності пристрою. Не те, що я коли-небудь робив так :(
Рон Трунк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.