美文网首页
Swift存储服务

Swift存储服务

作者: K1024 | 来源:发表于2016-10-26 22:03 被阅读297次

    一、概述

    1. Swift是什么?
      Swift是Openstack云存储服务的重要组件。
    2. 核心能力
      (1)提供了高可用、分布式、持久性、大文件的对象存储服务
      (2)利用便宜的X86硬件存储设备,提供安全、高可靠的存储服务

    二、Swift核心特性

    1. 数据持久性
      就是将数据复制了多份进行存储
    2. 架构对称性
      每个节点的功能和作用相同,不会因为单点故障带来系统的不稳定性
    3. 无单点故障
      每个节点地位相同,没有一个角色是单点的,对元数据及对象文件的存储处理方式一样,都似乎多份均匀随机分布
    4. 可扩展性
      新节点增加会增加系统的容量,提升系统的性能;
      新节点的地位与原来节点地位保持一致,就必须进行数据迁移,所以扩充节点带来的数据迁移制约着Swift系统的推广与使用
    5. 简单可靠
      原理简单移动,架构设计、代码和算法都是比较容易读懂的。提供了较高的可靠性。

    三、Swift的架构

    Swift的架构图.jpg
    1. 认证节点
      提供身份验证功能,Swift提供内置的认证服务,如果只想使用Swift作为存储的用户来说,可以直接使用内置的认证服务。
      如果想将Swift存储服务放到Openstack上使用,就需要采用Keystone的认证服务
    2. 代理节点
      是提供Swift API的服务进程,服务转发客户端请求,提供了Restful Api
    3. 存储节点
      将磁盘存储转化为Swift中的存储服务,按照存储目标类型的不同,存储节点上的存储服务分为三类
      (1)对象存储:提供针对二进制大对象的存储服务
      (2)容器存储:就是提供针对对象列表存储的服务,使用SQLite这种文件数据库的方式存储
      (3)账户存储:就是提供针对容器列表存储的服务

    四、Swift的故障处理

    就是如何保证多节点存储数据的一致性

    1. Auditor:审计器,本地反复监测容器、账户、对象的一致性,发现文件数据不完整,文件隔离,然后调用Replication复制器从其他的副本中替换此文件
    2. Updater:更新器,主要作用是延迟更新,当用户数据上传成功后,通过对象服务器、容器服务器、账户服务器顺序更新通知,如果过程因为其他原因失败,更新操作会加入到更新队列中,后续来逐步处理失败的更新操作
    3. Replicatior:复制器,被调用将完整的副本替换损坏的数据

    五、Swift的集群部署

    1. 引入了区域模型(zone):鸡蛋不能放到一个篮子里,将存储的对象跨zone存储
    2. 引入了权重(weight):不同机器的存储空间不同,设置权重,保证存储空间被有效利用

    相关文章

      网友评论

          本文标题:Swift存储服务

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