Ovirt调研(转)

2024-06-14 20:32
文章标签 ovirt 调研

本文主要是介绍Ovirt调研(转),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://blog.csdn.net/liukuan73/article/details/46410953进行了修改标注


1.ovirt介绍

Ovirt(openVirtualization)是一个基于KVM的开源IaaS项目,是redhat虚拟化管理平台RHEV的开源版本,其前身是Redhat的虚拟化商业产品。在架构设计上它使用了Node/Engine分离结构,以方便功能的划分与管理。

oVirt中的Engine通过HTTP协议向外提供HTTP API,同时提供内建的网页服务供用户和系统管理员使用。系统管理员通过网页可以创建、修改虚拟机及相关设备或用户权限,用户在拥有权限的情况下可以操作自己的虚拟机,并通过VNCSSH登陆自己的虚拟机。

Engine在整个系统中充当管理者的角色并对外提供管理服务,它挂载了自己的数据库记录整个系统中所有的虚拟机配置,各个节点的自身状态,系统的网络状态,存储器状态。管理的逻辑,状态及策略全部在Engine中设置与实现。

Node只负责功能上的实现,不进行任何状态的记录和任何策略的实现。

EngineNode之间的关系十分像Linux中驱动程序与应用程序的功能分割关系:驱动仅仅负责功能的实现,如设备的读、写、开启与关闭,如何使用这些功能留给应用层。同样Node仅仅负责实现虚拟机器与设备的创建与修改,资源的共享与保护,如何使用这些功能交给Engine处理。

VDSM的功能主要有:负责Node的自动启动与注册;虚拟机的操作与生命周期管理;网络管理;存储管理;HostVM状态监视与报告;提供对虚拟机的外部干涉功能;提供内存与存储的合并与超支功能(OverCommitment)

Ovirt体系架构

一个标准的oVirt部署包括三部分,主要有:

1.ovirt-engine,这个被用于部署,监管,移除,停止和创建VM镜像,配置存储,网络,等等。

2.一个或多个ovirt-node,我们在node上运行虚拟机(VMs)node上安装了VDSMlibvirt以及安装了一些额外的包,这些包可以实现网络和其他系统服务的虚拟化。

3.一个或多个存储节点,其上保存着对应虚拟机的磁盘镜像和ISO镜像。存储节点可以使用块和文件存储,并且可以通过NFS在本地或者远程进行访问。通过POSIXFS存储类型是可以支持Gluster这样的存储技术的。存储节点被分在一个存储池中,这样可以保证高可用和冗余。

Ovirt Engine

oVirtengine是一个基于JBossjava应用程序(C#演变过来),它作为web服务来运行。这个服务直接指挥node上的VDSM去部署,启动,停止,迁移和监控虚拟机,以及从模板中创建新的镜像至存储中。

engine提供的一些功能:

  1. 虚拟机生命周期管理

  2. 通过LDAP微软的ADIPA)进行身份验证

  3. 网络管理-增加本地网络并且将其附加至主机上

  4. 存储管理-管理存储域NFS/iSCSI/Local)和虚拟VM磁盘

  5. 高可用-在其它主机中失败的主机上自动重启客户虚拟机

  6. 在线迁移-在零停机的情况下移动主机之间的虚拟机

  7. 系统调度-基于资源使用/政策持续负载均衡虚拟机

  8. 节能优化-在非高峰时期将续集你集中到较少的服务器上

  9. 维护管理器-在计划的维护期间无需为虚拟机停机

  10. 镜像管理-基于模板管理自动精简配置和快照

  11. 监控-为系统中的所有对象-虚拟客户机主机网络存储等等

  12. 导出/导入-使用OVF文件导入和导出虚拟机和模板

  13. V2V-可以将VMwareRHELXen环境下的虚拟机轻松转换到oVirt环境中


 EngineCore

enginecore中的主要组件有:

  • -负责所有与之相关的DB操作

  • VDS Broker -负责所有需要与VDSM交互的操作

  • LDAP Broker -负责验证和抓取LDAP目录下用户/组的属性当前支持ADIPARHDS

  • Backend Bean-一个Singletonbean ,负责运行不同实体的指令查询和监控

VDSM

VDSM是一个以Python开发的组件,它可以为主机,虚拟机,网络和存储管理提供所需要的所有功能。

  1. VDSMAPI是基于XML-RPC计划转移到RESTAPI这就是ovirt-engine如何与VDSM进行通信的

  2. 配置主机网络和共享的存储

  3. 使用libvirt进行虚拟机的生命周期操作

  4. 多线程多进程

  5. 通过virtio-serial和客户代理对话

  6. 添加自定义的对扩展到数以百计的nodeLVM的集群支持

  7. 在所支持的存储类型本地目录,FCP, FCoE, iSCSI, NFS, SAS的基础上实现一个分布式镜像库

  8. 多主机系统一个并发的元数据写入器

  9. 在数据写入器中进行扩展

