分布式存储Swift简介-IT系统运维

| 2020-05-05 12:46:21    标签:

1.什么是Swift?

IT运维的各种架构中,分布式存储对架构的整体IO性能影响至关重要,下面给大家介绍一款开源的分布式存储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来确定究竟应该将存储对象放在哪一个满足存储要求的存储节点上。最终将对象存储到指定的存储节点上即可。最终将返回结果返回给用户。

 

 

以上内容由北京艾锑无限科技发展有限公司整理