清單的起源可以追溯到1935年,當時(shí)陸軍航空隊在測試B-17飛行。測試飛機的飛行控制表面被鎖定,以防止它們停在地面上時(shí)隨風(fēng)飄揚。飛行員在起飛前忘記解鎖,結果是墜毀,造成兩名機組人員死亡。墜機后的分析發(fā)現,飛行員無(wú)法回憶起安全駕駛飛機所需的所有步驟。這場(chǎng)悲劇引發(fā)了飛行前檢查清單的創(chuàng )建,而B(niǎo)-17最終針對特定飛行階段有四個(gè)不同的檢查清單。
將清單應用于網(wǎng)絡(luò )
確定清單適用于網(wǎng)絡(luò )的區域并不難。面臨的挑戰來(lái)自花時(shí)間創(chuàng )建和維護這些列表,更改流程以合并它們以及定期使用它們來(lái)驗證每個(gè)項目要解決的條件。
自動(dòng)化使應用清單變得容易。全面的網(wǎng)絡(luò )清單中的詳細信息量使它們無(wú)法在包含多個(gè)設備的網(wǎng)絡(luò )上手動(dòng)實(shí)現。因為避免了人為錯誤,所以我們可以對所有設備上的所有檢查表項目進(jìn)行一致的驗證。
讓我們看一些例子,從簡(jiǎn)單到復雜。然后,我們將學(xué)習如何通過(guò)支持網(wǎng)絡(luò )自動(dòng)化的方式來(lái)組織它們。執行檢查的確切機制取決于我們選擇的自動(dòng)化系統。
簡(jiǎn)單檢查
簡(jiǎn)單檢查可用于驗證基本網(wǎng)絡(luò )設備配置是否正確以及所需功能是否按預期運行。當單個(gè)清單項適用于許多設備時(shí),它們很簡(jiǎn)單。
例如,驗證Cisco路由器網(wǎng)絡(luò )時(shí)間協(xié)議(NTP)配置以及路由器是否能夠聯(lián)系其服務(wù)器。附加檢查將確認路由器已與其中一臺服務(wù)器同步。以下是從網(wǎng)絡(luò )獲取的應執行的檢查數據的示例。
- 檢查是否正確配置了NTP對等方,并且硬件時(shí)鐘應與軟件時(shí)鐘同步:
ntp server 10.50.38.42
ntp update-calendar
- 驗證NTP對等關(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
要執行三項檢查:
- 已配置兩個(gè)NTP服務(wù)器(沒(méi)有其他服務(wù)器)
- update-calendar命令已配置
- show ntp association的輸出顯示兩個(gè)服務(wù)器都處于活動(dòng)狀態(tài),并且已選擇其中一個(gè)作為NTP主服務(wù)器。這兩個(gè)地址應與配置中的地址相同。
至少每當配置更改時(shí),才應進(jìn)行前兩由于網(wǎng)絡(luò )問(wèn)題或服務(wù)器故障而不可用。應該定期檢查一次,以主動(dòng)發(fā)現問(wèn)題,也許每幾天檢個(gè)檢查。最后檢查確保服務(wù)器關(guān)聯(lián)仍處于活動(dòng)狀態(tài),以便我們可以檢測到NTP主服務(wù)器何時(shí)查一次。并且由于配置中的地址與show ntp association命令輸出中的地址相同,因此我們只需要在一個(gè)地方指定它們,然后讓自動(dòng)化系統執行這兩項檢查即可。
中等復雜程度的檢查
當清單項對于一小組設備或每個(gè)網(wǎng)絡(luò )設備唯一時(shí),復雜性就會(huì )提高。這僅僅是驅動(dòng)復雜性的項目數量。我們可以使用自動(dòng)化任務(wù)從網(wǎng)絡(luò )中填充清單數據庫,但這假設捕獲數據時(shí)功能正常運行。最好驗證從網(wǎng)絡(luò )獲取的所有數據。
此類(lèi)別中的一個(gè)示例是EtherChannel連接。配置和操作數據均應進(jìn)行驗證。
- 配置:
interface range gigabitethernet1/0/1 -2
switchport mode access
switchport access vlan 10
channel-group 1 mode active
- 運行數據顯示端口通道中的兩個(gè)接口,該端口通道是為第2層靜態(tài)配置的并且正在使用中(命令輸出中名稱(chēng)Po1后面的SU標志)。
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)
其他示例包括驗證路由鄰居,重要路由(即默認路由)的下一跳路由器以及與關(guān)鍵應用程序服務(wù)器的連接。這些項目可以檢測到網(wǎng)絡(luò )中的意外異常和故障,這些異常和故障通常被冗余設計隱藏。
復雜檢查
諸如此類(lèi)的復雜檢查涉及詳細的配置和操作,經(jīng)常在多個(gè)設備之間進(jìn)行。例如,我們可以通過(guò)使用鏈路層發(fā)現協(xié)議來(lái)擴展EtherChannel驗證,以確保連接了正確的設備和端口。在鏈路層情況下,我們可以通過(guò)收集和關(guān)聯(lián)來(lái)自?xún)蓚(gè)設備的CDP數據來(lái)驗證Cisco路由器和交換機是否通過(guò)同一鏈路連接。
清單數據庫:真相的網(wǎng)絡(luò )來(lái)源(NSoT)
清單放在哪里?在稱(chēng)為“網(wǎng)絡(luò )真相網(wǎng)絡(luò )”(NSoT)的存儲庫中,它實(shí)際上是網(wǎng)絡(luò )清單的數據庫。NSoT是網(wǎng)絡(luò )連接和操作的定義。我們不能依靠網(wǎng)絡(luò )本身來(lái)定義,因為故障(設備,鏈接或人為故障)會(huì )使我們從網(wǎng)絡(luò )中收集的數據無(wú)效。
即使使用了數據庫一詞,它通常也不是關(guān)系數據庫管理系統(RDBMS)。相反,它是多個(gè)文件的集合,用于定義必須檢查的數據。例如,在A(yíng)nsible平臺中,我們可以在適用于所有設備的all.yml文件中擁有NTP服務(wù)器地址,而特定設備(test_sw)的OS版本數據(IOS_version)則位于該文件的單獨文件中設備。

