虛擬化

menu icon

虛擬化

虛擬化是一種可以更有效率地利用實體電腦硬體的過程,也是雲端運算的基礎。

何謂虛擬化?

虛擬化使用軟體來針對電腦硬體建立抽象層,以便讓單一電腦的硬體元素,處理器、記憶體、儲存體等等能夠分割成多個虛擬電腦,它們通常稱為虛擬機器 (VM)。 每一個 VM 都會執行自己的作業系統 (OS),並且如同獨立電腦般運作,雖然它只是在一部分的實際基礎電腦硬體上執行。

結果是,虛擬化讓您更有效率地使用實體電腦硬體,並且提高組織的硬體投資回報。

如今,虛擬化已成為企業 IT 架構中的標準作法。 此外,它同時也是推動雲端運算經濟的技術。 虛擬化可讓雲端供應商利用他們現有的實體電腦硬體來為使用者提供服務;它可讓雲端使用者在有需要時僅購買所需的運算資源,然後隨著工作負載的擴增,以更省成本的方式擴充資源。

如需進一步概觀虛擬化的運作方式,請觀看我們的影片 Virtualization Explained (5:20):

虛擬化的優勢

虛擬化為資料中心運營商和服務供應商帶來幾個好處:

  • 資源效率:在進行虛擬化之前,每個應用程式伺服器本身都需要有專用的實體 CPU,IT 人員會針對想要執行之的每個應用程式購買並配置不同伺服器。(由於可靠性,IT 偏好每部電腦執行一個應用程式和一個作業系統 。)結果每個實體伺服器總是出現低度使用。 相形之下,伺服器虛擬化可讓您在單一實體電腦上,通常是在 x86 伺服器執行數個應用程式,每個應用程式都在自己的 VM 上執行,而且每個 VM 都有自己的 OS,而且完全不影響可靠性。 這可讓實體硬體的運算容量達到最大使用率。
  • 簡化管理:使用軟體定義的 VM 來取代實體電腦,如此更容易使用與管理編寫在軟體中的原則。 這可讓您建立自動化的 IT 服務管理工作流程。 例如,自動化部署和配置工具可讓管理者透過軟體範本,定義虛擬機器和應用程式即服務的集合。 這意味著,他們可以反覆且一致地安裝那些服務,完全不需要繁瑣、費時且容易出錯的手動設定。 管理者可以使用虛擬化安全原則,根據虛擬機器的角色來要求特定安全配置。 原則可透過淘汰未使用的虛擬機器來節省空間和運算能力,從而提高資源效率。
  • 將關閉時間減到最少:OS 和應用程式當機可能會導致關閉時間並干擾使用者生產力。 管理者可以相互執行多個備用虛擬機器,並於發生問題時在它們之間執行失效接手。 執行多個備用實體伺服器的成本比較高。
  • 加速佈建:針對每一個應用程式購買、安裝與配置硬體是很耗時的。 只要硬體已到位,佈建虛擬機器來執行所有應用程式就快很多。 您甚至可以使用管理軟體來自動執行它,並將其建置到現有工作流程中。

如需更深入瞭解潛在效益,請參閱「虛擬化的 5 個優勢」。

解決方案

有好幾家公司提供涵蓋特定資料中心作業或聚焦一般使用者之桌面虛擬化情境的虛擬化解決方案。 眾所周知的例子包括專擅伺服器、桌面、網路和儲存虛擬化的 VMware;以應用程式虛擬化為利基但也提供伺服器虛擬化和虛擬桌面解決方案的 Citrix;隨 Windows 提供其 Hyper-V 虛擬化解決方案並專注於伺服器和桌上型電腦的虛擬版本。

虛擬機器 (VM)

虛擬機器 (VM) 是指以軟體形式模擬實體運算的虛擬環境。 它們通常由數個檔案所構成,檔案內容包含 VM 的配置、虛擬硬碟儲存,以及一些保存特定時間點之狀態的 VM Snapshot。

如需完整的 VM 概觀,請參閱「何謂虛擬機器?」

Hypervisor

Hypervisor 是指用於協調 VM 的軟體層。 它可做為 VM 與基礎實體硬體之間的介面,以確保每個 VM 都有權存取其執行作業所需的實體資源。 它還可以確保 VM 不會因為撞擊彼此的記憶體空間或運算週期而相互干擾。

Hypervisor 有兩種:

  • 類型 1「裸機」Hypervisor 會與基礎實體資源進行互動,以完全取代傳統的作業系統。 它們最常出現在虛擬伺服器情境中。
  • 類型 2 Hypervisor 則在現有 OS 上以應用程式的身分執行。 最常在端點裝置上用來執行替代作業系統,它們會帶來額外負荷,因為它們必須使用主機 OS 來存取與協調基礎硬體資源。

