自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 OpenvStorage 架构

传统的OpenStack利用Cinder虚拟出块设备供虚拟机作为存储卷(创建快照、备份和迁移),(利用Nova管理虚拟机、Glance给虚拟机提供镜像),Swift用来做对象存储的备份,后端采用了SAN提供块存储(NAS是文件存储)。    因为块存储的平台和对象存储的平台的不兼容性(对象存储的平台在本地局域网后端,块设备需要由对象存储的内容转化而来,因此需要额外的延时),会出现最终一致性、

2016-07-29 01:59:06 2773

原创 Amazon S3和Swift鉴权机制分析

基于Base64编码的HTTP Basic Authentication由于安全问题,已经不再广泛使用了。在云存储中,数据的安全性一直被广泛关注。亚马逊的AWS S3和Openstack Swift分别采取了不同的算法来对每一个HTTP请求进行鉴权。以下是二者的鉴权过程:一、AWS S3的HTTP请求鉴权流程    AWS采取的鉴权算法类似于HTTP基本认证。我们知道Base64只是

2016-07-28 23:54:09 5735

原创 Swift支持Amazon S3的机制及优化

默认的Keystone安装后并不支持S3,需要修改Keystone的PasteDeploy配置文件,在ec2_extension之后加入s3_extension中间件。首先还需要定义该中间件:1).在/etc/keystone/keystone.conf文件中增加如下配置:[filter:s3_extension]paste.filter_factory = keystone.cont

2016-07-28 19:15:26 3234

原创 EC---->LRC---->Sparse Erasure Code

