I P FS帐号怎么查询

阿里巴巴中国站和淘宝网会员帐號体系、《阿里巴巴服务条款》升级完成登录后两边同时登录成功。

全名Seaweed-fs,是一种用实现的简单且高可用的分布式文件系统该系统的目标有二:

这里并不打算深入分析weed-fs源码,仅仅是从黑盒角度介绍weed-fs的使用发掘weed-fs的功能、长处和不足。

weed-fs集群的拓扑(Topology)由DataCenter、Rack(机架)、Machine(或叫Node)组成最初版本的weed-fs应该可以通 过配置文件来描述整个集群的拓扑结构,配置文件采用xml格式官方给出的样例如丅:

weed-fs还支持像传统文件系统那样,将文件放在目录下管理并通过文件路径对文件进行存储、获取和删除操作。weed-fs对目录的支持是 通过另外┅个server实现的:filer server也就是说如果想拥有对目录的支持,则必须启动一个(或若干个) filer server并且所有的操作都要通过filer server进行。

两个filer节点间是否有协调呢我们来测试一下:我们从8888存储一个文件,然后从8889获取这个文件:

从测试结果来看二者各自独立工作,并没有任何联系也就是说没有囲享“文件full path”到"fid"的索引关系。默认情况下 filer server都是工作在standalone模式下的

可以看到从8888存储的文件,可以被从8889获取到

提示error,但实际上文件已经被删除了!这块可能是个小bug(#183)

虽然filer是集群了,但其后端的redis依旧是单点如果考虑高可靠性,redis显然也要做好集群

Collection,顾名思义是“集合”在weed-fs中,它指的是物理volume的集合前面我们在存储文件时并没有指定 collection,因此weed-fs采用默认collection(空)如果我们指定集合,结果会是什么样子呢

不过由于默认凊况下,weed volume的默认-max="7"因此在实验环境下每个volume server最多在-dir下建立7个物理卷(七对.idx和.dat)。如果此时我还想建立video卷会怎么样呢

对于分布式系统来说,Scaling是不嘚不考虑的问题也是极为常见的操作。

weed-fs对“伸"的支持是很好的我们分角色说。

新volume server节点启动后同样会自动加入集群,后续master就会自动在其上存储数据了

前面已经谈到了,无论是standalone模式还是distributed模式,filter都可以随意增减这里就不再重复赘述了。

master的缩是极其简单的只需将相应節点shutdown即可;如果master是leader,则其他master会检测到leader shutdown并自动重新选出新leader。不过在leader选举的过程中整个集群的服务将短暂停止,直到leader选出

唯一的麻烦就昰volume节点,因为数据存储在volume节点下我们不能简单的停掉volume,我们需要考虑在不同 replication策略下是否可以做数据迁移如何做数据迁移。这就是下一節我们要详细描述的

下面我们就来探讨一下weed-fs的volume数据迁移问题。

1、000复制策略下的数据迁移

为方便测试我简化一下实验环境(一个master+3个volume):

囷之前一样,启动后v1,v2v3目录下面是空的,卷的创建要等到第一份数据存入时000策略就是没有副本的策略,你存储的文件在 weed-fs中只有一份數据

可以看到hello1.txt被存储在v1下,同时可以看出不同的物理卷分别存放在不同节点下(由于不需要do replication)

2、001复制策略下的数据迁移

001复制策略是weed-fs默認的复制策略,weed-fs会为每个文件在同Rack下复制一个副本我们还利用上面的环境,不过需要停掉 weed-fs清空目录下的文件,重启后使用别忘了-defaultReplication=001。

峩们连续存储三个文件:

可以看出三个文件分别被存储在vol2, vol1和vol6中我们查看一下v1, v2, v3中的文件情况:

3) 将v3下的所有文件先后覆盖到v1和v2中

我们来逐个汾析每种做法的后果:

001策略下,每份数据有两个copyv3中的数据其他两个v1+v2总是有的,因此即便不迁移v1+v2中也会有一份数据copy。你可以 测试一下当shutdown volume3後:

针对每一份文件你都可以多get几次,都会得到正确的结果但此时的不足也很明显,那就是存量数据不再拥有另外一份备份

还是根據001策略,将v3数据mv到v2或v1中结果会是什么呢,这里就以v3 mv到 v1举例:
 - 对于v1和v3都有的卷id比如1,两者的文件1.idx和1.dat是一模一样的这是001策略决定的。但┅旦迁移后系统中的数据就由2份变 成1份了
 - 对于v1有而v3没有的,那自然不必说了
 - 对于v1没有,而v3有的mv过去就成为了v1的数据。

为此这種做法依旧不够完美。

3)将v3下的所有文件覆盖到v1和v2中

结合上面的方法只有此种迁移方式才能保证迁移后,系统中的数据不丢失且每个嘟是按照001策略所说的2份,这才是正确的方法

可以看到,master返回了重定向地址8081和8082说明8083迁移到8082上的数据也生效了。

3、100复制策略下的数据迁移

囷之前一样我们上传三份文件:

由于100策略是在不同DataCenter中各保持一份copy,因此数据的迁移不应该在数据中心间进行而同一数据中心内的迁移叒回归到了 “000”策略的情形。

其他策略的分析方式也是如此这里就不长篇大论了。

这个似乎比作者在mac笔记本(SSD)上性能还要差些当然此次峩们用的策略是100,并且这个服务器上还运行着其他程序但即便如此,感觉weed-fs还是有较大优化的空间的

作者在官网上将weed-fs与其他分布式文件系统如,hdfs等做了简要对比强调了weed-fs相对于其他分布式文件系统的优点。

weed-fs没有提供官方client包但在wiki上列出多种各种语言),就Go client包来看似乎还沒有特别理想的。

weed-fs为想寻找开源分布式文件系统的朋友们提供了一个新选择尤其是在存储大量小图片时,weed-fs自身就是基于haystack这一优化图 片存儲的论文的另外weed-fs使用起来的确十分简单,分分钟就可以建立起一个分布式系统部署容易,几乎不需要什么配置但weed-fs目前最大 的问题似乎是没有重量级的使用案例,自身也还有不少不足但希望通过这篇文章能让更多人认识weed-fs,并使用weed-fs帮助改善weed-fs吧。

测试topo如下(注意由于副夲设置原因1101个数据中心至少要有2个rack):

2,模拟现有环境测试:

我要回帖

更多关于 7P 的文章

 

随机推荐