NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
ONTAP 自動化:如何將 4 小時的組態設定縮短至 5 分鐘
Ezra Tingler
Ezra Tingler
NetApp 資深儲存設備工程師

我是 Ezra Tingler,目前任職於 NetApp 的 Customer-1 Storage Services 部門。Customer-1 Storage Services 團隊負責我們內部應用程式所需的全部架構、採購、部署以及儲存基礎架構的維護作業。團隊分設多名單位主管,各別掌管特定層面的儲存技術。毫無疑問地,我們的儲存基礎架構均是奠基於最新且最卓越的 NetApp 技術。Customer-1 Storage Services 團隊不僅是 NetApp 技術的主要使用者,也是 NetApp 外部客戶正確運用 NetApp 產品的絕佳參考典範。。

我在團隊中的職掌是儲存生態系統單位,負責儲存硬體的生命週期管理,主要任務在於確保我們的儲存軟體及硬體可以建立穩定且良好的儲存生態系統,為其他服務單位及應用程式提供資料服務。我們團隊目前打算將所有託管於 NetApp 封閉式儲存設備(亦即 7-mode)的資料移轉到叢集式儲存設備。

挑戰

為了執行這項移轉專案,我安裝了額外儲存容量的節點和叢集。專案剛開始時,高可用度 (HA) 叢集式控制器配對的平均組態設定時間約為 4 小時,分散於 2 至 3 天完成。這 4 小時並未包括叢集互連交換器或初始化磁碟的設定時間,相關作業尚需 2 至 12 小時,視磁碟類型而定。常見的辦公室干擾還會耽誤更多時間,因為每次中斷再回來,我都必須確認之前已經完成的進度,以及尚待設定的部分。斷斷續續的進度導致錯失期限,甚至造成組態的不一致。我那時就想,一定要用更好的方法來執行這個專案。

解決方案

我給自己立下挑戰,看看是否能將儲存組態的設定流程自動化,藉以節省時間並減少錯誤。雖然我不是開發人員,但我發現仍可利用 NetApp Manageability Software Development Kit (NM SDK) 輕鬆寫出組態指令碼。等到完成磁碟初始化、完成叢集設定,叢集互連交換器也正確設定後,我便執行我的指令碼。這個指令碼總共設定 23 個不同項目:

  1. 重新命名叢集節點
  2. 重新命名所有現有介面,使其符合新的節點名稱
  3. 叢集介面和節點管理介面
  4. 重新命名根 Aggregate,使其符合新的節點名稱
  5. 安裝授權
  6. 設定服務處理器
  7. 將全部 10g 連接埠的流程控制設定為「無」
  8. 建立廣播網域,並指派適用的連接埠
  9. 建立介面群組,並新增正確的連接埠
  10. 建立虛擬區域網路
  11. 建立容錯移轉群組,並指派正確的連接埠
  12. 建立備份介面(叢集間)
  13. 建立使用者角色
  14. 建立使用者
  15. 設定 RAID 清除排程
  16. 建立 Aggregate
  17. 在所有的 Aggregate 上停用 Aggregate 快照技術
  18. 建立叢集對等端點
  19. 設定 NTP
  20. 設定 SNMP
  21. 設定 CDP
  22. 設定 Web 服務
  23. 設定 AutoSupport

指令碼在執行的時候,會從我建立的檔案中讀取預先定義的組態資訊,並將該組態套用到叢集節點。在執行指令碼之前,我唯一需要做的就是編輯 config 檔案中的唯一資訊,像是節點名稱、IP 位址和密碼金鑰。

使用指令碼的成效令我驚艷,原本需要 4 小時的作業,現在只要 5 分鐘左右就能完成。安裝 24 個儲存節點原本需要 96 小時,但使用組態指令碼後,現在只要 2 小時,足足省下 94 小時或 2.5 個工作週。此外,因中斷造成的錯誤如今也不再發生,自動化流程省下了大量時間,讓我可以專注於其他專案。

如果您是儲存管理人員,可以使用上述的 SDK 輕鬆建立個人專屬的組態指令碼。我用的是此 SDK 提供的工具 Z-Explorer,其中包含叢集適用的完整 ZAPI 呼叫清單。只要使用 Z-Explorer,多數的開發工作都能自動完成。我只花了幾週的時間,就將叢集式儲存設備組建完全自動化。這篇知識庫文章很適合剛入門的新手閱讀。

這是個有趣的專案,讓我知道原來不必是開發人員也能編寫指令碼。雖然我用 Perl 編寫指令碼,但此 SDK 可讓您使用自己熟悉的語言,幾乎各種語言都行。我也利用 SDK 線上論壇尋求其他人的建議,論壇上的使用者總是很快回答我的問題。

未來展望

為了節省時間並減少錯誤,我現在都使用 SDK 來自動化及整合其他的儲存工作。我下一個專案是要編寫品質保證 (QA) 指令碼,用來登入叢集並確認節點是否遵照 NetApp IT 標準與 NetApp 最佳實務做法的準則正確設定。我打算用相同方式將叢集互連交換器的組態工作自動化,同時建立 E 系列的組態指令碼。

如果您想看看實際使用的指令碼,我已經陸續將檔案放上 github.com 分享。您可以到此處查看。等檔案可供下載時,我會在日後的 TechOnTap 電子報公佈 URL 連結。此外,我也會參加即將推出的 Tech OnTap podcast,與熟悉本產業其他相關主題的專家深入討論我的自動化流程。

Ezra Tingler 是 NetApp 資深儲存工程師,在儲存管理與 UNIX 系統方面有超過 20 年經驗。

2016 年 5 月

 
與我們聯絡   |   如何購買   |   意見反應   |   工作機會  |   訂閱   |   隱私權政策   |   © 2016 NetApp