FusionSphere 架构详解 关键字: 云计算 XEN Hypervisor FusionSphere 摘要: 本 技术 案 例 主要 针对 Huawei FusionSphere 云计算软件架构进行深入 分析 ,总结概括出我们 的 FusionSphere 云计算 产品技术 及 课程内容中的关键点,为产品技术学习和云计算授课能力提升提供支持 案例背景: 随着云计算技术的发展,越来越多的企业和组织开始接受和使用云计算的相关产品和技术,越来越多的厂商开始加入到云计算这个 IT 产业的新一轮潮流中,华为的云计算平台FusionSphere 经过多年发展也越来越成熟,在业界的项目越来越多 培训中,学员要么对云计算云里雾里,摸不到门道,要么已经被各个厂商的概念架构先入为主,因此我们在讲解 FusionSphere 的架构和技术时,要做到清晰准确,将华为云计算平台的架构和内部关系 清楚而准确的传达给学员 以下就是我对于 FusionSphere 架构的概述及关系描述,掌握架构 并明确了彼此关系,再对其中的各个组件进行学习时就不会出现一团乱麻,云里雾里的感觉,极大的提升学习效率 案例内容: 要了解 FusionSphere,我们就要看其底层技术, FusionSphere 底层使用的是 Xen 的架构,这种架构最重要的 有 两个点: 一是在单台物理机上建立 hypervisor 系统; 二是将所有单个 hypervisor 系统整合起来进行管理使用 。
我们先看第一点: 安装 CNA 节点,所有的物理服务器都会先成为 CNA 节 点( CNA: Computing Node Agent) ,安装 CNA 节点的过程其实就是安装 FusionSphere 底层操作系统的过程,裸物理服务器在安装了 FusionSphere 底层操作系统后成为 CNA,并成为了 UVP( Universal Virtualization Platform)平台的一个成员 ,该操作系统我们可以称之为 Cloud OS 再看第二点: 在多个物理服务器安装 Cloud OS 之后,我们还需要将所有的已经虚拟化的资源用起来,这时候就需要用到 VRM( Virtual Resource Management)这个组件了, VRM 的功能体现在 对FusionSphere hypervisor 的统一化管理上,简单的说就是把安装了 Cloud OS 的各个独立 CNA节点统一管理起来,并对各个节点中的计算资源,存储资源和网络资源三大资源进行统一管理和分配,具体就表现在虚拟机的创建和管理 , 分布式虚拟交换机的创建和管理,存储资源的应用, datastore 的创建和管理等 功能 。
FusionCompute 就是 VRM 功能的外化管理界面,同时为更好的使用 FusionCompute 所提供的虚拟化资源管理功能,有了 FusionManager 这个组件, FusionManager 是一个在FusionCompute 上层的 hypervisor 管理软件,除了可以管理 FusionCompute 外还可以管理vSpere, Hyper-V 等其他厂商和平台的 hypervisor,通过不同平台所提供的开放接口调用平台的基础功能,在这些功能上做进一步的资源调度管理就是 FusionManager 的作用了 在 FusionSphere 这个系统中, FusionCompute, FusionManager 等组件都是以虚拟机形式存在于 hypervisor 之上,安装了 FusionCompute 和 FusionManager 虚拟机的节点作为 MCNA,也就是管理节点;拥有管理节点的集群为管理集群我们在安装 VRM 和 FusionCompute 等组件时都是用华为所提供的虚拟机模板进行直接导入的 这里我们再单独说一下 XEN 这种 虚拟化架构中最为重要的 几个 概念, XEN Hypervisor, Domain0 和 DomainU Xen Hypervisor 是计算机硬件的软件抽象层,它直接运行于硬件之上,并将其计算能力通过抽象接口 (虚拟机 )提供给运行于其上的任何操作系统。
它的首要任务在各虚拟机之间进行CPU 资源调度、内存资 源分配及中断请求管理,并负责控制共享处理环境的各虚拟机的执行但它并不负责实现计算机系统应该具备的网络、外部存储设备、显示设备或其它通用 I/O 功能等 Domain0 Xen 虚拟化环境中用域 (domain)来描述各虚拟机,每个域都有其 ID 等属性,因此各虚拟机常表示为 domain 0、 domain 1 等,也可以使用简写的方式,如 dom0 Dom0 是运行 Xen Hypervisor上的一个独特的虚拟机,其操作系统内核为经过特殊修改的 Linux 内核,其能够直接访问硬件 I/O 资源及与其它虚拟机进行交互其它的域没有 直接直接访问硬件 I/O 资源的权限,并且彼此间是高度隔离的因此, dom0 也被称作特权域,其它域则统一称为 DomU(Unprivileged Domain)需要注意的是, DomU 通过 Dom0 来实现 I/O 功能,因此,在 DomU 运行之前必须先启动 Dom0 DomainU DomU 是非特权域,它们均无权限直接访问硬件资源 Xen 支持两种不同类型的虚拟模式:PV(Paravirtualization)和 HVM(Hardware-assisted or Full Virtualization),它们可以同时运行于同一个 Xen Hypervisor 上,并且甚至可以在 HVM 环境使用 PV 技术,这也称作 PV on HVM。
Xen 半虚拟化 (Xen Paravirtualization) 半虚拟化 (Paravirtualization,简称为 PV)是由 Xen 开发的高效且轻量级的虚拟化技术,现已经为众多虚拟化平台所借用 PV 不要求 CPU 支持虚拟化扩展,但依赖于 Xen-PV-enabled 内核和 PV 驱动程序,因此,客户机 (guest)明确知道自己运行于 hypervisor 之上,它不需要仿真硬件,从而能高效运行 PV 客户机中包含两类特殊驱动:网络前端驱动 (Network Frontend Driver)和块设备前端驱动(Block Frontend Driver),分别用以与 Dom0 中对应的后端驱动通信以完成网络访问和块设备访问 Xen 完全虚拟化 (Xen Full Virutalization) 完全虚拟化也称作硬件辅助的虚拟化 (Hardware-assisted virtualizion)技术,它利用 CPU 的特殊扩展功能实现客户机的虚拟 HVM 依赖于 Intel VT 或 AMD-V 硬件扩展,同时, Xen 还使用Qemu 来为 HVM 模拟 PC 硬件,如 BIOS、 IDE 磁盘控制器、 VGA 图形适配器、 USB 控制器及网络适配器等,而 CPU 的虚拟化扩展技术还能够大大提升这些仿真硬件的性能。
HVM 不要求操作系统做出任何修改即可正常运行,故此, windows 等操作系统均可支行于 HVM 环境但需要注意的是, HVM 虚拟机需要仿真多种硬件,因此其性能不如 PV 虚拟机 PV on HVM 为了提高其性能, HVM 客户机也可以使用特殊的半虚拟化驱动 (PVHVM 或 PV-on-HVM 驱动 ),这类驱动是为 HVM 环境专门优化的 PV 驱动,由此可以使得 HVM 不再依赖于磁盘及网络 I/O的仿真,从而在 HVM 上提供接近甚至优于 PV 环境的性能 总结: 通过以上的描述,我们可以对 FuisonSphere 的内部架构以及各个组件的关系有一个比较清晰的认知,同时对 Xen 虚拟化平台及相关重要技术有一个比较清晰的了解这对于云计算知识的学习和培训授课都有很好的帮助 周烽 EBG 培训与认证部 。