虛擬化技術

2021-10-24 21:28:07 字數 3299 閱讀 3014

伺服器虛擬化

虛擬機器遷移

隔離技術

儲存虛擬化

網路虛擬化

桌面虛擬化

如果你開始閱讀這篇文章,就預設你了解什麼是馮諾伊曼結構。下圖就是經典的馮諾伊曼結構,有輸入輸出,有儲存器,有 cpu, 而其中又有控制單元也有運算單元 alu。這些就構成基本的計算機硬體系統了。而所謂虛擬化技術指的就是,希望能在一台主機上模擬出很多套這樣完整的結構,使同一臺主機能夠虛擬為多台主機使用。

深入點說,其實虛擬化技術意味的就是對計算資源的抽象。隨著雲計算的概念提出,虛擬化技術可以對資料中心的等等計算資源進行管理和分配,可以實現硬體級虛擬化,伺服器虛擬化,儲存虛擬化,網路虛擬化,桌面虛擬化。本篇就來說說對這些虛擬化技術的理解。

我們可以把虛擬化技術分為兩大類,第一類是建立在宿主主機上的,也就是說宿主機是有作業系統的,稱為寄居虛擬化。第二類的宿主機是沒有作業系統的,稱為裸機虛擬化。

寄居虛擬化的模型如下圖所示。最底層是計算機系統的基礎物理硬體,再上是主機的作業系統,作業系統上是乙個 vmm(virtual machine monitor),而 vmm 上才是使用者端的虛擬機器。

在寄居虛擬化的模型下,虛擬機器對計算機系統的各種呼叫都是通過 vmm 以及作業系統相互協調一起完成的。windows 使用者常用的 vmware, virtualbox 都是以這種方式完成的。

裸機虛擬化則是說,直接將 vmm 安裝在底層硬體之上。在裸機虛擬化的場景下,vmm 也叫做 hypervisor。虛擬機器所要執行的指令都會依靠 hypervisor 接管並與硬體互動。

概括地說,伺服器虛擬化是乙個抽象的概念,對資料中心的虛擬化有著極大的重要性。簡單來說,就是把乙個物理的伺服器虛擬成若干個獨立的邏輯伺服器。

最常見的伺服器虛擬化層次就是硬體級虛擬化,分為寄居虛擬化和裸機虛擬化。在上面的硬體級虛擬化已經介紹過了。

cpu 虛擬化

cpu 虛擬化就是把乙個物理 cpu 抽象成若干個虛擬 cpu 。因為乙個物理 cpu 在同意時間內只能服務於乙個作業系統,所以將 cpu 虛擬化有助於使多個客戶作業系統在同一時間內併發執行,而虛擬 cpu 的執行相互隔離,互不影響。

記憶體虛擬化

記憶體虛擬化是將物理記憶體統一管理,封裝成多個虛擬的邏輯記憶體空間提供給若干個虛擬機器使用,因此每個虛擬機器就擁有了獨立的記憶體資源。

i/o 虛擬化

因為 i/o 裝置的多樣性和異構性,導致 i/o 裝置的虛擬化會更加複雜和困難。i/o 虛擬化的概念是要將真實世界的物理 i/o 裝置統一管理,包裝成多個虛擬裝置給虛擬機器使用,以響應虛擬機器的 i/o 請求。

虛擬機器遷移的概念是虛擬機器源例項從源宿主機移到目標主機,且能夠恢復原先的狀態,以便能夠繼續執行原本的任務。虛擬機器遷移技術在雲計算領域十分重要,增強了系統的容錯程度,且對於錯誤也可以做到無損的修復。

總體來說,虛擬機器遷移技術分為三大類,p2v(physical to virtual),v2v(virtual to virtual),v2p(virtual to physical),v 表虛擬機器,p 表物理機。

虛擬機器動態遷移

虛擬機器遷移技術中,最關注的點就是實時遷移(live migration)。意思就是在虛擬機器都仍在執行的情況下要完成宿主機到目標機的遷移。

