美文网首页对象存储
对象存储 - Swift

对象存储 - Swift

作者: 被子十三 | 来源:发表于2017-03-28 15:48 被阅读128次

    提供对象存储服务的Swift介绍

    1.什么是Swift?

    Swift 是 提供高可用分布式对象存储的服务,为nova组件提供虚拟机镜像存储服务。
    在数据冗余方面,无需采用read【?】通过在软件层面,引入一致性散列技术和数据冗余,牺牲一定程度的数据一致性,来达到高可用和可伸缩性。
    支持多租户模式下,容器和对象读写操作,适用于互联网应用场景下非结构化的数据存储,比如,华为云盘等。

    2. Swift中的常用术语【1】

    • Account:用户定义的管理存储区域
    • Container:存储隔间,类似于子文件夹或者目录
    • Object:包含了基本的存储实体和它自身的元数据
    • Ring:环,记录了磁盘上存储的实体名称和物理位置的映射关系。包括Account环、Container环和Object环。

    以上术语之间的关系:

    结构关系

    首先,可以创建多个account,每个account里可以创建多个容器container,每个container下可以创建多个object。【container 之间不能相互嵌套】

    Swift的介绍
    Swift在物理结构上往往会存储对象的多个副本,通常按照物理位置的特点,将对象拷贝到不同的物理位置的特点,将对象拷贝到不同的物理位置上,来保证数据的可靠性。

    2.5. 常用术语2

    • Region:地域,从地理位置上划分的一个概念。(往往代表不同城市的地理位置,是从灾备方面考虑的概念)
    • Zone:可用区,按照独立的供网、供电、空调等基础设施划分(不同的可用区可能是同一个城市的数据中心机房,也可能是同一个数据中心,不同供电供水网路接入等等隔离系统)
    • Node:节点,代表了一台存储服务器
    • Disk:磁盘,代表着物理服务器上的存储设备
    • Cluster:群集,为冗余考虑而设计的架构

    以上术语之间的关系:

    包含关系

    可以根据不同的物理位置,有不同的Region,不同的region代表两个不同的城市,然后在同一个region下,为冗余的考虑,设置了多个可用区,zone。每一个可用区可以有不同的存储节点,node;在更大的架构上,两个region可以构成一个cluster。

    3. Swift的架构

    Swift架构图

    首先,用户提出一个对象存储服务的申请,由Swift的API接受和处理,收到之后,先去找 Keystone 认证节点,对用户的身份进行认证。
    认证通过后,将请求提交给名称为Swift Proxy的组件,Swift Proxy是Swift 的代理,由Swift Proxy来确定究竟应该将存储对象放在哪一个满足存储要求的存储节点上。最终将对象存储到指定的存储节点上即可。最终将返回结果返回给用户。

    相关文章

      网友评论

        本文标题:对象存储 - Swift

        本文链接:https://www.haomeiwen.com/subject/bcijottx.html