基於VMware的虛擬機資源池實現(下)-運營資源池

現在我們得到了一個可用的虛擬機資源池,但是還有對於企業內部運營模式,還有幾個關鍵特徵沒有實現:流程化、自動化、可計量。現在提供的是我自己寫的虛擬機資源池管理工具,個人認爲對於企業來講,這些工具比那些IaaS系統靠譜多了,一個基本的道理是:如果你的企業只有幾千臺或者一萬臺虛擬機,用一個龐大的商業或開源系統去做統計分析,還不如用Excel,主數據只有幾千條的系統,存在的意義實在不大。這裏面的東西都是個人的開發行爲,所以理解和部署起來肯定不如上一篇裏的專業廠商提供的系統那麼直觀,歡迎Email。
1     流程化
流程化的部分實在是沒有必要單獨定製系統,完全可以利用企業內部已有的ITIL或辦公自動化或配置管理類系統,使用其中的工單,對輸入進行標準化要求即可。那些巨大的廠商們提供的IaaS系統實在沒太多意義,關於這些IaaS產品的比較,我回頭另寫一篇博客單獨說。
標準化的輸入可以就是作爲流程附件的一個excel文件,至於應該標準輸入的格式,我會在第2部分自動化時一併介紹。
2     自動化
自動化的基礎由VMware虛擬機模板(含模板內的初始化腳本)、虛擬機管理Excel文件裏的VBS程序、VBS調用的VMware PowerCLI腳本構成。這套工具一直是實際應用場景中支持到近2000臺虛擬機,後來爲了追求高大上和業績,我自己推翻更換成了BMC CLM,後悔啊。。。當然,我始終還是認爲,雖然這些IaaS產品都比較垃圾,但是CLM已經是其中最出色的一個了。
這個自動化過程的邏輯如下:用戶通過流程系統申請資源,申請中應該包括一個指定格式的Excel附件,審批流程通過後,管理員根據用戶的輸入,在管理虛擬機excel(此excel中的基礎管理信息需要由管理員預先輸入好)中輸入必要的信息(如果用戶比較專業,其實就是copy過來),點擊excel中的自定義按鈕,執行VBS程序,讀取用戶輸入,接受管理員指定的資源池選擇信息,執行對應的VMware PowerCLI腳本,通過VC去從虛擬機模板(這些模板需要事先部署完畢,並在OS內的固定位置放置腳本)部署虛擬機,然後執行這個虛擬機內預先制定的腳本,進行配置(主要是網絡相關信息,IP、DNS、主機名),然後在VC中進行權限設置(讓申請的LDAP或AD域用戶能夠通過vSphere Client管理其虛擬機),更新其備註信息,最後將此虛擬機的信息和常用磁盤管理命令發送郵件給申請人。
2.1     環境
這套工具的運行環境最好只幹這個,所以可以在虛擬機資源池創建一臺小虛擬機(我的是2c4g40g,win2k3 r2)當然windows要求Excel(我使用的是2007)、還有VMware的PowerCLI客戶端(安裝這個客戶端會要求一些windows的補丁,時間長我有點忘記具體的號了,總之windows安裝,它要什麼你就補什麼就行了)。共享了一個5.1和5.8的安裝包,5.1是用過的版本,5.8是最新的。
2.2     VC的LDAP或AD集成
上一篇就說過,這個配置我會單獨寫一篇,這裏就假定我們已經得到了
2.3     模板安裝
這套工具理論上支持任何操作系統,實際管理過的目標OS包括win2k3 r2 32bit&64bit,win2k8 r2 32bit&64bit,RHEL 4.8 32bit&64bit,RHEL 5.4 32bit&64bit,RHEL 5.5 64bit,RHEL 6.3 64bit。安裝模板的過程就是創建個虛擬機,安裝上需要的操作系統,windows的話要激活,然後配置好企業補丁服務器,防病毒客戶端,時間服務器(如上篇所說,關於時間服務我會單獨寫一篇博客介紹),共享了windows和linux安裝盤,一個w2k8 r2 64bit的安裝包和破解工具,以及一個rhel 6.3 64bit的安裝包。操作系統安裝我就不在這裏廢話了。
  • w2k8 r2 64bit安裝盤:Windows Server 2008 R2 企業版 x64.iso
  • w2k8 r2 64bit激活工具:Win7一鍵激活工具(Windows Loader) v2.2.1 綠色免費版 TTRAR.Com.rar
  • VMware PowerCLI客戶端5.8安裝包:VMware-PowerCLI-5.8.0-2057893.exe
  • VMware PowerCLI客戶端5.1安裝包:VMware-PowerCLI-5.1.0-793510.exe
  • rhel 6.3 64bit安裝包:rhel-server-6.3-x86_64-dvd.iso
  • 自動化工具的所有程序和工具:iaastools.zip
2.4     模板內腳本
安裝模板後,需要在其中植入創建虛擬機後的配置腳本,腳本的工作是設置主機名、IP、DNS、啓動linux的vnc服務。腳本和工具都在前文下載的iaastools.zip裏:
  • 更新克隆出來的虛擬機的sid的程序,需要放到windows模板的c:\template-tools\路徑下:newsid.exe
  • 第三方時間同步客戶端,需要放到windows模板的c:\template-tools\路徑下:NTPClock.exe
  • 設置windows虛擬機的網絡信息的腳本,需要放到windows模板的c:\template-tools\路徑下:setnetwork.vbs
  • 設置linux虛擬機的網絡信息的腳本,需要放到linux模板的/root/template-tools/路徑下:setnetwork.sh
  • 管理虛擬機自動化和信息的excel文件,含vbs程序:虛擬機管理工具.xlsm
  • 創建虛擬機的PowerCLI腳本,由VBS程序調用:CreateVM.ps1
  • 刪除虛擬機的PowerCLI腳本,由VBS程序調用:removevm.ps1
  • 讀取全部虛擬機信息的PowerCLI腳本,由windows計劃任務調用:vctonmsjob.ps1