Hooks机制

  1. 允许管理员定义修改虚拟机操作的脚本例如添加额外的操作像CPU定位watchdog设备直接访问LUN

  2. 允许在集成完成前为新的KVM特性扩展oVirt

  3. 有一种简单的方式来测试新的kvm/libvirt/linux特性

  4. VDSM利用libvirt开始启动虚拟机之前调用hook机制

  5. hook改变了虚拟机定义并且VDSM通过定义至libvirt以开启虚拟机

MoM集成

VDSM是和MoM集成在一起的。MOM的行为配置了策略。随着这些策略的使用者可以微调主机的高内存过量使用或安全操作。为了控制它的mom实例,vdsm确实传递了一个mom配置文件并且mom策略文件可以设置mom的缺省行为。刚开始,vdsmd利用配置和策略文件导入了mom并将其初始化。从那时起,mom通过API.py中定义好的APIvdsm进行交互并且控制了运行在主机上的每个虚拟机的内存。mom实例作为vdsm守护进程内的线程运行。

VDSM对存储器的管理

存储器的管理是oVirt的重点,本节将介绍oVirt是如何组织与分配各种存储器的,用户应该如何使用它。每一个Node上都会运行一个VDSM,实现网络、存储器、虚拟机的创建与修改的功能。VDSM的大部分代码用在了存储系统上,其功能包括数据的组织,集群下的数据共享与保护,故障恢复。通常情况下每一个物理机器当作一个Node,运行一个VDSMNode本身只携带少量存储器用以保存配置。一个集群中通常有一个Engine和数个Node这些Node通过网络连接到SAN(StorageArea Network) 上,VDSMNode上运行的虚拟机存储数据保存在SAN上,Node本身为无状态的节点,重新启动后状态消失,从而保证了系统整体的可用性,一般情况下不会因用户的操作而使Node失效。一旦问题发生,通常一次重启即可恢复工作状态

在云计算环境中,SAN中往往存储着大量虚拟机器使用的virtualimage,同时每一个virtualimage在任何时候都可能被任意Node访问,同时出于性能的考虑virtualimage可能以文件或者数据块的形式出现,这些对存储系统的设计提出了挑战。

为此,VDSM基于以下原则设计了自己的存储系统:

1高可用性:一群安装有VDSMNode在组建集群的时候,没有潜在的单点故障存在,任何一个Node崩溃不会影响整个集群的功能,它的角色会被其他Node取代。Engine不可用的情况下,Node将继续工作,用户对虚拟机的操作可以继续进行。

2高伸缩性:添加NodeSAN几乎不需要用户的设置,Node上的VDSM会自己注册自己。

3集群安全性:一个VDSM对正在操作的virtualimage进行排它性保护。

4备份与恢复:virtualimage之间有相互关连的特性记录可进行一系列引用/备份操作。

5性能优化:利用多线程与多进程减少操作堵塞状况。

存储域

StorageDomain(以下简程SD)VDSM中的最基本存储实体,所有的virtualimagevirtualimage对应的元数据都会保存在其中。和VDSM中的StorageImage概念不同,这里的virtualimage表示的是虚拟机程序用到的虚拟磁盘数据,特指虚拟机程序最终能够操作的文件或设备文件对象。元数据是描述virtualimage相关数据大小、状态、锁等内容的一组数据集合。SD包括两种类型:FileDomainBlockDomainFileDomain使用文件系统存储数据并同步操作,主要针对NFS(NetworkFile System) LOCALFS(LocalFile System) 文件系统。在文件系统的帮助下,FileDomain拥有良好的virtualimage操作能力,每一个虚拟机的存储数据(称为Volume)和对应的元数据都以文件的方式保存。每一个Domain实际对应于Host文件系统上的一个目录,针对NFS文件系统VDSM还有额外的逻辑来处理相关意外与错误情况。而BlockDomain直接操作原始的块数据,使用LinuxLVM(LogicalVolume Manager) 功能来组织数据,主要针对iSCSI(InternetSmall Computer System Interface)FCoE(FibreChannel over Ethernet ) 等块设备。由于目标设备上通常没有一个文件系统来保证访问的安全性,VDSM使用了邮箱机制来保证任意时刻,只有一个Node可以修改Block上的内容,而其他Node则通过Socket邮箱发送自己的修改请求。因此它的操作请求速度和监视功能都会比FileDomain弱一些。通常设备将使用Linuxdevicemapper机制进行一次映射,每一个Domain实际上是一个Linux中的VolumeGroup(lun),元数据保存在其中的一个LogicVolume及其tag上,虚拟机的Volume保存在另一个LogicVolume中。