圖片:作者
整個(gè)過(guò)程的妙處在于,我們無(wú)需100%完成NSoT就可以開(kāi)始。我們可以從一堆易于創(chuàng )建的簡(jiǎn)單檢查開(kāi)始。然后隨著(zhù)時(shí)間的推移添加更多詳細的檢查。主要因素是開(kāi)始建立列表。
測試驅動(dòng)的網(wǎng)絡(luò )自動(dòng)化
一旦我們有了網(wǎng)絡(luò )真相源,就可以將自動(dòng)測試納入運營(yíng)流程。接下來(lái),更改網(wǎng)絡(luò )更改控制過(guò)程以包括更改前和更改后測試。隨著(zhù)NsoT的增長(cháng),在進(jìn)行更改之前和實(shí)施更改之后,將驗證網(wǎng)絡(luò )的更多部分是否已配置并且可以正常工作。這樣可以確保所做的更改不會(huì )破壞網(wǎng)絡(luò )。
讓我們用上面的NTP示例來(lái)看一下如何工作,以演示添加另一個(gè)NTP服務(wù)器。更改前檢查將驗證當前所有網(wǎng)絡(luò )設備都可以連接到兩臺服務(wù)器。然后,我們將運行自動(dòng)化功能,以更新所有網(wǎng)絡(luò )設備的配置以包括第三臺服務(wù)器。更改后的驗證檢查將驗證所有設備都已連接到第三臺服務(wù)器。
調查可能無(wú)法連接到第三臺服務(wù)器的所有設備,以確定原因(可能是由于防火墻規則或路由丟失所致)。我們將立即知道,即使已正確實(shí)施更改,但某些設備仍無(wú)法操作,我們可以采取措施進(jìn)行糾正。定期使用這些相同的檢查,使我們能夠確定由于網(wǎng)絡(luò )的其他更改而導致類(lèi)似問(wèn)題何時(shí)發(fā)生,例如添加阻止NTP的防火墻或虛擬路由和轉發(fā)(VRF)定義繁瑣的接口。
清單與自動(dòng)網(wǎng)絡(luò )測試的結合有助于我們改善網(wǎng)絡(luò )并以較低的風(fēng)險進(jìn)行更改。與我一起參加2020年企業(yè)連接數字會(huì )議和博覽會(huì ),了解如何開(kāi)始使用網(wǎng)絡(luò )自動(dòng)化。
聲明:版權所有 非合作媒體謝絕轉載
作者:特里·斯萊特里(Terry Slattery)
原文網(wǎng)址:
https://www.nojitter.com/ai-automation/use-checklists-strengthen-networks