作者:Jason Cheng 鄭郁霖,SLAT 第十屆理事長、耀達電腦技術總監
「為什麼要虛擬化」向來是極具討論性的議題之一,實體派與虛擬派各有不同陣營的擁護者,不論好壞,各有其優點與缺點。現在企業資訊化程度日益深化,服務系統不斷增加,但相對應人力則否。因此在管理上導入伺服器虛擬化,成為了極佳的解決方案。
註:此文初刊 2017/09/08 於 Linuxpilot 國際中文版。
市場需求
實體主機有很多問題,最常見的就是機房制冷能力下降、需要更多的電力耗損、不斷擴充機櫃空間、越來越複雜的線路配置。而且系統故障後的還原程序複雜且費時,影響停機時間,甚者需要進入現場處理。
當主機轉移至新機器後,往往發生無法開機,原有授權失效,甚至可能需要重新安裝才能讓服務重新上線。在實體機運作的情況下,備份全機系統的方案,常是拉長備份時間的元兇之一。採用伺服器虛擬化平台方案,正是解決這些問題的最好解答,更重要的是虛擬化已經是經年累積極其成熟、應用亦廣的技術,市場上已不缺解決方案。
那麼對於企業來說,採用伺服器虛擬化最大的挑戰是什麼呢?很多人都會說,「錢能解決的問題都不是問題,問題是沒有錢」。對於企業來說,「錢」正是導入虛擬化最大的挑戰。硬體建置容易,但軟體授權購買則面臨各種費用的疊加,並非是簡單的購買硬體增加後即可上線使用。現有的方案,大多採用自有專屬格式,不同平台之間的映像檔格式、儲存掛載支援都受限制,這將會影響週邊軟硬體搭配的彈性,甚為不便。
當發生災難故障以後,要從中撈取與救援的難度也會提高。企業應如何選擇適合他們的伺服器虛擬化軟體呢?企業應用方案,首重完善的管理功能,方才能使IT管理者的整體管理負擔下降,從而將心力集中在核心業務。若不考慮管理能力,其實開源的 VirtualBox 就可以使用了。在筆者過去的導入經驗裡,將評估時一定要考量的需求整理為八大重點:
- 多機叢集管理
將多個實體主機節點整合於單一叢集,使用一套管理界面即可操作所有主機節點,除了方便,更是效率。 - 各種儲存協定
支援的儲存連接協定越多,可以越容易整合多種不同儲存設備為己用,不論是運作、備份、移轉等都能發揮最大效益。 - 備份還原功能
不論做了多少完善的規劃與配置,備份仍然是不可或缺的最重要手段。一套虛擬化方案若能提供基礎的備份與還原功能,可提供系統管者解決這項基本問題。 - 好用管理界面
良好的界面,可以提升人員操作時的效率,也會藉由界面完善的引導與提示,減少因為失誤操作而導致意外的發生。 - 主機線上遷移
具備叢集建置以後,為了維護需求、故障移轉等,GuestVM 的遷移功能正是叢集功能的重要價值之一,更進一步則要能 Live Migration,讓使用者不會感受到系統停止服務,無縫轉移。 - 多種認證機制
隨著企業營運持續成長,系統規模也會需要配置多個管理人員,多種認證機制可以依據企業的認證機制予以整合,方便權限指派與帳號管理。 - 虛擬機與容器
當前主流方案以虛擬機佔大宗,隨著容器技術逐漸成熟,其快速效能與節省資源的特性亦為人所重視,因此容器將會成為下一代虛擬化方案的必備項目。 - 支援二次開發
提供 API 供其它系統呼叫,管理者可以與自行開發的 IT 管理系統整合,讓系統處理流程自動化。
方案特色
Proxmox VE 是一款基於 Debian 為核心的開源伺服器虛擬化平台,支援 KVM、LXC、ZFS 三大關鍵技術,以及一個佔據未來的創新分散式儲存技術 CEPH,實力不容小覷。做為一個管理平台,Proxmox VE 提供 KVM 線上不停機遷移功能,即便在沒有使用共享儲存架構的情況下,亦可提供同樣的效果。
在映像檔方面,可以支援 VMDK、QCOW2、RAW,皆為主流規格,當然也支援以區塊 (Block) 模式進行存放。採用 LXC 的好處,是讓實體機的效能極大化。舉個實際的例子,同樣是 NextCloud 服務,以 KVM 架設所需的記憶體耗用 2.53GB,但改用 LXC 架設,記憶體則驟降至 156MB,在寸土寸金的記憶體空間,如此效益可謂巨大。
輕鬆架設門檻較高服務
除此之外,Proxmox VE 與 Turnkey Linux 結合,許多 LXC 樣板都預先建置好,只要從樣板庫中簡單點選安裝,過往許多架設門檻較高的服務立刻完成,例如 Gitlab、NextCloud 等,讓原本複雜的工作轉瞬即成,IT 人員不須再為複雜的建立事務傷神煩心。
兼容不同儲存
Proxmox VE 支援儲存有 Directory、LVM、LVM-Thin、NFS、iSCSI、GlusterFS、ZFS、ZFS Over iSCSI 等等,幾乎絕大多數的儲存都能使用。被稱之為當代最強檔案系統之一的 ZFS,隨著ZFS on Linux 版本開發推進,Proxmox VE 也將它置入標準功能。
在 ZFS 的強力驅動之下,Proxmox VE 可以提供更靈活的硬碟配置、更驚人的快照功能,以及資料壓縮、重複資料刪除等先進技術,這原先都在昂貴儲存設備方可提供的高階技術,Proxmox VE 藉著 ZFS 檔案系統的支援,沒有遺漏全數奉上。
其中 ZFS 的快照功能最為人稱道,速度極快、異機複寫、副本製作等,對於資料保全提供方便、快速與彈性,以往需要花大筆經費建置的儲存系統,都可以節省下來。
全網頁式管理
值得一提的是,Proxmox VE 從早期版本開始,便已經是全網頁式管理了,不需安裝外掛程式,與其它商業軟體需要搭配 Console 程式進行管理的作法大相逕庭。好處是不需安裝軟體、跨平台、並內置響應式網頁設計 (RWD) 功能,只要具有標準 HTML5 瀏覽器的裝置,不論是手機或平板都能游刃有餘。經由搭載 noVNC 技術,可以直接在網頁上操控本機,如同在電腦面前一般,對於現代 IT 人員的移動式管理大大加分。
引進 Proxmox VE
不同於目前主流的其它伺服器虛擬化方案,Proxmox VE 相關的技術文件與參考資料確實較少。不過,因為是來自於開源套件組合而成,只要能夠熟悉相關套件使用,對於底層操作並不構成問題。最重要的實為心理建設,對許多 IT 人員來說,Proxmox VE 相對是一個極為冷門的解決方案,對於未知的產品,必然會對它有些疑慮,畢竟伺服器做為企業營運核心,不得不考量再三。
因此人員第一步,需要對伺服器虛擬化架構有一定基礎認知。對於已經成熟的技術來說,更重要的是規劃適合自身企業環境與實際情景,例如虛擬化與儲存設備的接駁方式,多個節點的資源分配,都是需要考量的重點。
有了虛擬化基礎後,第二步可以將未使用到,或是舊設備予以改裝為 Proxmox VE,接著將非核心服務移轉過去,隨著時間推進,持續熟悉 Proxmox VE 的使用,也更能感受到 Proxmox VE 是一套非常穩定的方案,長此以後,可以陸續將其它主機逐步遷移,最終完成全數放置到 Proxmox VE 平台上的目標。
目前 Proxmox VE 的中文學習資源雖然不多,但有許多熱心人士紛紛貢獻自己的心得與文章,這些精華都值得一讀,若英文能力允許,官網上的基本參考文件亦相當齊全,可以做為遇到問題時的搜尋關鍵資料來源。
方案成效
自 2012 年起,筆者採用 Proxmox VE 至今已逾五年,企業內伺服器 100% 均遷移至 Proxmox VE 平台運作使用,系統穩定,功能良好。Proxmox VE 有著良好的管理界面,IT 管理人員降低維運的時間與學習成本,經由豐富的權限角色,依據不同人員的權責予以分派相對應的主機與權限,都可以讓IT管理者更放心的將工作下放,從而提升 IT 單位的運作效率。廣泛的儲存支援,讓我們可以從容利用已經退役的舊儲存主機,重新掛接進來,不論是用做備份、測試等用途,都不會讓機器有閒置的機會,一分資源都沒有浪費。
縱觀來說,最顯著的好處是節省經費開支,省下的軟體授權經費投資在硬體設備上,可以更好的擴充硬體資源與效能,讓企業的核心系統效能提升。同時,Proxmox VE 在 KVM 技術上支援了 KSM (Kernel Samepage Merging) 技術,可以將多個 Guest 間相同的記憶體區塊整合。
在筆者的經驗裡,甚至有原先應佔 168G B的記憶體,KSM 處理後只佔去 73GB,省下超過 90GB 的容量!這將可以在有限的記憶體下,運行更多 Guest,省下更多硬體資源,若再搭配 LXC 技術來移植運作 Guest,則效益更是驚人。
結論
方案特色
- 支援 KVM、LXC、ZFS 三大關鍵技術。
- LXC 樣板已預先建置好,用戶可輕鬆架設門檻較高服務。
- LVM、NFS、iSCSI 等等,幾乎絕大多數的儲存都能使用。
- 全網頁式管理了,不需安裝外掛程式。
方案成效
- 降低 IT 管理人員的學習成本。
- 可分派相對應主機與權限,方便管理。
- KSM 技術可以將多個 GuestVM 間相同的記憶體區塊整合,節省硬體資源。
- 映像檔支援主流的 VMDK、QCOW2、RAW,轉移成本低。
參考資料
- Proxmox VE 中文使用者社團
https://www.facebook.com/groups/pve.tw - Proxmox VE 企業使用經驗分享
https://www.slideshare.net/jasoncheng7115/proxmox-ve-20170729 - Proxmox VE 4.x 中文初階學習手冊
http://www.gienginali.idv.tw/modules/tad_book3/html_all.php?tbsn=2 - 布丁布丁吃什麼?
http://blog.pulipuli.info/search/label/OS%2FProxmox%20VE - 節省工具箱 Jason Tools
https://blog.jason.tools/ - 官方網站參考資源 Proxmox VE Wiki
https://pve.proxmox.com/wiki/ - Proxmox VE 企業應用經驗談 – Linuxpilot
https://www.linuxpilot.com/applying-proxmox-ve-in-enterprise-environments