【虛擬空間】服務器虛擬化是什么?一臺服務器如何實現虛擬化?
服務器虛擬化技術允許一個物理服務器創建多個虛擬服務器,這些虛擬服務器可以執行與普通服務器相同的任務,而不需要每個虛擬服務器擁有自己的物理資源。每個虛擬服務器都執行指定的功能,不影響在相同硬件上運行的其他虛擬服務器。
許多虛擬機與一個物理服務器相關聯,虛擬化軟件將物理組件與虛擬環境(虛擬機監控程序)分開,管理程序表示底層物理資源和運行于其上的虛擬環境之間的管理層。
在虛擬化之前,需要在硬件上安裝一個操作系統(OS),使其直接鏈接到服務器。這意味著,如果需要多個服務器,每個服務器必須有自己的硬件。平均而言,專用服務器在正常運行期間僅使用15%的資源。
考慮到必須為每個服務器以及它的電力使用、空間、冷卻和維護付費,將整個服務器都投入到一個任務中可能是低效的。在虛擬化之前,存在電力和硬件資源的浪費,以及軟件或硬件修復實例的低效。因此,出于安全目的,需要提高資源利用率,并保持客戶機操作系統之間的隔離。
服務器虛擬化的類型
基于服務器虛擬化提供的隔離,有三種方法:
1.完全虛擬化
在完整的虛擬機模型中,管理程序完全隔離客戶機。它共享主機的硬件,但運行起來就像在完全自主的計算機上一樣,不影響管理程序及其角色。這些虛擬機認為自己是獨立和高效的,因此,不需要調整或特別修改它們的操作系統實例。
2.Paravirtual
當需要多個虛擬機并具有靈活的資源共享時,可能不需要完全虛擬化的環境。在這種情況下,半虛擬化的環境可能更適合這種情況。
虛擬模型消除了VM捕獲特權指令的需要,使其更節省時間,對系統的干擾更小。操作系統承認系統管理程序的存在,并通過發送稱為超調用的注釋與之直接通信。
為了進行這種通信,管理程序和操作系統都專門用于交換超調用。因此,半虛擬化需要一個半虛擬化的管理程序和操作系統。通過實現API(應用程序編程接口)來修改它們,使它們能夠通過超調用進行通信。
3.操作系統層
操作系統級別的虛擬化是操作系統的一個特性,操作系統的內核允許存在多個用戶空間實例。
程序可以在容器中運行,但僅限于容器的內容和分配給該容器的設備。與主要操作系統不同,這些用戶空間實例認為它們擁有所有可用資源,但僅限于分配給容器的資源。
由于此級別的虛擬化使用與主機相同的操作系統和內核,因此只能根據操作系統的版本與主機不同。因此它是有限的,因為它不能擁有與其主機不同的操作系統。
創建虛擬環境使用兩種類型的管理程序
1.Type 1 Hypervisors
Type 1或 bare-metal hypervisors直接安裝在主機的物理硬件上,在硬件和操作系統之間提供一個層。在這一層之上,可以安裝許多虛擬機。這些機器沒有以任何方式連接,它們可以擁有不同的操作系統實例,并充當不同的應用程序服務器。
系統管理員和高級用戶通過稱為管理控制臺的接口遠程控制管理程序,有了它,可以連接和管理操作系統的實例。還可以打開和關閉服務器,將操作系統從一臺服務器轉移到另一臺服務器(在停機或故障的情況下),并執行許多其他操作。
Type 1 Hypervisors是高度安全的,因為它沒有底層操作系統(主機)的攻擊面。此外,它根據每個虛擬機的使用情況控制和分配分配給每個虛擬機的資源,以避免浪費資源。
Type 1 Hypervisors監控程序的例子包括VMware ESXi、KVM、Oracle VM、Citrix XenServer、Microsoft Hyper-V等。
2.Type 2 Hypervisors
與Type 21不同,Type 22管理程序安裝在現有操作系統之上。這允許用戶使用個人計算機或服務器作為虛擬機的主機。因此,擁有底層硬件、充當主機的操作系統、管理程序和客戶操作系統。
雖然VM是獨立的,但是主操作系統仍然直接連接到硬件,這使得它比Type 1管理程序更不安全。在安全性至關重要的環境中,這種類型的管理程序可能不適合需要。然而,最終用戶和小型企業的客戶可能會發現這種環境更合適。在類型2管理程序的情況下,過度分配可能導致主機崩潰。
Type 2管理程序的例子包括VMware Workstation、KVM、Oracle VM VirtualBox、Microsoft Virtual PC、Red Hat Enterprise Virtualization等。