icecity0079 / 可能用到系统 / Venti:归档存储新方案!

0 0

   

Venti:归档存储新方案!

2014-11-25  icecity00...

英文原文:Venti: a new approach to archival storage

标签: <无>
1人收藏此文章, 我要收藏 oschina 推荐于 3个月前 (共 49 段, 翻译完成于 11-16) (3评)

摘要

本文描述了为归档数据设计的Venti网络存储系统。本系统采用了块内容的独特hash值作为对块进行读写操作的标识符。通过强制采用“写一次”(write-once)策略,防止有意或无意的数据破坏。此外,重复的块可被合并,以减少存储量和简化客户端实现。Venti可被用于构建各种存储类应用程序,例如文件系统的逻辑备份、物理备份和快照等。

我们建立了系统的原型,展示了一些基本的性能测试。系统使用了磁盘作为存储技术,使得对归档数据的访问时间比得上非归档数据。用两个超过几十年的Plan 9文件系统的数据证明了用写一次模式进行存储的可行性。

DavidWTF
DavidWTF
翻译于 2个月前

0人顶

 翻译的不错哦!

1.  引言

归档存储是二等公民。许多计算机环境提供了从文件系统和数据库中访问近期数据的功能,虽然这些数据访问很乏味而且有可能还需要系统管理员的协助。能让用户检查上个月或去年或过去十年数据的就比较少见了。因为这种功能很少见,但是一旦需要就是非常关键的。

存储技术在容量上的增长超出了许多用户产生数据的能力,这使得永久归档数据可以实现。作者使用的Plan 9计算机环境,包括了一个文件系统用于归档数据到一个光盘库[16, 17]。Ken Thompson发现,对于我们的使用模式而言,光盘库的容量可以认为是无限的。在我们添满光盘库的时间内,技术的发展允许我们升级到一个拥有两倍容量的新的光盘库。

DavidWTF
DavidWTF
翻译于 2个月前

0人顶

 翻译的不错哦!

丰富的存储空间暗示着归档系统应该强制采用写一次策略。数据一旦存储了,这个策略就阻止用户或管理员删除或者更改数据。这种方法大大减少了有意或无意的数据丢失并且简化了系统实现。

而且,我们在Plan 9上的写一次策略的经验改变了我们对存储的看法。显然,一些数据是临时的、派生的、或太大而不宜或不易永久保留,这些数据不应该归档。然而,一旦决定了哪些数据是值得保留的,存储数据的资源就消耗掉且不能回收。这消除了周期性的“清理”和决定数据是否值得保留的任务。将数据保存到写一次归档之前就要求考虑得更多,但随着存储器价格的不断下降,这将是个容易的决定。

本论文描述了Venti归档服务器的设计和实现。Venti的目标是提供一个可被多个客户端机器和应用程序共享的写一次归档仓库。另外,通过使用磁盘作为主要存储技术,系统的性能与非归档存储接近。

DavidWTF
DavidWTF
翻译于 2个月前

0人顶

 翻译的不错哦!

2. 背景

流行的归档存储都是将数据备份到磁带上。一种常见的场景就是中心服务器为一定数量的客户端提供备份服务。客户端的数据库或者文件系统的软件接口决定什么样的数据备份。客户端通常经过网络将数据拷贝到磁盘设备上,并将拷贝的数据的日志信息记录到日志数据库中。

从磁带备份系统中恢复数据是很慢的,并且很容易出错。备份系统通常没有文件系统的读写权限,需要系统管理员或者提权软件执行任务。恢复数据通常很慢,也不不需要经常恢复,而且在处理过程中很难预测出错。磁带备份更多出错原因是因为磁带不能打标签,丢失后只能重写,驱动器失准后就不能读取原来数据,这种技术以及变的过时了。

嘿嘿的小强
嘿嘿的小强
翻译于 2个月前

0人顶

 翻译的不错哦!

对磁带备份系统来说,需要在备份操作和恢复操作之间进行性能平衡[1]。全备份简化了恢复数据的过程,这是因为所有的数据都会拷贝到连续的一段磁带上。而对大型文件系统和数据库来说,增量备份会更高效,不过这样的备份不可以仅通过自身进行恢复(即自包含的);数据的恢复是分散在多个增量备份里,也可能分散在多个磁带上。通常的解决方法是进行几个增量备份后执行一次全备份,这样就会把分散存储限定在一定范围里。

