期望狀態配置幫助系統管理員避免配置漂移
期望狀態配置是PowerShell 4.0和Windows Server 2012 R2中的一個新特征,從配置角度擴展了PowerShell的功能。
期望狀態配置(DSC)背后的理念是提供一種方法,通過一組PowerShell語言擴展來維護電腦或設備的一致性配置設置。使用DSC,你可以為你的目標定義準確的配置,實現連續部署并防止可怕的配置漂移。
之前你肯定已經部署了多個服務器,你會發現運行幾個月后,對比原始設置,每一個服務器的配置都略微不同。
也許其中一個有排錯和其他相關設置,另一個也許打補丁了,其他的沒有。也或者是某個服務器上面的應用程序修改了一些默認設置,從而不同于同類的其他設備。
這就是配置漂移,不管原因是什么,終會導致你頭痛和潛在的失敗。你不再有清晰的已知配置,不能再把整個類型的服務器作為一臺機器進行管理,集中管理可是公共云或者私有云的關鍵。你需要避免配置漂移。
使用腳本解決配置漂移
腳本在系統管理方面不是什么新鮮事,是防止配置漂移的可靠方法。它們在多個系統上運行時,通常會有一致的結果。編輯腳本的人通常不使用某些類型的平臺系統管理軟件如系統中心配置管理器,已經開始使用命令式腳本。除了異常處理、事務日志和其他細節,還包括制定每個執行動作。
例如,一個傳統的管理腳本通常是安裝補丁、設置角色、負責文件、運行可執行文件等等。如果指定每個即將發生的動作,這些腳本很難改善,并且不能用于其他目的,特別是運行在一臺機器上的行為不能準確地應用在另一臺機器上。
然而,DSC是一種說明性腳本技術。這意味著系統管理員或腳本編輯者可以設置系統配置的描述,系統會計算出達到這種描述狀態,自己還需要什么。
但是從單純的功能性角度來看,說明性腳本的功能比不上命令型腳本,它只在系統配置場景中表現較好。例如,如果我想部署一個Web服務器的農場,我可以這樣編寫DSC腳本:
- 我需要七個虛擬機。
- 所有的虛擬機應該安裝IIS。
- 所有的虛擬機應該安裝遠程服務器管理工具安裝包。
- 所有的虛擬機應該包含這些特殊的內容文件。
DSC中包括一個配置代理組件,接收腳本信息并將其轉換成動作,將物理系統狀態對齊到所描述的配置。如果我說應該安裝IIS,該代理將檢查當前機器上的角色,看看IIS是否可用或者是否已安裝,然后對機器進行任何必要的更改最終達到期望的狀態。
但是期望狀態與其他管理技術有關大關聯呢?***,DSC是為了解決云——即服務器和設備按照標準操作,始終運行,容忍缺點。它不是為了解決本地服務器的,系統中心更適合用來解決本地服務器問題。DSC可以結合系統中心虛擬機管理器協同工作,提供虛擬機和服務,并將它們準備妥善。DSC主要宗旨應該是處理農場機器的相關任務,而不是為個人電腦解決各種不同的事情。
隨著年底Windows Server 2012 R2的發布,將會有更多DSC和PowerShell 4.0的相關報道。但是現在,你又多了一個學習PowerShell的理由。