云计算 OpenNebula的架构

admin 12年前
     <p align="left">OpenNebula是一款为云计算而打造的开源工具箱。它允许你与Xen,KVM或VMware ESX一起建立和管理私有云,同时还提供Deltacloud适配器与Amazon EC2相配合来管理混合云。除了像Amazon一样的商业云服务提供商,在不同OpenNebula实例上运行私有云的Amazon合作伙伴也同样可以作为远程云服务供应商。</p>    <p align="left">目前版本,可支持XEN、KVM和VMware,以及实时存取EC2和 ElasticHosts,它也支持印象档的传输、复制和虚拟网络管理网络。</p>    <p style="text-align:center;"> <a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188224018894304" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/3885521d6a57ab4e992631e1041b9134.jpg" /></a></p>    <p align="center">图1  OpenNebula总体架构图</p>    <p align="left">OpenNebula可以构建私有云、混合云、公开云。</p>    <h2>私有云</h2>    <p>私有云的目的是给本地的用户和管理员提供了一个灵活和敏捷的私人基础设施,以在可管理的域内运行虚拟化服务。 OpenNebula虚拟基础设施暴露虚拟化、网络、图像和物理资源的配置、管理、监督和会计的功能接口。</p>    <p style="text-align:center;"><a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188224769986939" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/01906eede60b0a5ad209682ae93c2818.jpg" /></a></p>    <p align="center">图2 私有云</p>    <p>一个OpenNebula私有云为平台基础设施的用户提供了一个快速交付和可扩展性的平台,以满足最终用户的动态需求。服务托管在虚拟机,然后提交,监视和被云控制,通过使用OpenNebula运营中心或OpenNebula的任何接口。</p>    <p style="text-align:center;"><a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188225517485512" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/5151dce396905e50f348edd1cff28128.jpg" /></a></p>    <p align="center">图3 私有云内用户视图</p>    <p> </p>    <h2>混合云</h2>    <p align="left">OpenNebula提供Deltacloud适配器与Amazon EC2相配合来管理混合云。</p>    <p style="text-align:center;"> <a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188226250264407" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/365201ebfebe1d4cddac598a08164ccf.jpg" /></a></p>    <p align="center">图4 混合云</p>    <p> </p>    <h2>公开云</h2>    <p align="left">OpenNebula公有云是私有云的一个扩展,是在私有云的基础上对外暴露REST接口。如果你要让合作伙伴或外部用户能够访问您的基础设施,或出售你的服务,云接口可以被添加到您的私有或混合云。显然,一个本地的云解决方案是任何公共云自然后端。</p>    <p style="text-align:center;"> <a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188226991060296" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/7a78634542f110f14d864c2a725b3a6b.jpg" /></a></p>    <p align="center">图5 公开云</p>    <p align="left">OpenNebula的构架包括三个部分:驱动层、核心层、工具层。驱动层直接与操作系统打交道,负责虚拟机的创建、启动和关闭,为虚拟机分配存储,监控物理机和虚拟机的运行状况。核心层负责对虚拟机、存储设备、虚拟网络等进行管理。工具层通过命令行界面/浏览器界面方式提供用户交互接口,通过API方式提供程序调用接口。</p>    <p style="text-align:center;"><a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188227730844379" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/ae7fc158d1c2313641d42154fc8c1f01.jpg" /></a></p>    <p align="center">图6 三层架构图</p>    <p style="text-align:center;"> <a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188228464012430" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/2c70a3011ec92f5a84bdbcf87f4233d8.jpg" /></a></p>    <p align="left">OpenNebula使用共享存储设备(例如NFS)来提供虚拟机映像服务,使得每一个计算节点都能够访问到相同的虚拟机映像资源。当用户需要启动或者是关闭某个虚拟机时,OpenNebula通过SSH登陆到计算节点,在计算节点上直接运行相对应的虚拟化管理命令。这种模式也称为无代理模式,由于不需要在计算节点上安装额外的软件(或者服务),系统的复杂度也相对降低了。</p>    <p style="text-align:center;"> <a class="highslide-image" onclick="return hs.expand(this);" href="/misc/goto?guid=4958188229202849341" getparams="null"><img title="云计算 OpenNebula的架构" border="0" alt="云计算 OpenNebula的架构" src="https://simg.open-open.com/show/1f4dafd94b188f042b9a2e6218e959d5.jpg" /></a></p>    <p align="center">图7 前端节点和集群节点之间交互</p>    <p> </p>    <h2>网络架构</h2>    <p>OpenNebula使用桥连接来构建虚拟网络,每个节点的IP和MAC地址在一定范围内生成。一个网络会连接到一个特定的桥。每一个网络有他自己的拥有者并且可以对外公开或私有。每一个虚拟网络之间是相互隔离的。</p>    <p>虚拟网络里使用Ebtables来过滤数据链路层数据包。</p>    <p> </p>    <div class="infor">     <h2>参考资料</h2>     <p>1.虚拟化管理软件比较 -- 构架篇:<a href="/misc/goto?guid=4958188229945720440">http://www.qyjohn.net/?p=1263</a><br /> 2.opennebula.org:<a href="/misc/goto?guid=4958188230677255435">http://opennebula.org/</a><br /> 3.OpenNebula Workshop:<a href="/misc/goto?guid=4958188231427184342" modo="false">http://hpc.uamr.de/wissen/opennebula-workshop/</a> <br /> <br /> <strong>转自:</strong><a href="/misc/goto?guid=4958188232163217631"><strong>http://www.javachen.com/2011/07/opennebula-architecture/</strong></a><br /> </p>    </div>