SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Swift 架构与原理详解
 Swift架构及组件介绍
 Swift背后的原理
 Swift的部署模式
 Swift 手动安装
 Swift 使用及常见错误的排查
关于存储
类型 协议 应用
块存储 SATA, SCSI, iSCSI SAN, NAS, EBS
文件存储 Ext3/4, XFS, NTFS PC, Servers, NFS
对象存储 HTTP, REST Amazon S3,
Google Cloud Storage,
Rackspace Cloud Files
对象存储系统(Object-Based Storage System)是综合了NAS和SAN
的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高
可靠性、跨平台性以及安全的数据共享的存储体系结构。
Swift 是什么?
Swift 不是什么?
Swift用来干什么?
Swift适用于什么场景?
有什么比较成功的案例?
关于Swift
Swift的特点
极高的数据持久性
完全对称的系统架构
无限的可扩展性
无单点故障
Swift的物理架构
Swift的逻辑架构
 Swift proxy node
◦ swift-proxy server
 Swift storage node
◦ swift-account server
◦ Swift-container server
◦ Swift-object server
Proxy Server
account
DB
container
DB
object DB
account container object
proxy
Proxy Server向用户提供了一套操
作Swift的API接口。
对于每个Swift请求,Proxy
Server首先会通过Ring查找被操作
实体的物理位置,随后会将请求发
送过去。
Proxy Server中也做了大量的异常
处理,如:当某个服务器因为某个
原因无法添加对象时,Proxy
Server会通过Ring获取一个可用的
服务器,并将对该请求的处理切换
至该服务器。
Account Server
account
DB
container
DB
object DB
account container object
proxy
Account Server是存储节点中负责
处理对Account的GET、HEAD、
PUT、DELETE、RELICATION请
求的服务进程,Account Server使
用SQLite的数据库文件保存
Account的相关信息。
Container Server
account
DB
container
DB
object DB
account container object
proxy
Container Server是存储节点中负
责处理Container的GET、
HEAD、PUT、DELETE、
RELICATION请求的服务进程,
Container Server使用SQLite的数
据库文件保存Container的相关信
息。
Object Server
account
DB
container
DB
object DB
account container object
proxy
Object Server就是一个简单的BLOB
存储服务器,可以存储、检索和删除
保存在本地设备上的对象。在Object
Server中,对象以二进制的形式保存
在文件系统上,元数据(metadata)
以XATTR的形式保存在文件扩展属性
上,所以要求底层的文件系统支持
XATTR特性。
Swift的操作流程
假设:一个对象在Swift集群中保存3个副本(Replica)
修改一个Swift对象 :
1. Proxy Server会根据 /account/container/object查询Ring文件,得到存储该对象
的节点列表(长度为3) ;
2. Proxy Server会将请求转发到这三个节点执行修改操作。如果只有两个节点写入成
功,就认为这次PUT操作成功 ;
3. 写入失败的节点在一段时间后将会得到写入成功的节点Object Replicator进程推送
过来的数据。
从Swift中获取一个对象 :
1. Proxy Server会根据 /account/container/object查询Ring文件,得到存储该对象
的节点列表(长度为3) ;
2. Proxy Server和上述3个节点交互,如果有两个节点确认对象状态OK,则转步骤3,
否则返回失败 ;
3. Proxy Server随机选取一个健康的节点获取数据并返回给用户。
 Swift架构及组件介绍
 Swift背后的原理
 Swift的部署模式
 Swift 手动安装
 Swift 使用及常见错误的排查
Swift的原理
Swift使用的算法,存储理论主要是以下的几个:
 一致性哈希算法
 Partition
 Replica
 Zone
 Weight
 Ring
一致性hash
http://www.cnblogs.com/yuxc/archive/2012/06/22/2558312.html
Partition
Replica
需要有冗余的副本来保证数据安全
理论依据主要来源于NWR策略(也叫Quorum协议)
 NWR是一种在分布式存储系统中用于控制一致性级别的策略
 N代表同一份数据的Replica的份数
 W是更新一个数据对象时需要确保成功更新的份数
 R代表读取一个数据需要读取的Replica的份数
 公式W+R>N,保证某个数据不被两个不同的事务同时读和写
 公式W>N/2保证两个事务不能并发写某一个数据
Zone
所有的Node都在一个机架或一个机房中
断电、网络故障等
对机器的物理位置进行隔离,以满足分区容忍性。
引入了Zone的概念,把集群的Node分配到每个Zone中
Zone的大小可以根据业务需求和硬件条件自定义
Weight
分配到更多的Partition。
更好的利用已有的存储空间
避免由于存储空间不同带来的问题。
Ring
 Swift架构及组件介绍
 Swift背后的原理
 Swift的部署模式
 Swift 手动安装
 Swift 使用及常见错误的排查