這就包括宿主機完整的狀態和資源的遷移。像是 cpu 狀態,記憶體狀態和資料資訊,磁碟,i/o 裝置等等。

虛擬機器遷移步驟

記憶體遷移

記憶體遷移是虛擬機器遷移過程中最困難的部分,因為不可能小且資料量大又必須完全完整。為了完成無損的記憶體遷移,又可以細分成三個階段:

push

stop-and-copy

pull

網路資源遷移

網路資源遷移包含宿主機本身所有的網路資源,像是網路協議(tcp/ip)或是 ip 位址等等,都要跟著一起遷移。

儲存裝置遷移

儲存裝置遷移通常需要占用大量的時間和資源,所以通常做法是以共享方式共享資料,檔案系統等等,而不是真正物理意義上的遷移。

隔離技術在虛擬化中非常重要。指的是虛擬機器之間在未經許可或配置下,不可互聯,不可互相訪問的技術。

儲存虛擬化將系統中分散的儲存資源整合起來,利用有限的物理資源提供大的虛擬存 儲空間,提高了儲存資源利用率,降低了單位儲存空間的成本,降低了儲存管理的負擔和 複雜性。在虛擬層通過使用資料映象、資料校驗和多路徑等技術,提高了資料的可靠性及 系統的可用性。同時,還可以利用負載均衡、資料移轉、資料塊重組等技術提公升系統的潛 在效能。另外,儲存虛擬化技術可以通過整合和重組底層物理資源,從而得到多種不同性 能和可靠性的新的虛擬裝置,以滿足多種儲存應用的需求。

如上圖所示,虛擬化儲存系統通常是會在底層的物理裝置上再加上一層虛擬化層,將物理裝置對映成乙個虛擬儲存池。

一般使用者使用虛擬化層對外提供的介面向虛擬儲存池發起請求,而虛擬化層的作用就在於處理這些請求並對映到具體的儲存裝置。使用虛擬化層的好處有三:

減少儲存系統的物理開銷

實現儲存系統資料共享

提高系統的可靠性和可擴充套件性

網路虛擬化的技術主要應用於資料中心。傳統資料中心因為伺服器之間的異構性,資料格式不統一等等的問題,導致資料中心網路傳輸效率低下。

由於雲計算技術的提倡,使得虛擬資料中心中業務的集中度、服務的客戶數量遠超過傳統的資料中心,因此對網路的高頻寬、低擁塞提出更高的要求。

虛擬化技術中的網路虛擬化技術就應用在這種場景下,分為三個層級的虛擬化。

虛擬化技術

虛擬化技術可以提供硬體,軟體上的虛擬化,從而節省成本。特別是對於需要修改或者隱藏操作細節的場景,虛擬化技術更加重要。容器化技術是可以用於替代容器化技術的,但是兩者確實可以融合,取長補短的。這裡容器化技術一般使用docker。vps基本上都是基於虛擬化技術的,例如vultr就是基於kvm核心虛擬化技術...

虛擬化技術

intel tsx ni 最白話的解釋就是乙個 執行緒鎖定判定邏輯的硬體加速,以前是在軟體層執行的,現在是硬體層了,方便程式設計和提公升執行效率 官方資料指出作用是能夠提公升多執行緒運算效能 vpro應該是商用機器上才會有支援,主要是提供mis從遠端管理機器,例如修補程式等,即使機器在關機的狀能,也...

虛擬化技術

在虛擬化蓬勃發展的這些年裡,虛擬化可以根據不同劃分標準進行分類,包括全虛擬化,cpu 虛擬化,硬體虛擬化,伺服器虛擬化,桌面虛擬化等等。我們通常所說的虛擬化主要是指平台虛擬化技術,通過使用 hypervisor,隱藏特定計算平台的實際物理特性,為使用者提供抽象的 統一的 模擬的計算環境 即虛擬機器 ...