像Plan 9[16,17],WAFL[5]和AFS[7]这样的文件系统针对这样的备份问题有一个一致的处理方法:快照。快照是过去某个时刻文件系统的一致性只读视图。快照保持原有文件系统的权限,这样可以在不需要特殊权限或者管理员权限的情况下就可以使用标准工具(ls,cat,cp,grep,diff)来访问它。根据我们的经验,快照非常可靠,而且经常会使用它,这是因为快照总是有效,而且易于访问。

几点人
几点人
翻译于 2个月前

0人顶

 翻译的不错哦!

使用了快照后我们就不再纠结究竟是使用全备份,还是增量备份了。每个快照都是一个完整的树形文件系统,与全备份非常相似。不过其实现却与增量备份非常相似,因为快照和正在使用的文件系统共享着仍然未修改的任意数据块;快照只是需要在另外的存储上保存已经修改过的数据块。为了获得可观的性能,存储快照的设备必须有效地支持随机存储,而磁带存储在这方面受到限制。

在WAFL和AFS系统里,快照的生存期非常短;只保留少量最近的文件系统快照。这种处理策略是很有道理的,因为最近的文件是最经常要用到的。对于这样的系统来说,归档存储就需要采用其他机制进行了,比如磁带备份。

几点人
几点人
翻译于 2个月前

0人顶

 翻译的不错哦!

Plan 9 文件系统的哲学理念是:随机访问存储非常便宜,因此可用于永久性保存快照。保存文件系统每日快照所需要的存储令人感到意外的是不太多;这篇文章的后面我们将展示两台文件服务器最近10多年使用情况的统计结果。

类似于 Plan 9 ,Elephant 文件系统[18]保存了许多数据快照。这个文件系统使用了大量的存储回收策略,从而可以确定什么时候删除某个文件的快照。尤其要注意的是:文件的"landmark"快照是永久保存的,这样就会有一个归档的记录。

几点人
几点人
翻译于 2个月前

0人顶

 翻译的不错哦!

Venti 是一个块级别的网络存储系统,用于归档数据。该系统的接口是一个简单的协议,可以允许用户应用程序读写不同大小的数据块。Venti 自身不为文件和备份系统提供服务,但是提供后端的归档存储服务。

Venti 基于数据块的哈希值识别数据块。数据块通过抗冲突函数生成出足够大的哈希值来保证数据块的唯一性。我们称这样的唯一的哈希值叫数据块的指纹,可以用做读写操作的地址。这种方法可以使存储系统生成很多有趣的属性。

深海牛蛙
深海牛蛙
翻译于 2个月前

0人顶

 翻译的不错哦!

数据块是通过内容的指纹来寻址的,因此要修改数据块就必须修改它的地址;这样的行为本身就是一次性写入的。这个特性把Venti同大多数存储系统区分开来,大多数存储系统的数据块地址和内容毫不相关。

而且,写入操作也是幂等的。即同一数据的多次写入可以合并,而且不需要再增加存储空间。这个特性大大的增加了服务器有效存储容量,因为它与客户端应用的行为无关。例如,增量备份应用无法准确地确定要修改哪一块的数据,最终会生成重复数据。而在Venti存储系统上,这样的重复数据会被丢弃,只保留一份这样的数据拷贝。事实上,使用全备份而不使用增量备份使用的是同样数量的存储空间。如果客户端写入的数据使用的相同的块大小和对齐方式,那么即便是来自不同的应用和服务器的重复数据一样也会被删除。

几点人
几点人
翻译于 2个月前

0人顶

 翻译的不错哦!

可以把哈希函数生成的结果看成是通用的数据块名字空间。不需要通力合作和协调,多个客户端就可以共享名字空间和Venti服务器。而且,块级别的接口在客户端用来存储数据的结构和格式上有一点限制。与此相反,传统的备份和归档系统要求更加集中性的控制。例如,备份系统包括了某种形式的任务调度器,以实现对磁带设备的访问的序列化,同时仅仅支持少量的预先确定的数据格式,这样目录系统就会提取相对应的元数据。

Venti本身就对数据一致性进行了检查。在对某个数据块进行检索的时候,客户端和服务器都对数据的指纹进行计算,然后把它与所请求的指纹进行比较。这样的操作使得客户端不会出现未检测到数据冲突这样的错误,同时让服务器可以识别什么时候必须进行错误恢复。

使用数据块指纹作为数据块识别码可以实现诸如复制、缓冲和负载均衡这样的功能。由于某个数据块对应的内容是不变的,这样就大大减少了数据一致性问题;缓冲或者镜像就不可能包含旧的或者过时的数据块。

几点人
几点人
翻译于 2个月前

0人顶

 翻译的不错哦!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多