StoragePool(以下简称SP)是一组SD的组合,目标是管理跨越SD之间的操作,也就是说SD之间互相的引用、备份、恢复,合并一般发生在一个SP之中。在数据中心里,一个SP抽象了一组SD的集合供外界的Node访问或者Engine管理,并且一个SP中的所有SD必须是同一类型,如NFS或者iSCSI

为了保证SP中的数据安全,一组SP中需要选择一个SD作为主存储域MasterDomain这个Domain的不同之处在于它会保存SP中所有的元数据,保存一些异步请求或者任务的数据,保存所在SP的集群存储用到的锁

为了简化管理,oVirt中抽象出了DataCenter概念,一个DataCenter将拥有一组NodeCluster用来运行虚拟机,一个StoragePool用来保存虚拟磁盘数据。NodeCluster是一组专门用来运行虚拟机的Node的集合,运行在其中的虚拟机可以动态迁移到NodeCluster中的另外一个Node上。一个DataCenter是一个完成oVirt所有功能的实体,在这个DataCenter中用户可以创建虚拟机、备份虚拟机、配置虚拟机的StorageDomain,动态迁移虚拟机。NodeEngine有一些算法在开启的时候可以自动平衡DataCenter中的Node的负载。概括起来一个DataCenter是一个管理NodeClusterStoragePool的集合。

由于DataCenter中所有的Node都拥有对DataCenter中的StoragePool的访问权限,因此VDSM实现了一个称为SPM(StoragePool Manager) 的功能角色。在一个DataCenter中,所有的Node启动后会自动选举出一个Node充当SPM的角色,被选举者将运行VDSM上的SPM逻辑,SPM负责完成以下功能:创建/删除/缩放所在DataCenter中的Image,快照,模板。这些操作的共同点是会影响StoragePool中的元数据,SAN上松散块设备的分配。为了保证元数据不被多个Node同时修改,SPM拥有对StoragePool中元数据的排它性操作权限SPM使用集中式邮箱接受其他Node的相关请求,其他Node只能通过给SPM发送操作请求的方式修改元数据,最终的操作都由SPM线性完成,从而避免了存储器操作竞态的出现。为了兼顾效率,不修改元数据的普通操作,如数据读写,Node可以不同过SPM,自己直接访问StoragePool完成。由于SPM是由一个普通Node选举出来的,因此当它因为外部原因失效后,系统将会选举出另外的Node充当SPM,从而保证系统能继续运行。

Ovirt guest agent

Ovirt-guest-agent是一个python编写的运行在虚拟机内部的守护程序(可执行文件为/usr/share/ovirt-guest-agent/ovirt-guest-agent.py),通过宿主机的VDSM为虚拟化管理器(ovirt-enginerhev-m)提供虚拟机的信息,在虚拟机上通过虚拟串口virtio-serial(默认首选方式)或者isa-serial使用json协议与宿主机上的unixsocket文件进行交互。

guest agent它提供了虚拟机的一些信息和一些无法从虚拟机操作系统外部来执行的预设操作

Engine将发给guestagent的请求重定向到VDSMVDSM通过 VirtIO通道使用JSON格式的纯文本命令与guest通信

获取linux系统的信息可以参考guest agent的实现,参考源博客内容的代码分析。

Vdsm代码分析

    要去看一下,python基础没有,随便看看


常用文档地址

ovirt安装指南:http://www.ovirt.org/documentation/install-guide/Installation_Guide/
ovirt下载地址:http://www.ovirt.org/download/
ovirt管理端安装:http://www.ovirt.org/documentation/install-guide/chap-Installing_oVirt/
ovirt node安装 :http://www.ovirt.org/documentation/install-guide/chap-oVirt_Nodes/


