什麼是虛擬化?
虛擬化是一種技術,您可使用該技術來建立伺服器、儲存、網路和其他實體機器的虛擬呈現。虛擬軟體可模擬實體硬體的功能,在單個實體機器上同時執行多個虛擬機器。企業使用虛擬化來有效地利用他們的硬體資源,並獲取最大的投資回報。它還支援雲端運算服務,可幫助組織更有效地管理基礎設施。
為什麼虛擬化很重要?
透過使用虛擬化,您可以更靈活地與任何硬體資源進行互動。實體伺服器消耗電力、佔用儲存空間並且需要維護。在使用實體伺服器時,您通常會受到實際距離和網路設計的限制。虛擬化透過將實體硬體功能抽像為軟體,從而消除所有這些限制。您可以像管理、維護和使用 Web 上的應用程式一樣對待您的硬體基礎設施。
虛擬化範例
以一家需要伺服器來實現三個功能的公司為例:
- 安全地儲存商務電子郵件
- 執行面向客戶的應用程式
- 執行內部業務應用程式
這些功能中的每一個都有不同的組態要求:
- 電子郵件應用程式需要更多儲存容量和 Windows 作業系統。
- 面向客戶的應用程式需要 Linux 作業系統和高處理能力來處理大量網站流量。
- 內部業務應用程式需要 iOS 和更多內部記憶體 (RAM)。
為了滿足這些要求,該公司為三個應用程式設定了單獨的專用實體伺服器。該公司必須進行高額初始投資,並需要進行持續維護和升級,而且每次只能處理一台機器。該公司也無法最佳化其運算能力。他們支付了伺服器 100% 的維護成本,但只使用了其儲存和處理能力的一小部分。
高效使用硬體
該公司透過虛擬化,在單個實體伺服器上建立了三個數位伺服器或虛擬機器。然後指定不同虛擬機器的作業系統要求,從而能夠像使用實體伺服器一樣使用它們。該公司現在減少了硬體的數量,同時也降低了相關費用。
基礎架構即服務
該公司可以更進一步,使用 AWS 等雲端運算供應商提供的雲端執行個體或虛擬機器。AWS 管理所有底層硬體,而該公司可以請求具有不同組態的伺服器資源。所有應用程式都在這些虛擬伺服器上執行,使用者不會注意到任何差異。對於該公司的 IT 團隊來說,伺服器管理也變得更加容易。
什麼是虛擬化?
若要正確了解核心基礎虛擬機器 (KVM),您首先需要了解虛擬化的一些基本概念。虛擬化是一種程序,允許電腦與多個數位分隔的環境共用其硬體資源。每個虛擬化環境都在其配置的資源內執行,例如記憶體、處理能力和儲存空間。透過虛擬化,組織可以在同一伺服器上的不同作業系統之間切換而無需重新啟動。
虛擬機器和 Hypervisor 是虛擬化中的兩個重要概念。
虛擬機器
虛擬機器是軟體定義的電腦,在具有獨立作業系統和運算資源的實體電腦上執行。實體電腦稱為主機,虛擬機器則稱為客體機器。多個虛擬機器可以在單一實體機器上執行。虛擬機器由 Hypervisor 從電腦硬體中抽象出來。
Hypervisor
Hypervisor 是管理電腦中多台虛擬機器的軟體元件。它確保每個虛擬機器都可取得配置的資源,並且不干擾其他虛擬機器的操作。有兩種類型的 Hypervisor。
第 1 類 Hypervisor
第 1 類 Hypervisor 或裸機 Hypervisor 是一種直接安裝在電腦硬體而非作業系統上的 Hypervisor 程式。因此,第 1 類 Hypervisor 具有更出色的效能,並且通常由企業應用程式使用。KVM 使用第 1 類 Hypervisor,在 Linux 作業系統上託管多台虛擬機器。
第 2 類 Hypervisor
第 2 類 Hypervisor 也稱為託管式 Hypervisor,其安裝在作業系統上。第 2 類 Hypervisor 適用於最終使用者運算。
虛擬化能夠提供什麼好處?
虛擬化可以為所有組織提供多項好處:
高效利用資源
虛擬化可改善資料中心的硬體資源使用率。例如,您不再是在一個電腦系統上執行一個伺服器,而是在同一電腦系統上建立一個虛擬伺服器集區,然後根據需要從集區中獲取並使用伺服器或將伺服器送回集區中。減少底層實體伺服器數量可以釋放資料中心的空間,並節省電力、發電機和冷卻設備的費用。
自動化 IT 管理
既然實體電腦已經虛擬化,您可以使用軟體工具對其進行管理。管理員建立部署和組態程式來定義虛擬機器範本。您可以重複且一致地複製基礎設施,並避免容易出錯的手動組態。
更快的災難復原
當自然災害或網路攻擊等事件對業務營運產生負面影響時,重新啟用 IT 基礎設施以及更換或修復實體伺服器可能需要數小時甚至數天。相較之下,在虛擬化環境中完成該過程只需幾分鐘。這種快速回應能夠顯著提高彈性並促進業務持續性,從而使營運能夠按計劃繼續進行。
虛擬化如何運作?
虛擬化使用稱為虛擬機器監視器的專用軟體,在一台實體電腦上建立多個雲端執行個體或虛擬機器。
雲端執行個體或虛擬機器
在電腦上安裝虛擬化軟體後,您便可以建立一個或多個虛擬機器。您可以像存取電腦上的其他應用程式一樣存取虛擬機器。 您的電腦稱為主機,虛擬機器稱為客體。幾個客體可以同時在主機上執行。每個客體都有自己的作業系統,可以與主機的作業系統相同,也可不同。
從使用者的角度來看,虛擬機器的執行方式與典型的伺服器一樣。它具有設定、組態和已安裝的應用程式。中央處理器 (CPU)、隨機存取記憶體 (RAM) 和儲存等運算資源看起來與實體伺服器上的相同。您還可以根據需要設定和更新客體作業系統及其應用程式,而不影響主機作業系統。
虛擬機器監視器
虛擬機器監視器是安裝在實體機器上的虛擬化軟體。它是一個軟體層,充當虛擬機器與底層硬體或主機作業系統之間的中介。虛擬機器監視器協調對實體環境的存取,以便多個虛擬機器只存取各自擁有的那部分實體資源。
例如,如果虛擬機器需要運算資源 (如電腦處理能力),則請求首先會到達虛擬機器監視器。然後虛擬機器監視器將請求傳遞給執行任務的底層硬體。
以下是兩種主要的虛擬機器監視器類型。
類型 1 虛擬機器監視器
類型 1 虛擬機器監視器 (也稱為裸機虛擬機器監視器) 直接在電腦硬體上執行。它具有一些作業系統功能並且非常高效,因為它直接與實體資源互動。
類型 2 虛擬機器監視器
類型 2 虛擬機器監視器作為應用程式在具有現有作業系統的電腦硬體上執行。在一台機器上執行多個作業系統時可使用這種類型的虛擬機器監視器。
虛擬化有哪些不同的類型?
您可以使用虛擬化技術來取得許多不同類型的實體基礎設施的功能,同時享受虛擬化環境提供的所有好處。您可以超越虛擬機器,在虛擬環境中建立虛擬資源集合。
伺服器虛擬化
伺服器虛擬化是將實體伺服器劃分為多個虛擬伺服器的過程。這是在組織中使用伺服器資源和部署 IT 服務的一種高效且符合成本效益的方式。如果沒有伺服器虛擬化,實體伺服器只會使用少量的處理能力,這會使裝置處於空閒狀態。
儲存虛擬化
儲存虛擬化結合了網路連接儲存 (NAS) 和儲存區域網路 (SAN) 等實體儲存裝置的功能。您可以匯集資料中心中的儲存硬體,即使它們來自不同的供應商或類型不同。儲存虛擬化使用您所有的實體資料儲存,並建立一個大型虛擬儲存單元,您可以使用管理軟體對其進行指派和控制。IT 管理員可以簡化儲存活動,例如封存、備份和復原,因為他們可以將多個網路儲存裝置虛擬地組合到一個儲存裝置中。
網路虛擬化
任何電腦網路都包含硬體元素,例如交換器、路由器和防火牆。在多個地理位置設有辦公室的組織可以使用多種不同的網路技術建立其企業網路。網路虛擬化是一種結合所有這些網路資源,以集中管理任務的過程。管理員可以在不接觸實體元件的情況下虛擬地調整和控制這些元素,從而大大簡化網路管理。
以下是網路虛擬化的兩種方法。
軟體定義的網路
軟體定義網路 (SDN) 透過從實體環境中的資料路由接管路由管理來控制流量路由。例如,您可以對系統進行程式設計,讓視訊通話流量優先於應用程式流量,以確保所有線上會議的通話品質保持一致。
網路功能虛擬化
網路功能虛擬化技術將防火牆、負載平衡器和流量分析器等網路設備的功能結合在一起,以提高網路效能。
資料虛擬化
現代組織從多個來源收集資料並以不同的格式儲存資料。他們還可能將資料儲存在不同的地方,例如儲存在雲端基礎設施和內部部署資料中心。資料虛擬化在資料和需要資料的應用程式之間建立了一個軟體層。資料虛擬化工具處理應用程式的資料請求,並以合適的格式返回結果。因此,組織能夠使用資料虛擬化解決方案來增加資料整合的靈活性,並支援跨職能資料分析。
應用程式虛擬化
應用程式虛擬化將應用程式的功能提取出來,使其不僅能夠在設計時所針對的作業系統上執行,也能夠在其他作業系統上執行。例如,使用者可以在 Linux 機器上執行 Microsoft Windows 應用程式,而無需變更機器組態。若要實現應用程式虛擬化,請遵循以下做法:
- 應用程式串流 – 使用者從遠端伺服器串流應用程式,因此應用程式僅在需要時在最終使用者的裝置上執行。
- 以伺服器為基礎的應用程式虛擬化 – 使用者無需安裝應用程式即可從瀏覽器或用戶端介面存取遠端應用程式。
- 本機應用程式虛擬化 – 應用程式程式碼附帶自己的環境,無需變更即可在所有作業系統上執行。
桌面虛擬化
大多數組織都有非技術人員,他們使用桌面作業系統執行常見業務應用程式。例如,您可能有這樣的員工隊伍:
- 需要一台裝有 Windows 10 和客戶關係管理軟體的桌上型電腦的客戶服務團隊
- 需要 Windows Vista 用於銷售應用程式的行銷團隊
您可以使用桌面虛擬化在虛擬機器上執行這些不同的桌面作業系統,並讓您的團隊遠端存取。這種類型的虛擬化使桌面管理變得高效和安全,並節省了桌面硬體成本。以下是桌面虛擬化的類型。
虛擬桌面基礎設施
虛擬桌面基礎設施在遠端伺服器上執行虛擬桌面。您的使用者可以使用用戶端裝置存取它們。
本機桌面虛擬化
在本機桌面虛擬化中,您在本機電腦上執行虛擬機器監視器,並建立具有不同作業系統的虛擬電腦。您可以在本機和虛擬環境之間切換,就像在應用程式之間切換一樣。
AWS 如何在虛擬化和雲端運算方面提供協助?
您可以使用 AWS 透過多種方式建置、部署最新技術,並將其快速推向市場。例如,您可能能夠受益於以下任何服務:
- 使用 Amazon Elastic Compute Cloud (Amazon EC2) 對基礎設施進行精細控制。選擇所需的處理器、儲存和網路。
- 使用 AWS Lambda 進行無伺服器運算,這樣您就可以執行程式碼而不需要考慮伺服器。
- 使用 Amazon Lightsail 以較低且可預測的價格實作虛擬伺服器、儲存、資料庫和網路。
立即建立 AWS 帳戶,開始使用虛擬化和雲端運算。
伺服器虛擬化與容器化有何不同?
容器化是一種在任何實體或虛擬環境上部署應用程式程式碼,以執行應用程式而無需變更程式碼的方式。開發人員將應用程式碼程式碼與執行所需的相關程式庫、組態檔案和其他相依項捆綁在一起。這樣的單個軟體套件稱作一個容器,它可以在任何平台上獨立執行。容器化是應用程式虛擬化的一種。
您可以將伺服器虛擬化視為建設連接兩個地方的道路。您必須重新建立整個虛擬環境,然後在其上執行應用程式。相比之下,容器化就像建造一架可以飛到其中任何一個地方的直升機。您的應用程式位於容器內,可以在所有類型的實體或虛擬環境中執行。