
如今的很多尖端技術,就像是雲計算,邊緣計算以及微服務的起源都是根據虛擬機的概念,它將操作系統和軟件從實際的計算機上分離開來。
什么是虛擬機
從根本上講,虛擬機就是一個可以運行程序或者應用且不用物理機器的軟件。在虛擬機運行實例中,一個或者多個客戶機可以在物理主機上運行。
每一個虛擬機都有自己的操作系統,而且不同虛擬機的功能是相互獨立的,即使它們是位於一個物理主機上。虛擬機一般都是運行在計算機的伺服器上,當然也可以運行在桌面系統,甚至可以運行在嵌入式平台上。多個虛擬可以通過物理主機進行分享資源,包括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

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