这篇关于Ovirt调研(转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061428

相关文章

据阿谱尔APO Research调研显示,2023年全球髓内钉市场销售额约为4.7亿美元

根据阿谱尔 (APO Research)的统计及预测,2023年全球髓内钉市场销售额约为4.7亿美元,预计在2024-2030年预测期内将以超过3.82%的CAGR(年复合增长率)增长。 髓内钉市场是指涉及髓内钉制造、分销和销售的行业。髓内钉是一种用于整形外科手术的医疗器械,用于稳定长骨骨折,特别是股骨、胫骨和肱骨。髓内钉通常由不銹钢或钛等材料制成,并插入骨的髓管中,以在愈合过程中提供结构支

程序员绩效管理-可行性调研

针对这个市场进行了小范围的可行性调研。因为这个项目一开始就定义为走融资上市的路子,第一步是众筹起步。          总结的结论如下:          1、痛点是真的痛。研发企业对自己团队的开发效率是心知肚明,恨铁不成钢。          2、市场上类似的软件也不少,企业自己也在开发例如工时管理、日报月报等。          3、一般采用开发平台来提高效率(这是另

基于深度学习的目标检测算法调研

文章目录 0 目标检测的任务概述1 基于深度学习的「目标检测」算法1.1 两刀流 R-CNN1.1.1 R-CNN / 20131.1.2 SPP Net / 20141.1.3 Fast R-CNN / 20151.1.4 Faster R-CNN / 20151.1.5 Mask R-CNN / 20171.1.6 二刀流小结 1.2 一刀流 YOLO1.2.1 YOLO / 20151

【报告分享】2020中国民营企业500强调研分析报告-全国工商联(附下载)

今天给大家分享的是  2020中国民营企业500强调研分析报告-全国工商联 2020中国民营企业500强调研分析报告-全国工商联 "行业报告智库"查看完整或下载更多报告 2020-11-04-2020中国民营企业500强调研分析报告-全国工商联.pdf 2020-11-04-2020年9月广州房地产市场报报告-保利投顾研究院.pdf 2020-11-04-工业行业-模具制

【报告分享】隐形牙套调研报告2020-蛋壳研究院(附下载)

摘要:国内隐形牙套市场从酝酿到井喷,伴随千禧一代成长。与多数新品相似,隐形牙套也经历了:被质疑-引争议-被接受的产品生命阶段。其间,品牌主们虽置身幕后,其发迹与博弈,却实质上形成推力,推动着国内正畸消费市场的崛起与增长。早前研究时,好的牙也曾交叉分析了多份数据报告。 来源:蛋壳研究院 如需查看完整报告和报告下载或了解更多,微信公众号:行业报告智库

【报告分享】2021年90后脱发调研报告-Mob研究院(附下载)

摘要:中国受脱发问题困扰的人约有2亿,发病率高且日趋严重,每年以15%-18%的增长速度快速发展。未达30岁的90后脱发比例已经高达36.1%,甚至有超五成的大学生表示已经开始脱发。90后作为相对年轻的群体,有多少90后在饱受脱发之苦?他们哪些部位会脱发呢?为了拯救头发,他们又会付出什么行动呢? 来源:Mob研究院 ​ 如需查看完整报告和报告下

【报告分享】2020-2021年品牌商社区团购合作情况调研报告-新经销(附下载)

摘要:社区团购的加速发展吸引互联网巨头的争相入局。作为近几年快速发展的新渠道,社区团购也获得了无数快消行业品牌商、经销商的关注。快消品企业如何高效地与社区团购平台合作?行业内有哪些可借鉴的合作案例?一二线市场竞争的愈加激烈使下沉市场成为广大消费品企业互联网企业寻求新的市场增长的突破点各大主流互联网公司也纷纷布局下沉市场意图通过分享裂变社区拼团等方式抢占下沉市场。 来源:新经销 ​

【报告分享】2021中国都市青年生活态度调研-PCG(附下载)

摘要:近两年,消费者正在发生着结构性的变化,这种变化,不仅是年龄、地域、文化程度和收入这些物理性差异造成的,更是生活方式及意识形态等价值观差异带来的。都市青年作为消费主力军,是市场增长当之无愧的驱动力。所以,深入了解他们真实的生活态度显得尤为重要。所有的发现都在告诉着我们每一个世代都是无法复刻的,他们独一无二,他们看似相同却大不相同。他们用他们自己的解决之道解决一切。 来源:PCG

【报告分享】2022中国智能财税用户需求场景调研报告-甲子光年(附下载)

摘要:在数字时代,利用云计算、大数据、AI等数字技术充分挖掘“业务+财务+税务”的数据价值,是推动企业经营管理走向智能化、实现快速发展的关键所在。报告显示,在智能财税发展过程中业财税一体化是必然趋势。2021年智能财税市场规模为697亿,未来五年的年均复合增长率为15%,3年内市场规模将达千亿。 来源:甲子光年 ​ 如需查看完整报告和报告下载或了解

NocoBase调研

项目概述: nocobase是一个开源的无代码和低代码开发平台,允许用户快速部署私有、可控、易于扩展的系统。 NocoBase官网:NocoBase-开源、私有部署的轻量级无代码和低代码开发平台 核心特性: 强调NocoBase的数据模型驱动方法,数据结构与使用界面分离的设计。所见即所得的配置方式,简化了系统配置权限管理员的操作。插件化架构,新功能通过插件开发和安装实现,类似于手机应用的安