首页 > 其他分享 >[云计算]Openstack 中 Swift 的环是如何存储的?

[云计算]Openstack 中 Swift 的环是如何存储的?

时间:2023-04-17 10:25:37浏览次数:30  
标签:环是 存储 每个 哈希 存储设备 Openstack Swift ID

在Swift中,环(Rings)是存储在磁盘上的二进制文件。这些环文件包含了Swift集群中所有存储设备的位置信息、权重和设备ID等元数据信息,以及哈希函数所需的参数信息。Swift中的每个节点都会定期从主控节点获取新的环数据,并将其存储在本地硬盘上作为环缓存。

具体来说,Swift环大致包含以下几个部分:

分区(Partition)

每个环由多个分区组成,每个分区代表了一个哈希值的范围,用于避免单个节点存储过多的数据。在环文件中,每个分区都会存储这个哈希范围的元数据和设备列表等信息。

设备(Device)

每个环的设备列表中存储了所有的存储设备,即Swift Node,它们可以是本地存储设备,也可以是远程存储设备。在环文件中,每个设备都会存储设备的ID、IP地址、端口号、设备权重等信息。

哈希函数参数

哈希函数参数包含了该环所使用的哈希函数算法及其参数设定。这些参数会影响在将对象ID转换为哈希值并映射到环元素位置时的精细度和冲突率等特性。

Swift的环文件采用稳定且高效的二进制格式,可以快速加载并在内存中进行解析,并且通过环数据的复制和备份机制,以及复杂的哈希算法,Swift环可以实现数据的高可用性和高可靠性。

标签:环是,存储,每个,哈希,存储设备,Openstack,Swift,ID
From: https://www.cnblogs.com/Skybiubiu/p/17324930.html

相关文章

  • [云计算]Openstack中对象环、容器环、账户环的作用
    Swift中的环(Rings)是一种用于对象存储的分布式哈希表结构。环包含了一个元素列表和一个哈希函数,用于将一个对象ID映射到环上的一个元素位置,以便找到该对象在Swift中的存储位置。Swift中包含了三种类型的环,分别是对象环、容器环和账户环,下面是它们各自的作用:对象环对象环是用于定......
  • OpenStack详解
    OpenStack是当今最具影响力的云计算管理工具——通过命令或者基于Web的可视化控制面板来管理IaaS云端的资源池(服务器、存储和网络)。它最先由美国国家航空航天局(NASA)和Rackspace在2010年合作研发,现在参与的人员和组织汇集了来自100多个国家的超过9500名的个人和850多......
  • openstack导出image镜像的方法
    1、查询环境中的镜像[root@controllerhttpd]#glanceimage-list环境中一个有两个镜像本次导出instance。2、执行导出命令命令解释:/root/wuyeliang.img为导出后的镜像存放路径及名称,789eb102-031b-4559-a00e-eeeb3272c37c为需要导出镜像的ID......
  • OpenStack核心组件-glance镜像服务
    1.glance介绍Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找、注册和检索等。Glance提供RestfulAPI可以查询虚拟机镜像的metadata(元数据)及获取镜像。Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。理解Image要理解ImageServ......
  • OpenStack介绍
    1云平台的由来IT基础架构的发展:物理架构----->虚拟化架构---->云计算架构2常见的云管理平台:vCloudDirector、CloudStack、OpenStack2.1vCloudDirectorVMwarevCloud™Director使客户能够按需交付基础架构,以便终端用户能以最大的敏捷性使用虚拟资源。扩展模块、API和开放式......
  • openstack高可用(pike版本)-架构
    1、API服务包括*-api,neutron-server,glance-registry,nova-novncproxy,keystone,httpd等。由HAProxy提供负载均衡,将请求按照一定的算法转到某个节点上的API服务。由Pacemaker提供VIP。2、内部组件包括*-scheduler,nova-conductor,nova-cert等。它们都是无状态的,因此可以......
  • packstack快速部署openstack
    网上找了几个一键部署脚本,安装的过程中各种出问题,于是不再用脚本安装,等有时间时候自己写一个。脚本受时间和环境的限制比较多。环境准备官网要求至少16GRAMLANG=en_US.utf-8LC_ALL=en_US.utf-8Centos系统:sed-i'/^SELINUX/s/enforcing/disabled/'/etc/selinux/configsystemctl......
  • Swift是Android的未来么?
    最近Swift可以写Android的新闻炒的沸沸扬扬,我本身也关注着,不过对这种新闻不是很感冒,但是最近不少人都给我留言说「张哥,Swift可以写Android了,现在要开始学习了么?」、「Swift会取代Java么?我是新手,要不要直接学习Swift呢?」其实本来就是一则新闻,只不过两巨头的影响力,加上媒体的扩大,导致......
  • Swift中让值类型以引用方式传递
    Swift中让值类型以引用方式传递在Swift众多数据类型中,只有class是引用类型,其余的如Int、Float、Bool、Character、Array、Set、enum、struct全都是值类型.有时候我们需要通过一个函数改变函数外面变量的值(将一个值类型参数以引用方式传递),这时,Swift提供的inout关键......
  • swift tabview 带参数请求网络。多条目展示。json解析,逃逸闭包
    效果:用到的第三方#Uncommentthenextlinetodefineaglobalplatformforyourprojectplatform:ios,'9.0'target'News'do#Commentthenextlineifyoudon'twanttousedynamicframeworksuse_frameworks!#PodsforNewsp......