Tôi quen thuộc với CLI trên các thiết bị chuyển mạch Ethernet được quản lý. Tuy nhiên, gần đây tôi đã bắt gặp một thuật ngữ 'CLI dựa trên giao dịch' trên các thiết bị chuyển mạch. Tôi không chắc chắn chính xác đó là gì và mục đích của việc có nó trong thiết bị chuyển mạch. Nó có giống với các giao dịch cơ sở dữ liệu nơi bạn có thể hủy đăng ký toàn bộ các lệnh trước khi thực hiện chúng không?
- Các RX5000 đang nói về khả năng thay đổi Revert từng bước, như bạn có thể trong một cơ sở dữ liệu.
- Các Checkpoint liên kết mà bạn đề cập ám chỉ điều tương tự, nhưng họ xác định rằng các lệnh cấu hình rời rạc có thể được nhóm lại với nhau thành một "cam kết" hành động.
Cisco CLI giao dịch với lưu trữ cấu hình và khôi phục
Các khả năng này rất giống với những gì bạn tìm thấy ở nơi khác trong ngành ... ví dụ trên bộ định tuyến của Cisco, bạn có thể cam kết thay đổi trong các giao dịch có thể đảo ngược, nếu bạn đã archive
bật cấu hình đang chạy của 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#
Hiện tại không có Loopback100 được cấu hình ...
SW1#sh runn int lo100
^
% Invalid input detected at '^' marker.
SW1#
Ví dụ cấu hình giao dịch CLI và xác nhận
Hãy cấu hình Loopback100
với bộ đếm thời gian khôi phục 10 phút, xem xét các thay đổi của chúng tôi kể từ ảnh chụp nhanh cấu hình, xác nhận các thay đổi và sau đó cuộn lại. Nếu bộ đếm thời gian rollback hết hạn mà không xác nhận cấu hình, nó sẽ tự động trở lại lần cuối cùng của chúng tôi config archive
(điều này cũng xảy ra khi bạn thực hiện config terminal revert
).
Các giao dịch này rất có giá trị, bởi vì nếu bạn hoàn toàn cấu hình bộ định tuyến của mình đến mức không thể truy cập được, nó sẽ tự động quay trở lại ảnh chụp nhanh đã lưu của bạn ... điều đó cũng có ích nếu bạn có thể quản lý bộ định tuyến nhưng cần quay ngược lại với mục đích đã biết cấu hình vội vàng.
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#
Chúng ta có thể thấy rằng Looback100 tồn tại ...
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#
Chúng ta có thể thấy các khác biệt cần thiết để quay trở lại kho lưu trữ cấu hình cuối cùng ...
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#
Bây giờ chúng tôi có thể xác nhận cam kết ... điều này có nghĩa là chúng tôi không tự động quay lại nếu hết giờ 10 phút.
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#
Phục hồi giao dịch CLI
Giả sử chúng ta tìm thấy một vấn đề sau config confirm
. Hãy quay trở lại cấu hình cũ mà chúng tôi đã lưu trữ ...
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#
Bây giờ Loopback100 không tồn tại trong cấu hình đang chạy. Cấu hình chính xác như khi chúng tôi chụp ảnh đầu tiên.
SW1#sh runn int lo100
^
% Invalid input detected at '^' marker.
SW1#
Khi khôi phục xảy ra, cấu hình bị khóa khỏi mọi hoạt động cấu hình khác. Trong trường hợp có lỗi, hoặc một số sự kiện không thể đoán trước, configuration mode exclusive auto expire [timeout-in-seconds]
bạn nên có cấu hình của mình khi sử dụng tính năng này. Tôi thích giá trị thời gian chờ tối đa là 600 giây ... điều này có nghĩa là thời gian tối đa mà cấu hình có thể bị khóa là 10 phút.
Ghi chú lịch sử
Ban đầu, Juniper là nhà cung cấp lớn đầu tiên triển khai các tính năng rollback cấu hình. Tôi đã làm việc cho Cisco vào thời điểm đó và các tài khoản bán hàng của chúng tôi đã hét lên về tính năng này trong Cisco IOS. Tôi vẫn còn nhớ các sắc lệnh nội bộ từ những người chơi quan trọng trong công ty, người đã nói rằng "không thể có trong Cisco IOS".
Tất nhiên, với đủ kiên trì (và một vài năm ở giữa), chúng tôi có nó trong iOS ... vấn đề là, đừng cho rằng "không, chúng tôi không thể làm điều đó" thực sự là chính xác.