测试用部署模式
Account Server
Container
Server
Object Server
User Application
Account Server
Container
Server
Object Server
Account Server
Container
Server
Object Server
Proxy Server
常用部署模式
 Swift架构及组件介绍
 Swift背后的原理
 Swift的部署模式
 Swift 手动安装
 Swift 使用及常见错误的排查
 步骤
◦ 公共安装配置
◦ Storage 节点安装
◦ Proxy 节点安装
◦ 安装验证
controller0
eth1:172.16.0.10/24
network0 compute0
Net0 10.20.0.0/24
Net2 192.168.4.0/24
eth2:
192.168.4.20/24
eth2:
192.168.4.30/24
eth0:10.20.0.30/24eth0:10.20.0.20/24eth0:10.20.0.10/24
Net1172.16.0.0/24
swift0
eth0: 10.20.0.50/24
eth2:
192.168.4.50/24
 github
 Swift架构及组件介绍
 Swift背后的原理
 Swift的部署模式
 Swift 手动安装
 Swift 使用及常见错误的排查
Swift的使用
列出所有container
swift list
列出container中的文件
swift list <container name>
创建container
swift post <container name>
上传文件
swift upload <container name> <file_or_directory>
删除文件
swift delete <container name> <object name>
支持Swift的工具
存储网关:
–TwinStrata CloudArray
–Panzura Global Cloud Storage System
–StorSimple – Cloud Integrated Enterprise
Storage
–Riverbed Whitewater Cloud Storage
Gateway
–Maldivica Storage Connector for OpenStack
Swift
–CTERA Portal
–SMEStorage Cloud File Server
文件管理:
–CloudBerry Explorer
–ExpanDrive
–Cyberduck
备份:
–Commvault Simpana
–Gladinet
–Zmanda
Filesystem adapters:
–FUSE file system for OpenStack Swift
–ftp-cloudfs - FTP interface for
OpenStack Swift
–Caimito - WebDav interface for
OpenStack Swift
常见错误排查
401认证错误
 检查用户名密码以及tenant是否正确
 检查认证配置是否正确
503错误
 检查/srv/node/sdb1是否存在
 检查是否是xfs文件系统
 检查读写权限
 Email:yongluo2013@gmail.com
 Blog : http://yongluo2013.github.com
 WeiXin:@嗨皮
 WeiBo :@warrior_罗勇

Weitere ähnliche Inhalte

Andere mochten auch

Openstack neutron 原理详解
Openstack neutron 原理详解Openstack neutron 原理详解
Openstack neutron 原理详解Yong Luo
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Yong Luo
 
open stack glance
open stack glanceopen stack glance
open stack glanceYong Luo
 
Openstack nova
Openstack novaOpenstack nova
Openstack novaYong Luo
 
Openstack HA
Openstack HAOpenstack HA
Openstack HAYong Luo
 
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Yong Luo
 
09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctripYong Luo
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorialmestery
 
Ramz hadara syria
Ramz hadara syriaRamz hadara syria
Ramz hadara syriaramz taireh
 
Lightening Talk: Model Cat Can Haz Scope?
Lightening Talk: Model Cat Can Haz Scope?Lightening Talk: Model Cat Can Haz Scope?
Lightening Talk: Model Cat Can Haz Scope?evenellie
 
Oportunidade Escape Network
Oportunidade Escape NetworkOportunidade Escape Network
Oportunidade Escape NetworkEscapeNetwork
 
My.Skill.Base- The concept for Educators
My.Skill.Base- The concept for EducatorsMy.Skill.Base- The concept for Educators
My.Skill.Base- The concept for EducatorsMySkillBase
 
27san hadara syria
27san hadara syria27san hadara syria
27san hadara syriaramz taireh
 
Cloud stack troubleshooting
Cloud stack troubleshooting Cloud stack troubleshooting
Cloud stack troubleshooting AlexTian
 
OpenStack identity project update Juno
OpenStack identity project update JunoOpenStack identity project update Juno
OpenStack identity project update JunomargieOpenStack
 
Keystone: Federated
Keystone: FederatedKeystone: Federated
Keystone: Federatedjamielennox
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystoneUT, San Antonio
 

Andere mochten auch (20)

Openstack neutron 原理详解
Openstack neutron 原理详解Openstack neutron 原理详解
Openstack neutron 原理详解
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解
 
open stack glance
open stack glanceopen stack glance
open stack glance
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Openstack HA
Openstack HAOpenstack HA
Openstack HA
 
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战
 
09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
Facebook
FacebookFacebook
Facebook
 
Ramz hadara syria
Ramz hadara syriaRamz hadara syria
Ramz hadara syria
 
Slideshow
SlideshowSlideshow
Slideshow
 
Lightening Talk: Model Cat Can Haz Scope?
Lightening Talk: Model Cat Can Haz Scope?Lightening Talk: Model Cat Can Haz Scope?
Lightening Talk: Model Cat Can Haz Scope?
 