Hypervisor:完整指南」提供 Hypervisor 相關一切的全面概觀。

虛擬化的類型

目前為此我們已討論伺服器虛擬化,但許多其他的 IT 基礎架構元素也可以虛擬化,為(特別是)IT 管理者和整體企業提供顯著優點。 在本節中,我們將涵蓋以下類型的虛擬化:

  • 桌面虛擬化
  • 網路虛擬化
  • 儲存設備虛擬化
  • 資料虛擬化
  • 應用程式虛擬化
  • 資料中心虛擬化
  • CPU 虛擬化
  • GPU 虛擬化
  • Linux 虛擬化
  • 雲端虛擬化

桌面虛擬化

桌面虛擬化可讓您執行多個桌面作業系統,每個桌面作業系統都在同一部電腦上的專用 VM 中執行。

桌面虛擬化有兩種類型:

  • 虛擬桌面基礎架構 (VDI) 在中央伺服器上的 VM 中執行多個桌面,然後將它們串流至透過小型用戶端裝置登入的使用者。 VDI 透過這種方式讓組織得以容許使用者從任何裝置存取各種 OS,完全不需要在任何裝置上安裝 OS。 查看「何謂虛擬桌面基礎架構 (VDI)?」以獲得更深入的解釋。
  • 本端桌面虛擬化在本端電腦上執行 Hypervisor,以便讓使用者能夠在該電腦上執行一或多個額外的 OS,並且可視需要從某個 OS 切換到另一個 OS,完全無需變更主要 OS 的任何內容。

如需虛擬桌面的詳細資訊,請參閱「桌面即服務 (DaaS)」。

網路虛擬化

網路虛擬化使用軟體來建立網路的「視圖」,方便管理者透過單一主控台管理網路。 它會將硬體元素和功能(例如連線、交換器、路由器等等)抽象化,並將其抽象化成為在 Hypervisor 上執行的軟體。 網路管理者可以修改與控制這些元素,而且完全不用碰觸基礎實體元件,如此可大幅簡化網路管理。

網路虛擬化的類型包括軟體定義網路 (SDN) - 其將控制網路流量路由的硬體(稱為「控制平面」)虛擬化,以及網路功能虛擬化 (NFV) - 其將提供特定網路功能的一或多個硬體設備(例如防火牆、負載平衡器或流量分析器)虛擬化,以便使這些應用裝置變得更容易配置、佈建與管理。

儲存設備虛擬化

儲存虛擬化可讓網路上的所有儲存裝置,無論是安裝在個別伺服器或獨立式儲存裝置,視為單一儲存裝置進行存取與管理。 具體來說,儲存虛擬化將所有的儲存區塊集中成單一共用儲存區,以便根據需要將它們指派給網路上的任何 VM。 儲存虛擬化可讓您更輕鬆地為 VM 佈建儲存容量,並讓網路上所有可用儲存容量達到最大使用率。

如需仔細瞭解儲存虛擬化,請參考「何謂雲端儲存?

資料虛擬化

現代企業使用多種檔案格式,從雲端到內部部署硬體與軟體系統儲存來自多個應用程式的資料。 資料虛擬化可讓任何應用程式存取這所有資料,不限來源、格式或位置。

資料虛擬化工具在存取資料的應用程式與儲存它的系統之間建立一個軟體層。 此軟體層會根據需要轉換應用程式的資料要求或查詢,並橫跨多個系統傳回結果。 當其他類型的整合不可行、不合意或無法負擔時,資料虛擬化可協助打破資料孤島。

應用程式虛擬化

應用程式虛擬化可讓您直接執行應用程式軟體,無需在使用者的作業系統上進行安裝。 這與(上述的)完整桌面虛擬化不同,因為只有應用程式在虛擬環境中執行,OS 會在一般使用者裝置上照常執行。 應用程式虛擬化有三種類型:

  • 本端應用程式虛擬化:整個應用程式在端點裝置上執行,不過是在執行時期環境中執行,而不是在原生硬體上執行。
  • 應用程式串流:應用程式在伺服器上運作,它會視需要傳送軟體的小型元件以便在一般使用者的裝置上執行。
  • 伺服器型應用程式虛擬化:應用程式完全在伺服器上執行,它只會將使用者介面傳送至用戶端裝置。

資料中心虛擬化

資料中心虛擬化將資料中心的大部分硬體抽象化成為軟體,以便有效地讓管理者將單一實體資料中心劃分為供不同客戶使用的多個虛擬資料中心。

每個客戶都可以存取自己的基礎架構即服務 (IaaS),它們全都在相同的基礎實體硬體上執行。 虛擬資料中心提供容易擴充的雲端型運算,讓企業在無需購買基礎架構硬體的情況下快速設置完整的資料中心環境。

CPU 虛擬化

