WEB开发网
开发学院服务器云计算 剖析开源云:构建 Infrastructure as a Service 块... 阅读

剖析开源云:构建 Infrastructure as a Service 块

 2010-04-26 00:00:00 来源:WEB开发网   
核心提示: 除了将 Linux 转换为 hypervisor 外,还有其他一些以 VM 为中心的解决方案,剖析开源云:构建 Infrastructure as a Service 块(3),User-Mode Linux (UML) 则是另一种方式,它能修改 guest Linux 内核使其运行在另一个 L

除了将 Linux 转换为 hypervisor 外,还有其他一些以 VM 为中心的解决方案。User-Mode Linux (UML) 则是另一种方式,它能修改 guest Linux 内核使其运行在另一个 Linux 操作系统上(无 hypervisor 扩展)。因为大多数用户都希望运行一个未被修改的内核,所以完整的虚拟化解决方案(比如 KVM)更受欢迎。

UML 方法也很受欢迎,但它需要虚拟硬件(比如控制台、虚拟硬盘和网络)。

设备仿真

hypervisor 提供了与多个操作系统共享 CPU 的途径(CPU 虚拟化),但是为了提供完整的虚拟化,整个环境都必须针对这些 VM 进行虚拟化。机器 — 或平台 — 仿真可以以几种方式实现,其中有一种流行的开源包可支持许多 hypervisor,被称作 QEMU。QEMU 是一个完全的仿真器和 hypervisor。但是 KVM 只将 QEMU 用于设备仿真,作为用户空间内的一个单独过程(参见 图 1)。QEMU 的一个有趣特性是因它提供了磁盘仿真(通过 QCOW 格式),QEMU 还提供了其他一些高级特性,比如快照和实时 VM 迁移。

自内核 2.6.25 后,KVM 使用 virtio 作为一种优化 I/O 虚拟化性能的手段。为此,它将准虚拟化了的(paravirtualized)驱动程序引入到 hypervisor,进而将性能提高到了接近原生的级别。虽然这只有在操作系统可针对此目的修改时才有效,但是它还是可以用在 Linux hypervisor 场景中的 Linux guest 内。

如今,virtio 和 QEMU 可协同工作以便在用户空间内的 Linux guest 和 QEMU 仿真器之间优化仿真设备事务。

虑拟网络

由于 VM 合并到了物理服务器上,因此对平台的联网需求十分迫切。但我们不需要把所有 VM 的联网都强加到这个平台的物理层上,本地通信可自行被虚拟化。为了优化 VM 间的网络通信,引入了虚拟交换。vSwitch 和物理交换一样,只是被虚拟化进了这个平台(参见图 3)。在这个图中,与 VM 相连的虚拟接口(VIF)通过虚拟交换与物理接口(PIF)进行通信。

上一页  1 2 3 4 5 6  下一页

Tags:剖析 开源 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接