我什么時候該使用PowerShell Workflow?
Workflow是Windows PowerShell 3.0大書特書的新功能,它可以用于Windows 7、Windows Server 2008、Windows Server 2008 R2、Windows 8和Windows Server 2012。盡管如此,關(guān)于它還是有諸多混淆之處,它到底是什么,能做什么,你該如何使用?
PowerShell工作流類似于增強的PowerShell功能。將命令放入其中,讓PowerShell運行。它有的功能是PowerShell所不具備的,如使用正確的腳本代碼同時運行多個任務(wù)的能力。當然它也缺乏某些PowerShell擁有的功能,如對Switch概念的支持。
這些附加功能來自這樣一個事實:PowerShell工作流實際上并不運行在PowerShell內(nèi)部。反之,它轉(zhuǎn)變?yōu)閃indows Workflow Foundation(WWF),從v3.5版本開始作為.NET框架的一部分,運行的是修改后的代碼。
盡管你在使用PowerShell語句,也得遵守WWF規(guī)則,所以學習曲線很陡峭。諸如使用變量這樣的選項,什么命令可以使用,數(shù)據(jù)如何從一個命令傳輸?shù)搅硪粋€都有所變化。
但認真學習還是值得的。PowerShell工作流有內(nèi)置功能,同時瞄準多臺遠程機器,為它們提供安裝好的PowerShell,并啟動Remoting功能,該功能只有在Windows Server 2012中是默認啟動的。
Workflows也有一些內(nèi)置參數(shù),能做一些很酷的事情。Workflows可以中斷后再開始,可以適應(yīng)斷電、網(wǎng)絡(luò)斷開與其他的臨時故障。
Workflows并不是唯一能做到這些的。同時發(fā)送腳本給多臺遠程機器還是需要花費一些額外的功夫,使用Invoke-Command就可以做到。只要熟悉一些常用的PowerShell腳本,就可以避免學習所有的WWF規(guī)則。
唯PowerShell工作流獨有的是其中斷并恢復(fù)的能力,不過該功能有一些規(guī)則與警告。某些時候,你在PowerShell中撰寫工作流的方式可能都無法允許啟用中斷與恢復(fù)功能。
核心提示:管理虛擬環(huán)境是一件復(fù)雜的事情,如果不對配置管理進行規(guī)劃,那么距離犯錯就不遠了。本文介紹管理虛擬服務(wù)器時忌犯的四個錯誤。
管理虛擬環(huán)境并不輕松。即使部署規(guī)模很小,管理員仍舊需要注意很多發(fā)生在幕后的故事。不進行合理的規(guī)劃并密切關(guān)注變化情況,即使是很小的問題也可能導(dǎo)致失控。
我們向顧問專家委員會了解了他們所見到的最為常見的錯誤以及如何避免。
Jason Helmick:缺少對配置管理的規(guī)劃
如果不對配置管理進行規(guī)劃,那么距離犯錯就不遠了。無論是公有云還是私有云,你必須規(guī)劃虛擬環(huán)境的服務(wù)器配置并掌控變化。詢問Linux專家,他們將會花很長時間向你表述Puppet或者Chef的優(yōu)勢。詢問有經(jīng)驗的Windows管理員,他們同樣會向你講述DSC的優(yōu)勢。
你需要能夠采用準確的配置快速、輕松地部署服務(wù)器,而不是冗長復(fù)雜的腳本以及漫長的平臺測試。你還需要控制服務(wù)器隨時間變化而發(fā)生的改變。有管理員做出調(diào)整并導(dǎo)致服務(wù)器脫離最優(yōu)配置嗎?
虛擬環(huán)境出現(xiàn)問題時,你要問的第一個問題就是“發(fā)生了哪些改變?”硬件罷工的情況是很少見的,大多數(shù)服務(wù)中斷是由于某些人對配置進行了有意或無意的調(diào)整。 避免這些中斷并采用合理的配置對環(huán)境進行更好的控制。可以選擇相應(yīng)的工具:Puppet、Chef或者DSC。無論選擇哪一個,在出問題之前先要做好配置 管理。
Brian Kirsch:小心問題陷阱
在當今的虛擬環(huán)境中,軟件安裝、配置及維護帶來很少的問題。虛擬化方面逐步采用配置向?qū)б约邦A(yù)配置設(shè)備,專家以外的人都能夠創(chuàng)建并維護虛擬環(huán)境了。這恰恰是問題所在。技術(shù)不存在問題,存在問題的是合規(guī)性。外表簡單可能意味著底層很復(fù)雜,問題恰如冰山一角。
盡管虛擬環(huán)境看起來很簡單,但安裝、配置及管理卻很復(fù)雜。在理想情況下,我們不會發(fā)現(xiàn)任何問題因為一切都正常。但在上次檢查時我發(fā)現(xiàn)了問題,這意味必須有 人修復(fù)。技術(shù)人員必須與顧問以及廠商一同查找出現(xiàn)的問題,這時對底層知識了解的越多越好。這并不是說你必須能夠自己解決該問題,但能夠正確地定位問題是恢 復(fù)系統(tǒng)的一個關(guān)鍵步驟。
通過采用虛擬化或者將核心生產(chǎn)應(yīng)用遷移到云服務(wù),企業(yè)能夠避免大多數(shù)頭痛的問題。這消除了犯錯及維護的可能性,大量的可用云服務(wù)為組織提供了滿足需求的現(xiàn)代數(shù)據(jù)中心。盡管這些云服務(wù)發(fā)生中斷的現(xiàn)象非常罕見,但在將核心生產(chǎn)應(yīng)用遷移到云中之前我還會再三考慮。
組織開始采取虛擬化路線,無論是私有云還是公有云,一定要確保員工經(jīng)過了很好的培訓(xùn),他們不需要是每個方面的專家,但也不應(yīng)該對此感到畏懼。虛擬化能夠為組織提供令人驚嘆的優(yōu)勢,但是需要進行很好的控制否則可能會變成可怕的怪獸。
Rob McShinsky:忽視虛擬基礎(chǔ)設(shè)施
你可能犯的最大的錯誤就是忽視虛擬基礎(chǔ)設(shè)施。服務(wù)器使用時間逐漸增加,你可能會繼續(xù)使用舊固件、很少打補丁,對存儲或網(wǎng)絡(luò)疏于管理因為單臺服務(wù)器只運行著一個應(yīng)用。在采用服務(wù)器虛擬化后 忽視這些基本的工作可能會影響性能,更糟糕的是可能會導(dǎo)致上百臺服務(wù)器宕機。所有的hypervisor、服務(wù)器以及存儲一直在革新,同時會發(fā)現(xiàn)bug。 運行在基礎(chǔ)設(shè)施之上的虛擬機工作負載數(shù)量同樣呈級數(shù)增長,由于虛擬環(huán)境涉及眾多硬件,難怪會出現(xiàn)問題導(dǎo)致宕機或者影響性能了。
關(guān)鍵是對基礎(chǔ)設(shè)施有一個全面的了解,同時要關(guān)注性能臨界值。如果環(huán)境未發(fā)生任何變化但你突然發(fā)現(xiàn)運行不穩(wěn)定的情況,那么要了解可能是哪個資源層負載過高導(dǎo) 致出現(xiàn)了性能問題。為開展此項工作,你需要選擇具備診斷功能并能夠進行趨勢分析的監(jiān)控工具。這些工具能夠提高工作效率,消除日常管理之痛。
Dave Sobel:環(huán)境的清單缺少管理及維護
我所發(fā)現(xiàn)的管理虛擬環(huán)境最大的錯誤就是沒有一個系統(tǒng)來管理并維護環(huán)境的清單及相關(guān)信息。中小企業(yè)不會部署系統(tǒng)來記錄系統(tǒng)配置信息、使用情況或者主機的物理位置。發(fā)生災(zāi)難時,這些信息對快速恢復(fù)至關(guān)重要,不幸的是這一工作往往被忽略掉了。