其中前4項就是我們需要的模板腳本和工具。
2.5     虛擬機自動化管理程序
這部分程序也包含在iaastools.zip裏,首先要根據sheet虛擬機管理裏的描述填寫管理的基本信息,然後通過點擊刷新資源信息按鈕,執行宏refresh_vc_info,去VC裏刷新出模板名稱列表、esx列表、端口組列表、datastore列表。
然後就可以使用後面的sheet頁去創建和刪除虛擬機了,每個sheet裏創建的虛擬機應使用同樣的子網掩碼、網關和dns配置,這些配置在t6開始的單元格出開始設置,在mask、gateway、dns1和dns2後的u6、u7、u8、u9單元格輸入相應信息即可。新的子網只需要複製一個sheet頁出來即可。
創建虛擬機,只需要在行上填寫IP(虛擬機將使用的IP)、應用系統(會寫到虛擬機的備註)、用途(會寫到虛擬機的備註)、管理人(填寫郵箱前綴,會給這個郵箱發郵件)、主機名、cpu個數、內存g數、磁盤g數(除操作系統之外的磁盤大小)即可,這些也就是爲了自動化要求申請者在流程系統裏提供的信息,爲了統計原因,還應該要求其填寫成本中心和對應分攤比例,爲了管理目的,還應要求其填寫資源使用時長。點擊創建虛擬機,將彈出下面的對話框(這個圖得截一下,不然不好說明),選擇使用的模板、虛擬機所在esx、使用的端口組、使用數據存儲,勾選是否精簡置備。點擊創建,創建過程可以在vc的任務裏看到執行的任務。完成後,確認提示框,虛擬機的名稱、esx、端口組、數據存儲、精簡置備將被回寫到對應的行。如果創建多個虛擬機,每次點選一行,點擊創建虛擬機按鈕,然後操作下一個即可。這裏創建的虛擬機的名稱(也就是顯示在VC中的名稱)自動由下劃線連接的三個部分組成:IP(格式化爲4組3位數字,每組上不足三位的前面加0補齊,主要是爲了排序),主機名,申請人郵箱前綴。

刪除虛擬機只要選中該虛擬機的行,然後點擊刪除虛擬機按鈕即可,這個可一定要慎重,刪了就真沒了啊。。。
2.6     PowerCLI腳本
真正去執行虛擬機創建設置刪除、郵件發送工作的是幾個PowerShell腳本,腳本里有詳細的註釋,這裏不在贅述,請參見iaastools.zip裏的幾個ps1腳本文件。
3     可計量
私有云IaaS供應商通常會在這裏做很多文章,什麼容量預測、成本分析之類的,但是想象一下,如果主數據只有幾千條,用excel啥分析做不了?這部分將延續自動化部分使用的Excel,附加定時任務運行PowerCLI腳本獲取VC內的全部虛擬機信息(有些虛擬機可能不是自動化工具生成的,比如導入的ova,用converter轉化來的物理機或其他虛擬機),關於converter的使用我會另外寫一篇博客。然後以定時任務獲取的虛擬機信息爲準,附件自動化工具的excel,生成統計分析的原始數據,剩下的,只要你會用excel做公式,加上點兒單價之類的元數據,想統計啥就統計啥吧。請相信實際經驗,工作中(向財務提供成本分攤報表,向領導提供擴容預測),這遠比那些大IaaS系統提供的統計分析管用。這裏提供的powershell腳本(就在iaastools.zip裏)完成了信息的收集工作,對照虛擬機管理.xlsm裏的信息,通過公式,你可以完成全部需要的統計分析工作。
有了上面的系統,一個自動化/流程化/可計量的虛擬機資源池就做好可,對於大多數企業來講,IaaS雲計算也就做完了,但是雲計算的實質還有大的多,至少沒有其他基礎設施(物理服務器、存儲)和雲運營模式,始終停留的還是虛擬化基礎設施而已,在這些內容上,大IaaS供應商確實能夠提供一定的價值。關於這些,我會分別寫博客介紹自己的經驗教訓(雲運營模式實例、IaaS產品比較)。
順便說一句,除了硬件成本,這個解決方案是不需要花一毛錢買任何軟件的(當然VMware就是d版的了),企業解決方案基本是沒法接受這樣解決方案的,第一不花錢沒績效,第二不花錢出事兒了沒人背黑鍋。不過,對於真的實際想做點兒事兒的人,在你的企業內部先用這個方案開路測試,然後再把其中的VMware正版化(其實也就是購買一部分授權,你過得去,他也過得去就行了),你就擁有云了。比較討巧的辦法是用這個方案把池的規模做上去(這還是要花點兒時間的,擴容硬件,增加用戶,積累運維經驗),然後立個項做IaaS雲,其實就是採購VMware並順便把硬件資源擴擴容,然後2個月內交付給你的老闆,看,雲吶。。。(不要問我是如何知道這個辦法的:))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章