什么是虚拟机?顾名思义,虚拟机(VM)就是模拟物理机的虚拟环境。VM 有自己的中央处理器 (CPU)、内存、网络接口和存储,但它们独立于物理硬件。只要硬件资源得到有效分配,多个虚拟机就可以在一台物理机上共存而不会发生冲突。VM 是使用软件仿真和硬件虚拟化实现的。
虚拟机类型
组织可以使用两种类型的虚拟机:
进程虚拟机
也称为应用程序虚拟机,进程虚拟机支持单个进程或应用程序在主机操作系统上运行。它用于屏蔽底层硬件或操作系统,并像其他本机应用程序一样执行应用程序。它通常用于提供独立于平台的编程环境。例如,Java 应用程序是使用 Java 虚拟机 (JVM) 实现的。另一个例子是 Wine 软件,它帮助 Windows 应用程序在 Linux 上运行
虚拟化类型
如今,IT 基础设施或传统数据中心的所有组件都可以虚拟化,并提供多种虚拟化:
- 存储虚拟化:可以通过将多个物理存储设备整合为单个存储设备来实现存储虚拟化。
- 软件虚拟化:可以通过创建一个完整的计算机系统来虚拟化软件,该计算机系统具有允许一个或多个来宾操作系统在物理主机上运行的硬件。
- 硬件虚拟化:计算机和操作系统 (VM) 的虚拟版本被创建并整合到一个单一的、主要的物理服务器中。
- 桌面虚拟化:桌面虚拟化将桌面环境与物理设备分离,并将桌面存储在远程服务器上,允许用户从任何地方在任何设备上访问他们的桌面。
- 网络虚拟化:通过将设备组合成一个基于软件的虚拟网络资源,可以在同一物理网络上创建多个子网。
系统虚拟机
系统虚拟机,也称硬件虚拟机,虚拟出一个完整的操作系统,可以作为物理机的替代品。系统虚拟机共享主机的物理资源,但有自己的操作系统。虚拟化进程在裸硬件(本机虚拟机)或操作系统(托管虚拟机)之上运行的管理程序或虚拟机监视器上运行。VirtualBox 和 VMware ESXi 都是系统虚拟机的例子。
使用虚拟机的好处
虚拟机本质上是计算机中的计算机。虚拟机有几个优点:
- 降低硬件成本。许多组织没有充分利用他们的硬件资源。组织可以启动虚拟服务器,而不是投资另一台服务器。
- 更快的桌面配置和部署。部署新的物理服务器通常需要许多耗时的步骤。但是,借助虚拟化系统,组织可以使用安全的预配置服务器模板快速部署新的虚拟服务器。
- 占地面积更小。利用虚拟化减少了维护和扩展 IT 功能所需的办公空间,同时还释放了办公桌空间以支持更多员工。
- 增强的数据安全性。虚拟化通过在云中复制您的服务器来简化灾难恢复。由于 VM 独立于底层硬件,因此组织不需要异地的相同物理服务器来促进辅助恢复站点。在发生灾难时,员工可以使用经济高效的备份和灾难恢复解决方案快速恢复在线。
- 便携性。可以跨虚拟环境无缝移动 VM,甚至可以从一台物理服务器移动到另一台物理服务器,而 IT 团队的投入最少。VM 彼此隔离并具有自己的虚拟硬件,从而使它们与硬件无关。将物理服务器移动到另一个位置是一项资源密集型任务。
- 提高 IT 效率。许多 IT 部门至少有一半的时间用于管理日常管理任务,但是通过虚拟化,可以将一台物理服务器划分为多个虚拟机——管理员可以从一台物理服务器同时部署和管理多个操作系统。
使用虚拟机的挑战
虚拟机有很多优势,尤其是当人们需要在一台物理设备上运行多个操作系统时。但是,使用 VM 会面临一些挑战:
- 当同时运行的 VM 在主机上运行时,每个 VM 都会引入不稳定的性能,具体取决于系统的工作负载。
- 与物理机器相比,VM 的效率有所下降。
- 虚拟化解决方案的许可模式可能很棘手。由于额外的硬件要求,它们可能会导致巨大的前期投资成本。
- 由于 VM 和云部署的漏洞数量越来越多,安全性成为一个额外的问题。
- 对于每个虚拟化解决方案,基础架构设置都很复杂。小型企业必须聘请专家才能成功部署这些解决方案。
- 当多个用户尝试访问同一物理主机上的相同或不同虚拟机时,虚拟机会构成数据安全威胁。
虚拟机与容器的异同
容器是一个标准化的软件单元,包括代码及其所有依赖项,例如系统库、系统工具和设置。可以跨所有类型的基础架构快速可靠地部署容器化应用程序。虚拟机和容器都隔离应用程序,因此它们可以在任何平台上运行。但虚拟机与容器的不同之处在于,它虚拟化硬件以在一台机器上运行多个操作系统。相比之下,容器将单个应用程序及其所有依赖项打包在一起,因此它可以在任何操作系统上运行。
虚拟机在管理程序上运行并包含单独的操作系统映像,而单个主机上的容器共享主机的操作系统内核。与虚拟机相比,这使得容器非常轻便并减少了管理开销。它们的可移植性使它们非常适合 Web 应用程序和微服务。虚拟机不是轻量级的,可能需要更多时间才能启动,但它们有自己的操作系统内核,最适合同时运行多个应用程序或需要旧操作系统的遗留应用程序。虚拟机和容器也可以一起使用。