1. 程式人生 > 實用技巧 >啥叫虛擬機器,為啥這麼有用

啥叫虛擬機器,為啥這麼有用

如今的很多尖端技術,就像是雲端計算,邊緣計算以及微服務的起源都是根據虛擬機器的概念,它將作業系統和軟體從實際的計算機上分離開來。

什麼是虛擬機器

從根本上講,虛擬機器就是一個可以執行程式或者應用且不用物理機器的軟體。在虛擬機器執行例項中,一個或者多個客戶機可以在物理主機上執行。

每一個虛擬機器都有自己的作業系統,而且不同虛擬機器的功能是相互獨立的,即使它們是位於一個物理主機上。虛擬機器一般都是執行在計算機的伺服器上,當然也可以執行在桌面系統,甚至可以執行在嵌入式平臺上。多個虛擬可以通過物理主機進行分享資源,包括CPU週期,網路頻寬以及記憶體。

虛擬機器起源於1960年代的早期計算,當時大型機使用者的時間共享是將軟體與物理主機系統分離的一種方式。虛擬機器在1970年代早些時候被定義為實際計算機器的有效率的獨立的副本。

眾多周知,虛擬機器在過去的15年間獲得了發展,因為公司為了更有效的利用它們的物理伺服器的計算能力採用了服務虛擬化,減少了對於物理伺服器的需求,也節省了資料中心的儲存空間。因為不同作業系統上的應用能夠執行在獨立的物理主機上,因此每個伺服器並不需要配個伺服器硬體。

一般來說,現在有兩種型別的虛擬機器:一種就是程序虛擬機器,可以分開獨立的程序,還有一種就是系統虛擬機器,它提供了和物理主機完全獨立的作業系統和應用。程序虛擬機器的示例包括Java虛擬機器和.NET Framework和Parrot虛擬機器。

系統虛擬機器依賴管理程式,它是軟體能夠有權利訪問硬體的中介。比較有名的虛擬機器管理程式空間包括,VMware (ESX/ESXi), Intel/LinuxFoundation(Xen),Oracle (MV Server for SPARC and Oracle VM Server for x86) 以及 Microsoft (Hyper-V).

計算機桌面系統也可以使用虛擬機器。這裡最合適的例子就是Mac使用者在他們的物理主機上使用虛擬機器執行windows10的例子。

虛擬機器的優點

因為軟體是獨立於物理主機電腦的,使用者可以在一片獨立的硬體上執行多個系統示例,可以節省公司的時間,管理花費以及物理空間。另外一個優點就是執行老的版本的app,減少甚至消除遷移一箇舊的版本的app到一個更新的或者不同的作業系統的需求和花費。

除此之外,開發者為了在一個安全的沙盒環境裡測試應用會使用虛擬機器。這樣也能幫助孤立可能會感染VM例項的惡意軟體。由於VM中的軟體並不能篡改主機電腦,惡意的軟體並不能傳播很多的危害。

虛擬機器的缺點

虛擬機器也是有一些缺點的。一個物理主機執行多個虛擬機器可能會導致效能不穩定,尤其是特定應用的基本要求沒有滿足的時候。在大多數情況下虛擬機器的效率還是比不上物理主機。大多數的IT操作利用了物理主機和虛擬機器間的平衡。

其他虛擬化的形式

VM在虛擬伺服器上的成功應用,引出了虛擬化在其他領域的應用,這其中包括儲存,網路以及桌上型電腦。很有可能在資料中心使用的某一種型別的硬體,正在探尋它的虛擬機器化的定義。

網路虛擬化公司已經探索了網路作為服務的選項以及網路功能虛擬化,它使用了商品伺服器來替代專用的網路容器來達到更可變和可擴充套件的服務。這和軟體所定義的網路有些不同,它會讓網路控制平臺從前端平臺分離出來,從而實現網路資源的更多自動配置和基於策略的管理。第三種技術,虛擬網路功能,是基於軟體的服務能夠執行在虛擬網路技術平臺,包括例如路由,防火牆,負載平衡,WAN加速和加密等過程

VM及其容器

VM的發展導致了其他技術的更深的發展就比如說容器,讓概念進一步發展並得到網站應用開發者的訴求。在一個容器的設定中,一個獨立的伴有依賴的應用可以被虛擬化。與VM相比容器的消耗更小,一個容器只包含二進位制檔案,庫檔案以及應用。

有些人認為容器的發展可能會殺死VM,VM有足夠的能力和優勢讓它自己前進。例如,當多個應用需要一起執行時,或者在舊版本的作業系統上執行舊的應用,VM還是很有用的,

除此之外,一些人感覺容器的安全性和虛擬機器管理程式相比要弱,因為容器只有唯一的系統可以進行應用分享,而VM卻可以獨立應用和系統。

IDC軟體定義計算部門的研究經理Gary Chen表示,即使客戶探索雲架構和容器,VM軟體市場仍然是一項基礎技術。Chen在IDC的《2019-2022年全球虛擬機器軟體預測》中寫道:“儘管虛擬機器軟體市場已經非常成熟,並且已經接近飽和,但在未來五年中將保持顯著的彈性,並將繼續保持正增長。

VM,5G和邊緣計算

虛擬機器被視為5G和邊緣計算等新技術的一部分。例如,Microsoft,VMware和Citrix等虛擬桌面基礎結構(VDI)供應商正在研究將其VDI系統擴充套件到因COVID-19大流行而現在在家工作的員工的方法。卡內基梅隆大學電腦科學教授Mahadev Satyanarayanan說:“使用VDI,您需要極低的延遲,因為您將擊鍵和滑鼠移動基本上傳送到了遠端桌面上。” 在2009年,Satyanarayanan撰寫了有關如何使用基於虛擬機器的cloudlet來為Internet邊緣的移動裝置提供更好的處理能力的文章,從而推動了邊緣計算的發展。

源:

https://www.networkworld.com/article

/3583508/what-is-a-virtual-machine-and-why-are-they-so-useful.html

翻譯:daxuxu

公眾號:archlinux

翻譯不易點點關注吧,關注關注公眾號