A virtual machine (VM) is an emulated or digital version of a physical computer. Virtual machines can be used to run different operating systems and applications, store data, connect to networks, as well as perform other tasks like a physical device. Virtual machines run on a physical device called a host or parent server. And a virtual machine is called a guest or child.
在本文中,我將解釋虛擬機器的工作原理以及它們與容器之間的區別。我還將詳細介紹虛擬機器的一些最重要用例,包括跨平台軟件開發和惡意軟件調查。
虛擬機器如何工作?
基本上,虛擬化技術允許用戶在單個主機上同時創建和運行多個虛擬機器。例如,Windows 主機能夠運行帶有 Windows、CentOS、Ubuntu 和其他 Linux 發行版的不同虛擬機器。
A virtual server uses hypervisor software to interact with the underlying physical hardware. It makes it possible to keep VMs separate and evenly allocate host resources (CPUs, storage, and memory) to each VM guest as needed. The hypervisor can also schedule operations to prevent deadlocks.

兩種類型的超級管理員
在虛擬化中有兩種主要类型的超級管理員。
型號 1 超級管理員(進程虛擬機)
首先,類型 1 超級監視器,也被稱為裸金屬超級監視器,在物理計算機上運行。通常,需要使用單獨的管理工具來創建/管理虛擬機器並管理超級監視器上的權限。Microsoft Hyper-V和Citrix Hypervisor是類型 1 超級監視器的示例。
類型 2 超級監視器(系統虛擬機)
A type 2 hypervisor, also known as a hosted hypervisor, can run as an application on the host OS. It allows users to manually create a virtual machine instance and install a guest operating system.
類型 2 超級監視器相對較慢,因為每個虛擬機器請求必須路由到主機操作系統。它適合個人、開發人員和無法買專用服務器的小公司。一些常見的類型 2 超級監視器示例包括Oracle VirtualBox和VMware Workstation。
什麼是虛擬化?
虛擬化是一種技術,涉及在物理主機上創建一個抽象層。它有助於將單台計算機的硬件資源(CPU、RAM 和存儲)劃分為稱為虛擬機器的不同虛擬計算機。
每個虛擬機器都像一台獨立的機器,擁有自己的操作系統。這是組織希望在一台物理服務器上運行多個操作系統和應用程序的具有成本效益的解決方案。
五種虛擬化類型
有五種常見的虛擬化類型:硬件、軟件、存儲、網絡和桌面虛擬化。
1. 硬件虛擬化
硬件虛擬化,也被稱為伺服器虛擬化,是一種允許用戶創建電腦和操作系統虛擬版本的技術。它可以同時在同一台物理機器上運行多個操作系統。硬件虛擬化還優化了硬件資源的利用率。
2. 軟件虛擬化
軟體虛擬化是一種方法,使物理主機機器能運行多個虛擬計算機。它利用虛擬機軟體在不同虛擬機(VM)之間分配硬體資源(如存儲、處理器和內存)。例如,Linux發行版可以在運行Windows操作系統的電腦上的一個虛擬機中運行。
3. 存儲虛擬化
存儲虛擬化將多個網絡存儲設備的物理存儲整合為一個虛擬磁碟。它有各種好處,包括降低成本,負載平衡,災難恢復規劃,以及提高性能和速度。
4. 網絡虛擬化
網絡虛擬化是將物理網絡分組為單個基於軟體的虛擬網絡的過程。它有助於將可用帶寬分佈到不同通道並分配給設備和伺服器。它提供了改善安全性、可靠性和網絡速度等好處。
5. 桌面虛擬化
桌面虛擬化使用戶能夠模擬工作站負載,以便可以從任何地方的任何設備訪問它。其主要好處包括節省成本,資源優化,增強數據安全性,以及更容易管理。
使用VM的主要好處是什麼?
虛擬機器(VMs)為最終用戶和IT管理員提供各種好處。以下是使虛擬機器在企業環境中非常吸引人的一些功能列表:
1. 雲計算
虛擬化技術為雲計算提供了基本架構。它使企業能夠部署和遷移基於雲的虛擬機器到本地伺服器環境,並利用混合雲。
組織也可以即時分配和更改雲資源以滿足其動態使用需求。基於雲的VM服務廣泛用於運行SaaS應用程式,備份數據以及托管電子郵件和訪問管理服務。
2. 成本效率
虛擬機器允許組織在單個伺服器上創建和運行多個虛擬機器實例。由於IT硬件成本對企業來說可能是一個真正的挑戰,VMs可以通過使用最少的實體硬件資源來增加成本效率。例如,IT管理員可以使用單個伺服器機器在企業環境中部署不同應用程式。
3. 安全性
用戶可以創建虛擬環境來增強安全性,防止惡意軟件對底層硬件和操作系統產生影響。用戶可以在發生網絡攻擊時迅速輕松地將受感染的虛擬機器恢復到舊版本。
與此同時,開發人員可以使用虛擬機器來測試軟件更新和應用程序,然後再發布給生產用戶。虛擬機器對於研究人員測試惡意軟件也是很有幫助。
4. 可擴展性和便攜性
虛擬化技術允許用戶快速部署不同類型的虛擬機器,選擇他們想要的操作系統和一套特定的資源。虛擬機器還可以幫助組織更好地應對工作負載的變化,同時節省在物理服務器上安裝不同操作系統所需的額外時間和精力。
5. 工作負載遷移
虛擬機器被稱為“自包含的封裝”,與物理計算機解耦。這使得IT團隊更容易將系統遷移至更快的硬體,將一個虛擬機器從一台服務器移動到另一台,以及從故障中恢復。
6. 災難恢復
組織可以使用虛擬機器在雲環境中備份他們的系統。這種功能提供了額外的安全層,並最大程度地減少了在硬件故障等情況下的數據損失風險。
7. DevOps支持
虛擬機器為企業開發人員提供最大的靈活性。他們可以建立帶有完整功能的獨立環境,用於軟體開發和測試過程。虛擬機器還允許開發人員在不同操作系統上運行和測試不相容的軟體。
虛擬機器 vs. 容器
就像虛擬機器一樣,容器使運行應用程式與基礎主機隔離成為可能。然而,讓我們更仔細地看看虛擬機器和容器之間的主要區別:
Virtual Machines | Containers |
---|---|
Hardware-level process isolation | Operating system-level process isolation |
A virtual machine offers complete isolation of apps from the host OS | Containers can share some resources with the host OS |
VMs use a few GBs of system memory | Containers require less memory space (KBs or MBs) |
Each VM has a dedicated OS | Containers can share OS resources |
VM is more secure | Containers are less secure |
Boots in minutes | Boots in seconds |
VMs consume more system resources | Containers consume fewer resources |
VMs can move between hardware | Containers are destroyed and recreated |
VM creation takes a considerable amount of time | Users can create containers within a few seconds |
Users can run any OS inside the VM | Users can only run containers on the same OS version as the host |
Some popular use cases of VMs are running multiple applications, monolithic applications, and legacy apps on older OS. | Containers are best for running web apps, DevOps testing, and microservices. |
虛擬機器的主要用途
虛擬機器對於終端用戶和IT管理員都有幾個用途。以下是一些例子:
1. 測試新操作系統
虛擬機器使用戶能夠在單個物理主機上運行不同的操作系統。這意味著用戶可以測試新功能,而不影響其主要操作系統。
如果您是Windows Insider,您可能会想要使用虚拟机来测试来自Dev通道的Windows 11预览版本。尽管这些版本可能会相当不稳定,但如果您的虚拟机因某种原因无法启动,您可以重新创建虚拟机并重新安装操作系统。
2. 运行旧版或不兼容软件
另一个常见的虚拟机用例是在企业环境中使用旧版软件应用程序。虚拟机允许用户运行其现有操作系统不支持的软件。
3. 恶意软件调查
恶意软件研究人员经常需要新的机器来测试恶意程序或应用程序。这就是虚拟机派上用场的地方。他们可以在虚拟机中测试软件,而不必担心在物理主机上感染。
4. 跨平台软件开发
虚拟化技术使软件开发人员和测试人员能够在多个平台上测试其应用程序。例如,开发团队可以使用各种虚拟机在模拟环境中测试应用程序的不同版本。
5. 培训课程
在培訓室電腦上運行各種操作系統的不同實例非常重要。虛擬機器讓培訓師進行能夠複製不同業務情境和環境的培訓課程。
6. 安全瀏覽
最後,虛擬機器有助於確保使用者安全的瀏覽體驗。當遭遇惡意軟件感染時,可以對 VM 做快照,然後將其恢復到先前的狀態。使用者可以設置 Type 2 hypervisor 或要求 IT 管理員授予他們臨時訪問服務器上托管的虛擬桌面的權限。
結論
總而言之,虛擬機器是一種成本效益高的解決方案,使 IT 團隊能夠有效地分配系統資源並管理大型電腦集群。然而,虛擬機器有其各種優缺點,組織通常根據其業務需求使用混合方式(物理機器和虛擬機器)。