【转载】FusionSphere架构详解
FusionSphere底层使用Xen架构:
1.单台物理机上建立hypervisor系统。
2.将所有单个hypervisor系统整合起来管理使用。
安装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还可以管理vSphere,Hyper-v等其他厂商和平台的hypervisor,通过不同平台所提供的的开放接口调用平台的基本功能,在这些功能上作进一步的资源调度管理就是FusionManager的作用了。
在FusionSphere这个系统中,FusionCompute、FusionManager等组件都是以虚拟机形式存在于hypervisor之上,安装了FusionCompute和FusionManager虚拟机的节点作为MCNA,也就是管理节点,拥有管理节点的集群为管理集群。我们在安装VRM和FusionCompute等组件时都是用华为提供的虚拟机模板直接导入的。
XEN虚拟化架构中的几个重要概念,XEN hypervisor,Domain 0和Domain U
Xen hypervisor是计算机硬件的软件抽象层,它直接运行与硬件之上,并将其计算能力通过抽象接口(虚拟机)提供给运行于其上的任何操作系统。它的首要任务是在各虚拟机之间进行CPU资源调度,内存资源分配及中断请求管理,并负责控制共享处理环境的各虚拟机的执行。但它并不负责实现计算机系统应该具备的网络、外部存储设备、显示设备或其他通用I/O功能等。
Domain0
Xen虚拟化环境中用Domain来描述各虚拟机,每个域都有其id等属性,因此各虚拟机常表示为domain0、domain1等。DOM0是运行Xen hypervisor上的一个独特的虚拟机,其操作系统为经过特殊修改的Linux内核,其能够直接访问硬件I/O资源及与其他虚拟机进行交互。其他的域没有直接访问硬件I/O资源的权限,并且彼此间是高度隔离的。因此,DOM0又称为特权域,其他域则统称为DomU,需要注意的是,DomU通过DOM0来实现I/O功能,因此,在运行DomU之前必须先启动Dom0。
DomainU
DomU是非特权域,它们均无权限直接访问硬件资源,Xen支持两种不同类型的虚拟模式:PV(paravirtualization)和HVM(Hardware-assisted or Full Virtualization),它们可以同时运行于同一个Xen Hypervisor上,并且甚至可以在HVM环境使用PV技术。
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 Virtualization)
完全虚拟化也成为硬件辅助的虚拟化,它利用CPU的特殊扩展功能实现客户机的虚拟。HVM依赖于Intel VT或AMD-V硬件扩展,同时,Xen还使用Qemu来为HVM模拟PC硬件,如BIOS、IDE磁盘控制器、VGA图形适配、USB控制器及网络适配器等,而CPU的虚拟化扩展技术还能够大大提升这些仿真硬件的性能。HVM不要求操作系统做出任何修改即可正常运行,故此,Windows等操作系统均可运行于HVM环境。但需要注意的是,HVM虚拟机需要仿真多种硬件,因此其性能不如PV虚拟机。
原文地址:http://blog.sina.com.cn/s/blog_c079d59e0102wjs1.html
【转载】FusionSphere架构详解的更多相关文章
- [转载]领域驱动设计(Domain Driven Design)参考架构详解
摘要 本文将介绍领域驱动设计(Domain Driven Design)的官方参考架构,该架构分成了Interfaces.Applications和Domain三层以及包含各类基础设施的Infrast ...
- 领域驱动设计(Domain Driven Design)参考架构详解
摘要 本文将介绍领域驱动设计(Domain Driven Design)的官方参考架构,该架构分成了Interfaces.Applications和Domain三层以及包含各类基础设施的Infrast ...
- NopCommerce源码架构详解--初识高性能的开源商城系统cms
很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从中学习很多企业系统.软件开发的规范和一些新的技术.技巧,可以快速地提高我们 ...
- WeChatAPI 开源系统架构详解
WeChatAPI 开源系统架构详解 如果使用WeChatAPI,它扮演着什么样的角色? 从图中我们可以看到主要分为3个部分: 1.业务系统 2.WeChatAPI: WeChatWebAPI,主要是 ...
- hdfs文件系统架构详解
hdfs文件系统架构详解 官方hdfs分布式介绍 NameNode *Namenode负责文件系统的namespace以及客户端文件访问 *NameNode负责文件元数据操作,DataNode负责文件 ...
- NopCommerce源码架构详解
NopCommerce源码架构详解--初识高性能的开源商城系统cms 很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从 ...
- RESTful 架构详解
RESTful 架构详解 分类 编程技术 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次 ...
- Nop--NopCommerce源码架构详解专题目录
最近在研究外国优秀的ASP.NET mvc电子商务网站系统NopCommerce源码架构.这个系统无论是代码组织结构.思想及分层都值得我们学习.对于没有一定开发经验的人要完全搞懂这个源码还是有一定的难 ...
- Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务
一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2 应用服务和数据服务拆分 特点:App.DB.Fi ...
随机推荐
- css3 border img 边框图片
摘自http://www.html-js.com/article/CSS3-tutorial-css3borderimage-frame-image-Xiangjie-on border-image摘 ...
- MD5工具类--可以直接拿来用不抛异常的MD5Util
public class MD5Util { private static String byteArrayToHexString(byte b[]) { StringBuffer resultSb ...
- [Vue] Use basic event handling in Vue
Let's use a range of events and their modifiers to look at the cool ways we can deal with event hand ...
- Android组件——使用DrawerLayout仿网易新闻v4.4侧滑菜单
摘要: 转载请注明出处:http://blog.csdn.net/allen315410/article/details/42914501 概述 今天这篇博客将记录一些关于DrawerL ...
- XMPP之ios即时通讯客户端开发-mac上搭建openfire服务器(二)
come from:http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html 一.下载并安装openfire 1.到http://w ...
- Qt多线程和GUI界面假死(run()是线程的入口,就像main()对于应用程序的作用。分析QThread::exec函数的源码,旧的QMutexLocker模式其实很好用,挡住别人进入抢占资源,可照抄)good
QThread的常见特性: run()是线程的入口,就像main()对于应用程序的作用.QThread中对run()的默认实现调用了exec(),从而创建一个QEventLoop对象,由其处理该线程事 ...
- TensorFlow 学习(十一)—— 正则(regularizer)
正则作用的对象是目标函数,如图对均方误差使用 ℓ2 正则: loss = tf.reduce_mean(tf.square(y-y_) + tf.contrib.layers.l2_regulariz ...
- hbase 2.0.2 分布式安装配置/jar包替换
环境 zk: 3.4.10 hadoop 2.7.7 jdk8 hbase 2.0.2 三台已安装配置好的hadoop002,hadoop003,hadoop004 1.上传并解压hbase-2.1. ...
- 探究Promise的实现
最终答案在一个类库里,地址 https://github.com/yahoo/ypromise 这个类库也有问题,就是下面这道面试题在IE9里实现不一致,类库里还是用了setTimeout.去年尝试用 ...
- Android Gallery组件实现循环显示图像
Gallery组件主要用于横向显示图像列表,只是按常规做法.Gallery组件仅仅能有限地显示指定的图像.也就是说,假设为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时, ...