CPU(中央處理單元)虛擬化是使 Hypervisor、虛擬機器及作業系統成為可能的基礎技術。 它可讓將單一 CPU 分割成多個虛擬 CPU,以供多個 VM 使用。

首先,CPU 虛擬化完全是由軟體定義,但現今許多處理器內括支援 CPU 虛擬化的延伸指令集,它們可以提升 VM 效能。

GPU 虛擬化

GPU(圖形處理單元)是一種特殊的多核心處理器,藉由接管重度的圖形或數學處理來提升整體運算效能。 GPU 虛擬化可讓多個 VM 使用單一 GPU 的所有或部分處理能力,從而加速視訊、人工智慧 (AI) 及其他的圖形密集或數學密集應用程式。

  • 透通 GPU 使整個 GPU 可供單一訪客 OS 使用。
  • 共用 vGPU 將實體 GPU 核心劃分成數個虛擬 GPU (vGPU) 以供伺服器型 VM 使用。

Linux 虛擬化

Linux 內含自己的 Hypervisor,名為核心型虛擬機器 (KVM),它支援 Intel 與 AMD 的虛擬化處理器延伸,方便您從 Linux 主機 OS 內部建立 x86 型 VM。

身為開放原始碼 OS 的 Linux 容許大幅度自訂。 您可以建立針對特定工作負載量身打造 Linux 的 VM 執行版本,或針對比較機密的應用程式建立強化安全的版本。

雲端虛擬化

如上所述,雲端運算模型依賴虛擬化。 憑藉將伺服器、儲存及其他實體資料中心資源虛擬化,雲端運算供應商得以為客戶提供一系列服務,包括:

  • 基礎架構即服務 (IaaS)虛擬化的伺服器、儲存及網路資源,您可以根據其需求進行配置。
  • 平台即服務 (PaaS)虛擬化的開發工具、資料庫及其他雲端型服務,您可以用來建置您自己的雲端型應用程式與解決方案。
  • 軟體即服務 (SaaS): 您在雲端上使用的軟體應用程式。 SaaS 是硬體抽象化程度最高的雲端型服務。

如果您想進一步瞭解這些雲端服務模型,請參閱我們的指南:「IaaS、PaaS 及 SaaS」。

虛擬化與容器化

伺服器虛擬化會在硬體中重新產生整個電腦,然後再執行整個 OS。 OS 執行一個應用程式。 這比完全沒有虛擬化更有效率,但它仍會針對您要執行的每個應用程式重複產生不必要的程式碼與服務。

容器採用替代方法。 它們共用一個基礎 OS 核心,只執行應用程式及其相依內容,例如軟體程式庫和環境變數。 這使得容器變得更小且部署速度更快。

如需進一步深入瞭解容器和容器化,請參考「容器:完整指南」和「容器化:完整指南」。

請參考部落格文章 "Containers vs. VMs: What's the difference?" 以取得進一步比較。

在下面的影片中,Sai Vennam 拆解容器的相關基本概念,並針對容器與 VM 虛擬化進行比較 (8:09):

VMware

VMware 建立虛擬化軟體。 VMware 剛開始僅提供伺服器虛擬化,其 ESX (現為 ESXi)Hypervisor 是最早成功的商業虛擬化產品之一。 現在 VMware 也提供網路、儲存及桌面虛擬化等解決方案。

若要深入探討 VMware 的所有一切,請參閱 “VMware: A Complete Guide”。

安全性

虛擬化提供一些安全好處。 例如,感染惡意軟體的 VM 可以回復到 VM 未受感染且保持穩定的某個時間點(稱為 Snapshot);此外,它們比較容易刪除與重建。 您無法總是在幫非虛擬化的 OS 進行消毒,因為惡意軟體往往深入整合至 OS 的核心元件,會一直超越系統回復。

此外,虛擬化也帶來一些安全挑戰。 如果攻擊者損害 Hypervisor,則他們可能會擁有所有的 VM 和訪客作業系統。 Hypervisor 還可以讓 VM 在不用碰觸實體網路的情況下彼此相互通訊,因此很難透過查看資料流量來偵測可疑活動。

主機 OS 上的第 2 類 Hypervisor 還很容易發生主機 OS 受損。

市場提供多種虛擬化安全產品,它們可以掃描與修補 VM 的惡意軟體、加密整個 VM 虛擬磁碟,以及控制與審核 VM 存取。

虛擬化與 IBM

IBM Cloud 提供完整的雲端型虛擬化解決方案,範圍涵蓋公有雲服務、私有雲到混合雲產品。 您可以使用它來建立與執行虛擬基礎架構,也可以利用從雲端型 AI 到利用 IBM Cloud for VMware 解決方案來移轉 VMware 工作負載等服務。

立即註冊 IBM Cloud 帳戶