虛擬機 (VM) 通常是指單個計算機上的單獨操作系統(tǒng)安裝,每個操作系統(tǒng)都共享計算機的系統(tǒng)資源。例如,可以在 Windows PC 上安裝 Linux VM。多個操作系統(tǒng)安裝可以同時共存于同一臺物理機器上,只要該機器具有足夠的硬件。這使 VM 成為擴展桌面和服務器環(huán)境的便捷方式。VM 的其他好處包括易于配置和維護以及高可用性。
虛擬化和虛擬機的定義
虛擬化使用軟件模擬計算機硬件,創(chuàng)建虛擬系統(tǒng)。應用程序、服務器、存儲和網(wǎng)絡都可以虛擬化。虛擬化是作為一種整合服務器的方式出現(xiàn)的。在虛擬化之前,您會看到許多數(shù)據(jù)中心充滿了運行不同操作系統(tǒng)和應用程序的服務器。通過虛擬化,現(xiàn)在可以在單個服務器上存儲多個操作系統(tǒng)和應用程序。因此,當今數(shù)據(jù)中心的服務器數(shù)量比以前少了。
VM 是指其他操作系統(tǒng)和應用程序所在的虛擬計算機系統(tǒng)。VM 是獨立的,完全獨立于充當其主機的物理硬件。一臺主機上可以安裝多個虛擬機或來賓機器。
稱為管理程序的軟件位于 VM 和主機之間,負責將主機的計算資源分配給 VM。管理程序可以是類型 1 或類型 2 管理程序。Type-1 管理程序直接在主機的硬件上運行;Type-2 管理程序運行在硬件操作系統(tǒng)之上。Microsoft Hyper-V 是 1 型管理程序的一個示例;Parallels? Desktop for Mac 是 2 類管理程序。
VM 的其他特征包括:
- 一臺服務器可以托管許多虛擬機,管理程序將其在服務器系統(tǒng)資源中的份額分配給每個虛擬機。
- 每個 VM 都是獨立的,獨立于其余硬件執(zhí)行。
- VM 的狀態(tài)可以保存到文件中,VM 可以像文件一樣移動和復制。
- 虛擬機不依賴于任何服務器;相反,它們可以輕松遷移到另一臺服務器。
虛擬機的好處
在您的組織中使用虛擬機有很多好處,包括:
節(jié)約成本
在虛擬化之前,組織將很大一部分 IT 支出用于購買用于托管應用程序的物理服務器。隨著虛擬化取得進展,組織轉而購買更強大的硬件,以適應更多的虛擬系統(tǒng)。這比購買更多硬件的成本要低得多。此外,您可以使用 VM 延長舊軟件的使用壽命。
輕松配置
更換遭受災難性事件襲擊的物理服務器可能需要數(shù)小時或數(shù)天時間。相比之下,虛擬化環(huán)境只需幾分鐘即可再次啟動,因為您始終可以復制或克隆它們。
提高生產(chǎn)力
IT 團隊的工作效率更高,因為他們只需維護主機。對于尚未遷移到虛擬化環(huán)境的傳統(tǒng)數(shù)據(jù)中心,硬件維護更加繁瑣。
高效的 DevOps
維護操作對您的生產(chǎn)環(huán)境的影響最小。在許多情況下,執(zhí)行維護時不需要停機。此外,VM 允許簡化應用程序和網(wǎng)站的測試和開發(fā)過程。
環(huán)境友好型 IT 運營
服務器數(shù)量越少,您節(jié)省的功耗就越多。這會降低您的運營費用,并減少數(shù)據(jù)中心的碳足跡。
容器:虛擬機的替代品
與在自己的操作系統(tǒng)上運行的 VM 不同,容器包含在單個操作系統(tǒng)安裝中。它們共享主機操作系統(tǒng)內(nèi)核和資源,包括二進制文件和庫。它們也是獨立且輕量級的,只需幾秒鐘即可啟動,而 VM 則要重得多,可能需要一分鐘或更長時間才能啟動。
由于它們的尺寸更小,與 VM 相比,您可以將更多應用程序放在帶有容器的單個服務器上。它們也非常適合用于開發(fā)、測試和部署,因為您基本上可以在這些環(huán)境中運行相同的容器。
Linux 容器 (LXC) 和 Docker 是兩種比較流行的容器類型。使用 LXC,您可以在單個主機上運行多個 Linux 系統(tǒng)。Docker 通過使容器更加便攜和靈活擴展了 LXC,并從此成為用于管理容器的領先容器運行時環(huán)境。
容器有其自身的優(yōu)勢,包括更低的內(nèi)存需求、更小的快照大小、本機級性能和更快的部署時間。
虛擬機相對于容器的優(yōu)勢
雖然容器較新并且有其自身的優(yōu)勢,但由于以下原因,虛擬機仍然是首選:
完全隔離意味著更高的安全性
來賓操作系統(tǒng)和主機之間的通信通過管理程序進行,因此更加安全。由于容器保留在主機操作系統(tǒng)中,因此它們更容易受到操作系統(tǒng)安全漏洞的影響。
可移植性意味著虛擬機可以更好地運行舊應用程序
VM 是獨立的和可移植的——它們可以在主機之間復制和克隆。要運行舊應用程序,您只需要有一個支持該應用程序的客戶操作系統(tǒng)。對于容器,如果主機操作系統(tǒng)不支持舊應用程序,則它不可能運行。
更好的資源分配意味著更好的運行資源密集型應用程序的能力
VM 可以更好地運行資源密集型應用程序,因為主機為它們分配了自己的資源。容器共享有限的資源——主機中的容器越多,分配給容器的資源就越少。
多功能性意味著分配持久存儲的能力
如果需要,可以將 VM 設置為存儲持久數(shù)據(jù)。容器本質(zhì)上是短暫的。您需要容器的復雜存儲解決方案來處理持久存儲。