第 1 章 虚拟化的一般介绍
1.1. 什么是虚拟化?
虚拟化 是一种广泛的计算术语,用于运行软件,通常是多个操作系统,同时与单一系统上的其他程序隔离。虚拟化通过 利用虚拟机监控程序 来实现。这是一个软件层或子系统,用于控制硬件并启用多个操作系统,称为 虚拟机(VM) 或 客户机 (通常是物理机器)。此机器及其操作系统称为 主机。如需更多信息,请参阅红帽客户门户网站。
有几种虚拟化方法:
- 完全虚拟化
- 完全虚拟化使用客户机操作系统的未修改版本。客户机通过由管理程序创建的频道来解决主机的 CPU。由于客户机直接与 CPU 通信,因此这是最佳虚拟化方法。
- 半虚拟化
- 半虚拟化使用经过修改的客户机操作系统。客户机与管理程序通信。管理程序将未经修改的调用从客户机传递到 CPU 及其他接口,均是真实和虚拟的。由于调用通过虚拟机监控程序进行路由,因此此方法比完全虚拟化要慢。
- 软件虚拟化(或模拟)
- 软件虚拟化使用二进制翻译和其他仿真技术来运行未经修改的操作系统。管理程序将客户机调用转换为可供主机系统使用的格式。由于所有调用都已转换,因此此方法比虚拟化要慢。请注意,红帽不支持 Red Hat Enterprise Linux 中的软件虚拟化。
- 容器化
- KVM 虚拟化创建 OS 内核、操作系统级别的虚拟化单独实例(也称为容器化)在现有 OS 内核之上运行,并创建主机操作系统的隔离实例(称为 容器 )。如需有关容器的更多信息,请参阅红帽客户门户网站。容器并不具有 KVM 虚拟化的灵活性,但其处理更加轻便且灵活。有关更详细的比较,请参阅 Linux 容器简介。要使用 Red Hat Enterprise Linux 上的容器,请从 Extras 频道安装 docker 软件包。请注意,红帽还为使用容器(如 Red Hat Enterprise Linux Atomic Host 和 Red Hat OpenShift Container Platform )提供了优化的解决方案。有关容器支持的详情,请查看 Red Hat knowledgeBase。