当前位置: 首页 > news >正文

fusionsphere读音_【转载】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虚拟机。

相关文章:

  • wince7 屏幕控制_WinCE 7.0下的触摸屏驱动-嵌入式系统-与非网
  • canvas滚动 vue_基于Canvas+Vue的弹幕组件
  • http 阮一峰_JavaScript 标准参考教程(alpha) 阮一峰
  • python时间字符串表示_python – 将pandas datetime month转换为字符串表示形式
  • react实现汉堡_reactjs – 所有顶级屏幕标题(使用抽屉)标题中的react-navigation汉堡包图标?...
  • c# 多线程界面卡顿_C#多线程解决程序卡顿问题
  • 安卓吸顶+下拉放大_【Android】打造下拉放大效果
  • react 父子传值_react 父子组件传值——父传子
  • python和mysql匹配吗_Python最佳实践和最安全的方法来连接MySQL和执行查询
  • java openresty 调用_OpenResty 究竟解决了什么痛点?
  • plsq如何快捷整理代码_plsql常用快捷键
  • php strpose_PHP之strpos
  • win10装debian 双系统_技术|如何拥有一个 Windows 10 和 Debian 10 的双系统
  • redistemplate怎么修改数据_redisTemplate一opsForValue操作
  • linux命令deploy_Linux deploy 超详细入门教程
  • CSS实用技巧
  • ES6核心特性
  • JS变量作用域
  • Otto开发初探——微服务依赖管理新利器
  • SpriteKit 技巧之添加背景图片
  • SQL 难点解决:记录的引用
  • Zsh 开发指南(第十四篇 文件读写)
  • 反思总结然后整装待发
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 如何利用MongoDB打造TOP榜小程序
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 首页查询功能的一次实现过程
  • 探索 JS 中的模块化
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 由插件封装引出的一丢丢思考
  • 正则表达式
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 整理一些计算机基础知识!
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​插件化DPI在商用WIFI中的价值
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # C++之functional库用法整理
  • #NOIP 2014# day.1 T2 联合权值
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (二)hibernate配置管理
  • (六)c52学习之旅-独立按键
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (三)uboot源码分析
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)h264中avc和flv数据的解析
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (轉貼) UML中文FAQ (OO) (UML)
  • 、写入Shellcode到注册表上线
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题