清單的起源可以追溯到1935年,當(dāng)時(shí)陸軍航空隊(duì)在測試B-17飛行。測試飛機(jī)的飛行控制表面被鎖定,以防止它們停在地面上時(shí)隨風(fēng)飄揚(yáng)。飛行員在起飛前忘記解鎖,結(jié)果是墜毀,造成兩名機(jī)組人員死亡。墜機(jī)后的分析發(fā)現(xiàn),飛行員無法回憶起安全駕駛飛機(jī)所需的所有步驟。這場悲劇引發(fā)了飛行前檢查清單的創(chuàng)建,而B-17最終針對(duì)特定飛行階段有四個(gè)不同的檢查清單。
將清單應(yīng)用于網(wǎng)絡(luò)
確定清單適用于網(wǎng)絡(luò)的區(qū)域并不難。面臨的挑戰(zhàn)來自花時(shí)間創(chuàng)建和維護(hù)這些列表,更改流程以合并它們以及定期使用它們來驗(yàn)證每個(gè)項(xiàng)目要解決的條件。
自動(dòng)化使應(yīng)用清單變得容易。全面的網(wǎng)絡(luò)清單中的詳細(xì)信息量使它們無法在包含多個(gè)設(shè)備的網(wǎng)絡(luò)上手動(dòng)實(shí)現(xiàn)。因?yàn)楸苊饬巳藶殄e(cuò)誤,所以我們可以對(duì)所有設(shè)備上的所有檢查表項(xiàng)目進(jìn)行一致的驗(yàn)證。
讓我們看一些例子,從簡單到復(fù)雜。然后,我們將學(xué)習(xí)如何通過支持網(wǎng)絡(luò)自動(dòng)化的方式來組織它們。執(zhí)行檢查的確切機(jī)制取決于我們選擇的自動(dòng)化系統(tǒng)。
簡單檢查
簡單檢查可用于驗(yàn)證基本網(wǎng)絡(luò)設(shè)備配置是否正確以及所需功能是否按預(yù)期運(yùn)行。當(dāng)單個(gè)清單項(xiàng)適用于許多設(shè)備時(shí),它們很簡單。
例如,驗(yàn)證Cisco路由器網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)配置以及路由器是否能夠聯(lián)系其服務(wù)器。附加檢查將確認(rèn)路由器已與其中一臺(tái)服務(wù)器同步。以下是從網(wǎng)絡(luò)獲取的應(yīng)執(zhí)行的檢查數(shù)據(jù)的示例。
- 檢查是否正確配置了NTP對(duì)等方,并且硬件時(shí)鐘應(yīng)與軟件時(shí)鐘同步:
ntp server 10.50.38.42
ntp update-calendar
- 驗(yàn)證NTP對(duì)等關(guān)系是否正常工作:
router#show ntp association
address ref clock st when poll reach delay offset disp
+~10.50.38.42 86.79.127.250 4 7 256 377 0.8 -0.29 0.2
*~10.50.36.42 86.79.127.250 4 188 256 377 0.7 -0.17 0.3
* master (synced), # master (unsynced), + selected, - candidate, ~ configured
要執(zhí)行三項(xiàng)檢查:
- 已配置兩個(gè)NTP服務(wù)器(沒有其他服務(wù)器)
- update-calendar命令已配置
- show ntp association的輸出顯示兩個(gè)服務(wù)器都處于活動(dòng)狀態(tài),并且已選擇其中一個(gè)作為NTP主服務(wù)器。這兩個(gè)地址應(yīng)與配置中的地址相同。
至少每當(dāng)配置更改時(shí),才應(yīng)進(jìn)行前兩由于網(wǎng)絡(luò)問題或服務(wù)器故障而不可用。應(yīng)該定期檢查一次,以主動(dòng)發(fā)現(xiàn)問題,也許每幾天檢個(gè)檢查。最后檢查確保服務(wù)器關(guān)聯(lián)仍處于活動(dòng)狀態(tài),以便我們可以檢測到NTP主服務(wù)器何時(shí)查一次。并且由于配置中的地址與show ntp association命令輸出中的地址相同,因此我們只需要在一個(gè)地方指定它們,然后讓自動(dòng)化系統(tǒng)執(zhí)行這兩項(xiàng)檢查即可。
中等復(fù)雜程度的檢查
當(dāng)清單項(xiàng)對(duì)于一小組設(shè)備或每個(gè)網(wǎng)絡(luò)設(shè)備唯一時(shí),復(fù)雜性就會(huì)提高。這僅僅是驅(qū)動(dòng)復(fù)雜性的項(xiàng)目數(shù)量。我們可以使用自動(dòng)化任務(wù)從網(wǎng)絡(luò)中填充清單數(shù)據(jù)庫,但這假設(shè)捕獲數(shù)據(jù)時(shí)功能正常運(yùn)行。最好驗(yàn)證從網(wǎng)絡(luò)獲取的所有數(shù)據(jù)。
此類別中的一個(gè)示例是EtherChannel連接。配置和操作數(shù)據(jù)均應(yīng)進(jìn)行驗(yàn)證。
- 配置:
interface range gigabitethernet1/0/1 -2
switchport mode access
switchport access vlan 10
channel-group 1 mode active
- 運(yùn)行數(shù)據(jù)顯示端口通道中的兩個(gè)接口,該端口通道是為第2層靜態(tài)配置的并且正在使用中(命令輸出中名稱Po1后面的SU標(biāo)志)。
Switch> show etherchannel 1 summary
Flags: D - down P - in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
u - unsuitable for bundling
U - in use f - failed to allocate aggregator
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+----------------------------------------
1 Po1(SU) LACP Gi1/0/1(P) Gi1/0/2(P)
其他示例包括驗(yàn)證路由鄰居,重要路由(即默認(rèn)路由)的下一跳路由器以及與關(guān)鍵應(yīng)用程序服務(wù)器的連接。這些項(xiàng)目可以檢測到網(wǎng)絡(luò)中的意外異常和故障,這些異常和故障通常被冗余設(shè)計(jì)隱藏。
復(fù)雜檢查
諸如此類的復(fù)雜檢查涉及詳細(xì)的配置和操作,經(jīng)常在多個(gè)設(shè)備之間進(jìn)行。例如,我們可以通過使用鏈路層發(fā)現(xiàn)協(xié)議來擴(kuò)展EtherChannel驗(yàn)證,以確保連接了正確的設(shè)備和端口。在鏈路層情況下,我們可以通過收集和關(guān)聯(lián)來自兩個(gè)設(shè)備的CDP數(shù)據(jù)來驗(yàn)證Cisco路由器和交換機(jī)是否通過同一鏈路連接。
清單數(shù)據(jù)庫:真相的網(wǎng)絡(luò)來源(NSoT)
清單放在哪里?在稱為“網(wǎng)絡(luò)真相網(wǎng)絡(luò)”(NSoT)的存儲(chǔ)庫中,它實(shí)際上是網(wǎng)絡(luò)清單的數(shù)據(jù)庫。NSoT是網(wǎng)絡(luò)連接和操作的定義。我們不能依靠網(wǎng)絡(luò)本身來定義,因?yàn)楣收希ㄔO(shè)備,鏈接或人為故障)會(huì)使我們從網(wǎng)絡(luò)中收集的數(shù)據(jù)無效。
即使使用了數(shù)據(jù)庫一詞,它通常也不是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。相反,它是多個(gè)文件的集合,用于定義必須檢查的數(shù)據(jù)。例如,在Ansible平臺(tái)中,我們可以在適用于所有設(shè)備的all.yml文件中擁有NTP服務(wù)器地址,而特定設(shè)備(test_sw)的OS版本數(shù)據(jù)(IOS_version)則位于該文件的單獨(dú)文件中設(shè)備。
圖片:作者
整個(gè)過程的妙處在于,我們無需100%完成NSoT就可以開始。我們可以從一堆易于創(chuàng)建的簡單檢查開始。然后隨著時(shí)間的推移添加更多詳細(xì)的檢查。主要因素是開始建立列表。
測試驅(qū)動(dòng)的網(wǎng)絡(luò)自動(dòng)化
一旦我們有了網(wǎng)絡(luò)真相源,就可以將自動(dòng)測試納入運(yùn)營流程。接下來,更改網(wǎng)絡(luò)更改控制過程以包括更改前和更改后測試。隨著NsoT的增長,在進(jìn)行更改之前和實(shí)施更改之后,將驗(yàn)證網(wǎng)絡(luò)的更多部分是否已配置并且可以正常工作。這樣可以確保所做的更改不會(huì)破壞網(wǎng)絡(luò)。
讓我們用上面的NTP示例來看一下如何工作,以演示添加另一個(gè)NTP服務(wù)器。更改前檢查將驗(yàn)證當(dāng)前所有網(wǎng)絡(luò)設(shè)備都可以連接到兩臺(tái)服務(wù)器。然后,我們將運(yùn)行自動(dòng)化功能,以更新所有網(wǎng)絡(luò)設(shè)備的配置以包括第三臺(tái)服務(wù)器。更改后的驗(yàn)證檢查將驗(yàn)證所有設(shè)備都已連接到第三臺(tái)服務(wù)器。
調(diào)查可能無法連接到第三臺(tái)服務(wù)器的所有設(shè)備,以確定原因(可能是由于防火墻規(guī)則或路由丟失所致)。我們將立即知道,即使已正確實(shí)施更改,但某些設(shè)備仍無法操作,我們可以采取措施進(jìn)行糾正。定期使用這些相同的檢查,使我們能夠確定由于網(wǎng)絡(luò)的其他更改而導(dǎo)致類似問題何時(shí)發(fā)生,例如添加阻止NTP的防火墻或虛擬路由和轉(zhuǎn)發(fā)(VRF)定義繁瑣的接口。
清單與自動(dòng)網(wǎng)絡(luò)測試的結(jié)合有助于我們改善網(wǎng)絡(luò)并以較低的風(fēng)險(xiǎn)進(jìn)行更改。與我一起參加2020年企業(yè)連接數(shù)字會(huì)議和博覽會(huì),了解如何開始使用網(wǎng)絡(luò)自動(dòng)化。
聲明:版權(quán)所有 非合作媒體謝絕轉(zhuǎn)載
作者:特里·斯萊特里(Terry Slattery)
原文網(wǎng)址:
https://www.nojitter.com/ai-automation/use-checklists-strengthen-networks