Oportunidade Escape Network
Oportunidade Escape NetworkOportunidade Escape Network
Oportunidade Escape Network
 
My.Skill.Base- The concept for Educators
My.Skill.Base- The concept for EducatorsMy.Skill.Base- The concept for Educators
My.Skill.Base- The concept for Educators
 
27san hadara syria
27san hadara syria27san hadara syria
27san hadara syria
 
Cloud stack troubleshooting
Cloud stack troubleshooting Cloud stack troubleshooting
Cloud stack troubleshooting
 
OpenStack identity project update Juno
OpenStack identity project update JunoOpenStack identity project update Juno
OpenStack identity project update Juno
 
Keystone: Federated
Keystone: FederatedKeystone: Federated
Keystone: Federated
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystone
 

Ähnlich wie Open stack swift

华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析Liang Ming
 
分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本ITband
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局Alex Lau
 
零到千万可扩展架构 AWS Architecture Overview
零到千万可扩展架构 AWS Architecture Overview零到千万可扩展架构 AWS Architecture Overview
零到千万可扩展架构 AWS Architecture OverviewLeon Li
 
glusterfs 文件系统
glusterfs 文件系统glusterfs 文件系统
glusterfs 文件系统LI Daobing
 
Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1Chris Hsiang
 
云计算与开源 刘黎明 世纪互联
云计算与开源  刘黎明  世纪互联云计算与开源  刘黎明  世纪互联
云计算与开源 刘黎明 世纪互联Liming Liu
 
Web开发与运维安全浅见
Web开发与运维安全浅见Web开发与运维安全浅见
Web开发与运维安全浅见mysqlops
 
Pegasus KV Storage, Let the Users focus on their work (2018/07)
Pegasus KV Storage, Let the Users focus on their work (2018/07)Pegasus KV Storage, Let the Users focus on their work (2018/07)
Pegasus KV Storage, Let the Users focus on their work (2018/07)涛 吴
 
RockStor - A Cloud Object System based on Hadoop
RockStor -  A Cloud Object System based on HadoopRockStor -  A Cloud Object System based on Hadoop
RockStor - A Cloud Object System based on HadoopSchubert Zhang
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华zhuozhe
 
Kiss开发平台简介
Kiss开发平台简介Kiss开发平台简介
Kiss开发平台简介cecepig
 
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報Wales Chen
 
鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFSMark Ting
 
如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享Amazon Web Services
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研klandor
 
Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Shaoning Pan
 
Oracle 全方位云解决方案概要
Oracle 全方位云解决方案概要Oracle 全方位云解决方案概要
Oracle 全方位云解决方案概要Ethan M. Liu
 

Ähnlich wie Open stack swift (20)

华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析
 
分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本
 
Dfs ning
Dfs ningDfs ning
Dfs ning
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
 
零到千万可扩展架构 AWS Architecture Overview
零到千万可扩展架构 AWS Architecture Overview零到千万可扩展架构 AWS Architecture Overview
零到千万可扩展架构 AWS Architecture Overview
 
glusterfs 文件系统
glusterfs 文件系统glusterfs 文件系统
glusterfs 文件系统
 
Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1Proxmox VE 4.3 vs VMWare vSphere 6.1
Proxmox VE 4.3 vs VMWare vSphere 6.1
 
云计算与开源 刘黎明 世纪互联
云计算与开源  刘黎明  世纪互联云计算与开源  刘黎明  世纪互联
云计算与开源 刘黎明 世纪互联
 
Web开发与运维安全浅见
Web开发与运维安全浅见Web开发与运维安全浅见
Web开发与运维安全浅见
 
Baidu Cloud Foundry
Baidu Cloud FoundryBaidu Cloud Foundry
Baidu Cloud Foundry
 
Pegasus KV Storage, Let the Users focus on their work (2018/07)
Pegasus KV Storage, Let the Users focus on their work (2018/07)Pegasus KV Storage, Let the Users focus on their work (2018/07)
Pegasus KV Storage, Let the Users focus on their work (2018/07)
 
RockStor - A Cloud Object System based on Hadoop
RockStor -  A Cloud Object System based on HadoopRockStor -  A Cloud Object System based on Hadoop
RockStor - A Cloud Object System based on Hadoop
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
Kiss开发平台简介
Kiss开发平台简介Kiss开发平台简介
Kiss开发平台简介
 
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
 
鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS鏡像檔案系統 Mirror File System : MFS
鏡像檔案系統 Mirror File System : MFS
 
如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
 
Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Sphinx 全文检索实践指南
Sphinx 全文检索实践指南
 
Oracle 全方位云解决方案概要
Oracle 全方位云解决方案概要Oracle 全方位云解决方案概要
Oracle 全方位云解决方案概要
 

Open stack swift