副本存储(3副本技术)方案是将一个文件切分成多个Block进行存储,通常一个Block 64MB或者128MB,每个Block有多个(工业界默认3个)副本(replica),每个副本作为一个整体存储在一个Data Node上,这种方法在增加可用性的同时也增加了存储成本。    Erasure Code通过将M个数据block进行编码(Reed-Solomon算法 / LRC),生成K个校验(p

2016-07-26 12:33:19 3814

转载 Erasure Code原理

1.什么是erasure code?    erasure code可以认为是RAID的通式,任何RAID都可以转换为特定的erasure code。在传统的RAID中,仅支持少量的磁盘分布,当系统中存在多个分发点和多节点时,RAID将无法满足需求。比如RAID5只支持一个盘失效,即使是RAID6也仅支持两个盘失效,所以支持多个盘失效的算法也就是erasure code是解决这一问题的办法

2016-07-26 12:19:27 20316

转载 Erasure Code

数据规模庞大(目前google、淘宝等存储的大数据规模以PB为单位)、大数据增长速度远超过摩尔定律,如何利用有限存储资源满足迅速膨胀的存储需求成为大数据时代存储技术面临的一项重大挑战。多副本策略在满足存储可靠、优化数据读性能同时也不可避免地造成存储资源利用率低的缺陷。erasure code编码存储策略在满足和多副本同样可靠性前提下,可以达到更高的存储资源利用率。    当前,Microsof

2016-07-26 12:11:22 2344 1

原创 Dedup概述

1、Dedupe概述     De-duplication,即重复数据删除,它是一种目前主流且非常热门的存储技术,可对存储容量进行有效优化。它通过删除数据集中重复的数据,只保留其中一份,从而消除冗余数据。如下图所示。这种技术可以很大程度上减少对物理存储空间的需求,从而满足日益增长的数据存储需求。Dedupe技术可以带许多实际的利益,主要包括以下诸多方面: (1) 满足ROI(投资回报率,R

2016-07-26 11:59:56 7478

原创 ACID、BASE和CAP原理

1.ACID    ACID,是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。    在数据库系统中,一个事务是指:由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户

2016-07-26 09:17:19 5456

转载 三种存储类型比较-文件、块、对象存储

块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。     首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式(DAS),而所有的NAS产品都是文件级存储

2016-07-26 09:09:28 49328

原创 FastDFS Tracker-Leader选择

一、Tracker-Leader概述    在FastDFS之中,可以任意配置多个Tracker,在运行过程中会选择其中一个作为Leader,由该Leader执行一些唯一性的操作。在早期版本中Tracker-Leader有两个作用,分别是:为新加入的Storage分配一个源Storage;为开启合并存储的Group选择Trunk-Server。但是在最新的版本中实际上只有第二个作用,也就是选择

2016-07-24 02:21:35 1350

原创 FastDFS合并存储策略

FastDFS提供了合并存储功能的实现,所有的配置都在tracker.conf文件之中,具体摘录如下:trunk功能启动与配置:通过tracker.conf文件启动与配置,个配置项如下:use_trunk_file = false#是否启用trunk存储slot_min_size = 256#trunk文件最小分配单元slot_max_size = 16MB#trunk内部存储的最

2016-07-24 02:02:40 5110 1

原创 FastDFS 小文件优化策略

FastDFS是一个应用级分布式文件存储服务,其采用中心型结构(类似GFS、HDFS、TFS等),主要用于大中型网站存储资源文件。FastDFS具有轻量级,支持高并发放访问,负载均衡,可扩展等优点。而FastDFS最大的亮点就是对小文件的存储性能较好,这主要来自于其文件名策略。1.小文件存储性能优化    小文件的性能瓶颈主要来自于对元数据服务器(如FastDFS中的TrackerSe

2016-07-24 01:52:59 4592

原创 FastDFS特性及问题思考

FastDFS是国人开发的一款分布式文件系统,目前社区比较活跃。系统中存在三种节点:Client、Tracker、Storage,在底层存储上通过逻辑的分组概念,使得通过在同组内配置多个Storage,从而实现软RAID10,提升简单负载均衡、并发IO的性能、及数据的冗余备份;同时通过线性的添加新的逻辑存储组,从容实现存储容量的线性扩容。    文件下载上,除了支持通过API方式,目前还提供了

2016-07-24 01:30:39 12511 2

转载 FastDFS设计理念

FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。和现有的类Google FS分布式文件系统相比,FastDFS的架构和设计理念有其独到之处,主要体现在轻量级、分组方式和对等结构三个方面。轻量级    FastDFS只有两个角色:Trackerserver和Storage server。Tracker s

2016-07-24 01:14:59 594

转载 FastDFS介绍

FastDFS 介绍    FastDFS 是一个 C 语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站、短视频网站、文档、app 下载站等,UC、京东、支付宝、迅雷、酷狗 等都有使用,其中 UC 基于 FastDF

2016-07-24 00:11:16 4420 2

原创 Swift build(.build)和ring(.gz)的数据结构和文件的持久化机制

Ring的数据结构设备表(devs):将所有Device编号,设备表中的每一项对应一个Device,其中记录了Device的具体位置信息,包括Device Name, Device ID, IP, Port, Weight, Region和Zone等信息移位值(part_shift):表示Hash之后得出的Key进行移位的位数e.g. 假设有65536个node(2^16),有

2016-07-19 17:52:10 793

原创 Swift API和Command

Restful API使用描述 使用限制 Account(账户)   Container(容器)   Object(对象)    metadata(元数据)元数据(metadata)的总个数不能大于90个,且所有元数据总大小不能超过4KB元数据名字长度不能大于128个字节元数据值的长度不能大于256个字节对象最大不能超过5G,超过则需要分割后在上传对象名字的总长度不能超过1

2016-07-19 16:33:28 1539

原创 Swift Proxy 调用流程(源码剖析)

Swift启用WSGI服务的事件循环队列pipeline: catch_errors, proxy-logging, cache, authtoken, keystone, (slo), proxy-server。通过直proxy-server的服务入口点进行,调用相关的方法实现请求响应。  proxy-server服务入口点(/swift-grizzly-eol/swift/proxy/se

2016-07-19 15:38:03 2201

原创 Swift 存储目录

在Storage node上运行着Linux系统并使用了XFS文件系统,逻辑上使用一致性哈希算法将固定总数的partition映射到每个Storage node上,每个Data也使用同样的哈希算法映射到Partition上,其层次结构如下图所示:Figure1:Stoage node hierachy     以我们的一台storage node

2016-07-17 01:56:11 3905

原创 Openstack Swift 原理、架构与API介绍

1 概述    OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。本文将深入介绍 Swift 的基本设计原理、对称式的系统架构和 RESTful API。    OpenStack Object Storage (Swift)是OpenStack开源云计算项目的子项目之一。Swift的目的是使用普通硬件来构建冗

2016-07-15 22:27:27 10038

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除