虚拟化技术的深入解析与应用
1. OS 扩展的劣势
OS 扩展存在明显的劣势,在单个容器的操作系统层面,所有虚拟机必须使用同一种客户操作系统。也就是说,不同的操作系统级虚拟机虽可能有不同的操作系统发行版,但它们必须属于同一操作系统家族。例如,像 Windows XP 这样的 Windows 发行版无法在基于 Linux 的容器上运行。然而,云计算用户的偏好各不相同,有的喜欢 Windows,有的则倾向于 Linux 或其他操作系统。所以,在这种情况下,操作系统级虚拟化面临着挑战。
操作系统级虚拟化是在操作系统内部插入虚拟化层,对硬件资源进行分区,让多个虚拟机在多个虚拟环境中运行应用程序。要实现操作系统级虚拟化,需基于单个操作系统内核创建隔离的执行环境(虚拟机),并且要将虚拟机的访问请求重定向到物理机上该虚拟机的本地资源分区。例如,在 UNIX 系统中,chroot 命令可以在主机操作系统内创建多个虚拟根目录,这些虚拟根目录就是所有创建的虚拟机的根目录。
实现虚拟根目录有两种方式:
- 将公共资源复制到每个虚拟机分区。
- 与主机环境共享大部分资源,仅在需要时在虚拟机上创建私有资源副本。
第一种方式会在物理机上产生显著的资源成本和开销,这一问题抵消了操作系统级虚拟化相较于硬件辅助虚拟化的优势,因此操作系统级虚拟化通常是次优选择。
2. Linux 或 Windows 平台上的虚拟化
目前,大多数已报道的操作系统级虚拟化系统都是基于 Linux 的,而基于 Windows 平台的虚拟化支持仍处于研究阶段。Linux 内核提供了一个抽象层,使软件进程在无需了解硬件细节的情况下就能与资源进行交互和操作。新
超级会员免费看
订阅专栏 解锁全文
1891

被折叠的 条评论
为什么被折叠?



