CLI berbasis transaksi pada Ethernet Switches

10

Saya kenal dengan CLI pada switch Ethernet yang dikelola. Namun, baru-baru ini saya menemukan istilah 'CLI berbasis transaksi' pada sakelar. Saya tidak begitu yakin apa itu dan tujuan memilikinya di switch. Apakah ini mirip dengan transaksi basis data di mana Anda dapat membuka gulungan seluruh perintah sebelum melakukannya?

Edit:

Seperti yang diminta:

Lembar Data RX5000

Transaksi pos pemeriksaan CLI

sederhana
sumber
Apakah ada jawaban yang membantu Anda? jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda bisa memberikan dan menerima jawaban Anda sendiri.
Ron Maupin

Jawaban:

10

Saya kenal dengan CLI pada switch Ethernet yang dikelola. Namun, baru-baru ini saya menemukan istilah 'CLI berbasis transaksi' pada sakelar. Saya tidak begitu yakin apa itu dan tujuan memilikinya di switch. Apakah ini mirip dengan transaksi basis data di mana Anda dapat membuka gulungan seluruh perintah sebelum melakukannya?

  • The RX5000 berbicara dari kemampuan untuk perubahan revert secara bertahap, seperti Anda dapat dalam database.
  • The Checkpoint menghubungkan Anda sebutkan menyinggung untuk hal yang sama, tetapi mereka menentukan bahwa perintah konfigurasi diskrit dapat dikelompokkan bersama-sama menjadi satu "komit" tindakan.

Transaksi Cisco CLI dengan arsip config, dan rollback

Kemampuan ini sangat mirip dengan apa yang Anda temukan di tempat lain dalam industri ... misalnya pada router Cisco, Anda dapat melakukan perubahan dalam transaksi yang dapat dibalik, jika Anda telah archivemengaktifkan konfigurasi berjalan 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#

Tidak ada Loopback100 yang dikonfigurasi saat ini ...

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

SW1#

Contoh transaksi CLI mengkonfigurasi dan mengkonfirmasi

Mari kita konfigurasikan Loopback100dengan timer rollback 10 menit, lihat perubahan kita sejak snapshot konfigurasi, konfirmasikan perubahan, lalu putar kembali. Jika waktu rollback kedaluwarsa tanpa mengonfirmasi konfigurasi, itu akan secara otomatis kembali ke yang terakhir config archive(yang juga terjadi saat Anda melakukan config terminal revert).

Transaksi-transaksi ini sangat berharga, karena jika Anda benar-benar membengkokkan konfigurasi router Anda ke titik yang tidak dapat dijangkau, maka secara otomatis akan kembali ke snapshot yang Anda simpan ... juga membantu jika Anda dapat mengelola router tetapi perlu mengembalikannya ke barang yang dikenal baik. konfigurasi terburu-buru.

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#

Kita dapat melihat bahwa Looback100 ada ...

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#

Kita bisa melihat diffs diperlukan untuk rollback ke konfigurasi arsip terakhir ...

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#

Sekarang kita dapat mengkonfirmasi komit ... ini berarti kita tidak secara otomatis mengembalikan jika timer 10 menit berakhir.

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 Transaksi CLI

Misalkan kita menemukan masalah setelah config confirm. Mari kembalikan ke konfigurasi lama yang kami arsipkan ...

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#

Sekarang Loopback100 tidak ada dalam konfigurasi yang sedang berjalan. Konfigurasi persis seperti ketika kami mengambil foto pertama kami.

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

SW1#

Ketika kemunduran terjadi, konfigurasi dikunci dari aktivitas konfigurasi lainnya. Jika ada bug, atau kejadian yang tidak terduga, sebaiknya ada configuration mode exclusive auto expire [timeout-in-seconds]di konfigurasi Anda saat menggunakan fitur ini. Saya suka nilai batas waktu maks 600 detik ... ini berarti waktu maksimum konfigurasi dapat dikunci adalah 10 menit.

Catatan sejarah

Awalnya, Juniper adalah vendor besar pertama yang menggunakan fitur config rollback. Saya bekerja untuk Cisco pada saat itu, dan akun penjualan kami berteriak-teriak untuk fitur ini di Cisco IOS. Saya masih ingat peraturan internal dari pemain-pemain penting di perusahaan, yang mengatakan "tidak mungkin di Cisco IOS".

Tentu saja, dengan ketekunan yang cukup (dan beberapa tahun di tengah) kita memilikinya di iOS ... intinya adalah, jangan menganggap yang pertama "tidak, kita tidak bisa melakukan itu" benar-benar benar.

Mike Pennington
sumber
Terima kasih untuk contohnya. Satu hal yang tidak jelas bagi saya ... Apakah perubahan (dalam hal ini loopback) segera diaktifkan segera setelah Anda mengetik perintah atau apakah mereka diaktifkan setelah Anda mengkonfirmasi transaksi (konfirmasikan konfirmasi).
sederhana
@ Modest, Cisco segera menerapkan perintah; ketika Anda melakukan config confirm, Anda hanya memberi tahu router bahwa Anda tidak ingin mengembalikan perubahan itu secara otomatis. Tentu saja, sangat mungkin untuk melakukan perubahan tanpa pengembalian waktu. Apa pun itu, perintahnya langsung aktif.
Mike Pennington
1

Asumsi Anda benar. Dalam kedua kasus ini, Anda dapat mengembalikan perintah konfigurasi ke titik yang diketahui jika tidak berfungsi seperti yang diharapkan.

Ron Trunk
sumber
Dimengerti Namun, Anda dapat mencapai efek dengan hanya memuat file konfigurasi sebelumnya (dengan asumsi Anda menyimpannya sebelum Anda mulai membuat perubahan) jika terjadi hal-hal buruk. Apakah saya melewatkan sesuatu di sini?
sederhana
@modest Memuat ulang konfigurasi sebelumnya tidak akan menghapus perintah yang memerlukan "no <cmd>". Misalnya, jika Anda menerapkan daftar akses ke antarmuka dengan perintah "ip access-group 100 in" dan kemudian ketik "copy start run" untuk memuat ulang konfigurasi, itu tidak akan menghapus daftar akses.
Ron Trunk
Hal lain yang dilakukan fitur ini (setidaknya pada Cisco dan Juniper) adalah memungkinkan Anda untuk mengatur timer rollback. Ketika penghitung waktu berakhir, konfigurasi akan mundur dengan sendirinya. Ini berguna jika Anda telah membuat beberapa perubahan yang menyebabkan Anda kehilangan komektivitas perangkat. Bukannya aku pernah melakukan itu :(
Ron Trunk