本帖最后由 pig2 于 2014-3-10 20:47 编辑
云计算 OpenNebula的架构 OpenNebula是一款为云计算而打造的开源工具箱。它允许你与Xen,KVM或VMware ESX一起建立和管理私有云,同时还提供Deltacloud适配器与Amazon EC2相配合来管理混合云。除了像Amazon一样的商业云服务提供商,在不同OpenNebula实例上运行私有云的Amazon合作伙伴也同样可以作为远程云服务供应商。 目前版本,可支持XEN、KVM和VMware,以及实时存取EC2和 ElasticHosts,它也支持印象档的传输、复制和虚拟网络管理网络。
图1 OpenNebula总体架构图
OpenNebula可以构建私有云、混合云、公开云。
私有云 私有云的目的是给本地的用户和管理员提供了一个灵活和敏捷的私人基础设施,以在可管理的域内运行虚拟化服务。 OpenNebula虚拟基础设施暴露虚拟化、网络、图像和物理资源的配置、管理、监督和会计的功能接口。
图2 私有云 一个OpenNebula私有云为平台基础设施的用户提供了一个快速交付和可扩展性的平台,以满足最终用户的动态需求。服务托管在虚拟机,然后提交,监视和被云控制,通过使用OpenNebula运营中心或OpenNebula的任何接口。
图3 私有云内用户视图 主要特点和优势: 模块 | 功能 | 用户管理 | 用户管理,认证框架,多个云用户和管理员角色,会计,配额管理,安全的多租户。 | VM图像管理 | 带目录的镜像仓库和镜像管理,访问控制,以及从正在运行的虚拟机创建镜像。 | 虚拟网络管理 | 对互联的虚拟机;一定范围或固定的网络;虚拟网络共享;相关的第2层虚拟网络和网络隔离的通用属性定义提供虚拟网络管理。 | 虚拟机管理 | 虚拟机管理功能,支持在同一物理结构中的多个hypervisors,分布式环境的多个hypervisor管理,虚拟机自动配置,以及脚本在虚拟机的状态变化时的触发管理。 | 服务管理 | 部署由多层次的相互联系的虚拟机组成的群体服务;在启动时自动配置,以及对微软Windows和Linux镜像的支持。 | 基础设施管理 | 管理物理主机;创建本地集群,占地面积小,占用空间不到700KB。 | 存储管理 | 虚拟机映像管理,支持多种硬件平台(FibreChannel, iSCSI, NAS shared storage…)和存储后端传输镜像。 | 信息管理 | 虚拟机和物理基础设施的监控,并与数据监测工具集成,如 | 调度 | 强大和灵活的竞价/排名调度、工作量和资源分配政策,如包装,分割,负载感知….. | 用户界面 | Unix类似的云基础设施管理命令行。 | 运营中心 | 图形化管理的云基础设施。 |
混合云 OpenNebula提供Deltacloud适配器与Amazon EC2相配合来管理混合云。
图4 混合云 主要特点和优势: 模块 | 功能 | Cloudbursting | 本地的基础设施,可以辅从外部云计算能力,以满足高峰需求,更好地服务用户的访问请求,或者为了实现高可用性策略。支持亚马逊EC2,并同时访问多个云。 | Federation | 不同的云实例以构建一个独立的虚拟化集群层次;更高水平的可扩展性。 |
公开云 OpenNebula公有云是私有云的一个扩展,是在私有云的基础上对外暴露REST接口。如果你要让合作伙伴或外部用户能够访问您的基础设施,或出售你的服务,云接口可以被添加到您的私有或混合云。显然,一个本地的云解决方案是任何公共云自然后端。
图5 公开云 OpenNebula的构架包括三个部分:驱动层、核心层、工具层。驱动层直接与操作系统打交道,负责虚拟机的创建、启动和关闭,为虚拟机分配存储,监控物理机和虚拟机的运行状况。核心层负责对虚拟机、存储设备、虚拟网络等进行管理。工具层通过命令行界面/浏览器界面方式提供用户交互接口,通过API方式提供程序调用接口。
OpenNebula使用共享存储设备(例如NFS)来提供虚拟机映像服务,使得每一个计算节点都能够访问到相同的虚拟机映像资源。当用户需要启动或者是关闭某个虚拟机时,OpenNebula通过SSH登陆到计算节点,在计算节点上直接运行相对应的虚拟化管理命令。这种模式也称为无代理模式,由于不需要在计算节点上安装额外的软件(或者服务),系统的复杂度也相对降低了。
主要特点和优势: 功能 | 功能 | 云接口 | 通过提供给用户的REST接口;实现OGF OCCI和亚马逊EC2接口,使本地的基础架构转变为一个公开云;支持同时公开多种云API,客户端工具,以及安全访问。 |
主要特点和集成优势: 功能 | 功能 | 基础设施抽象 | 无缝与任何操作平台的验证/授权,虚拟化,网络和存储平台融合,采用模块化结构,以适应任何数据中心。 | 适应性和定制 | 启用任何云架构的部署:公共,私有,混合和联合;定制插件来访问虚拟化、存储、信息、认证/授权和远程云服务,新的插件可以很容易地在任何语言编写,配置和改变参数调整云管理实例的行为以满足环境和用例要求;钩机制,当虚拟机的状态改变使触发管理脚本的执行。 | 互操作性和标准 | 开放标准为基础的架构,以避免厂商锁定,提高互操作性​​,以及开放的实施标准。 | 开放 | 开源Apache许可下发布协议。 | 编程接口 | 提供Ruby和Java XMLRPC的原生云API创建新的云接口和访问核心功能。 |
主要特点和生产效益:
特点 | 功能 | 安全 | 验证框架的密码,或基于SSH的RSA密钥对LDAP,外部和内部通信通过SSL,安全的多​​租户;隔离的网络。 | 健壮性 | 持久数据库后端存储主机、网络、虚拟机信息。 | 容错 | 配置主机、虚拟机或OpenNebula实例故障事件。 | 可扩展性 | 测试在大规模的核心和成千上万的基础设施;高度可扩展的后端,并为MySQL和SQLite支持。 | 性能 | 非常高效的内核开发C++语言。 | 可靠性 | 自动化的功能、可扩展性、性能、可靠性和稳定性测试过程。 |
网络架构 OpenNebula使用桥连接来构建虚拟网络,每个节点的IP和MAC地址在一定范围内生成。一个网络会连接到一个特定的桥。每一个网络有他自己的拥有者并且可以对外公开或私有。每一个虚拟网络之间是相互隔离的。虚拟网络里使用Ebtables来过滤数据链路层数据包。
|