从专业的服务器角度出发说说115云存储的详细架构

回复 已回复17 星标
更多

从专业的服务器角度出发说说115云存储的详细架构


       今天,我想说说一下115之类的云存储详细架构, 作为skydiiveweb开发工程师, 我想把这些先进的云存储技术和大家分享分享


       很多人可能会觉得云存储不过就是把文件放在网络硬盘而已, 殊不知网盘的服务商存储这些文件耗费的大量精力. skydrive开发为例子, 用户的网盘中文件会被微软分发到数十个数据中心, 稍微懂点电脑的, 就知道这是RAID冗余技术, 微软skydriveRAID冗余模式是 RAID5+5+10+10+50+50+50+50, 微软的skydrive数据还被后台备份至磁带服务器. 因为硬盘的成本比较高, 而磁带能够提供大容量的备份, 比如HP的一盘商业数据存储磁带能够存满大概400GB的数据.


       再来看看115网盘, 原先的115网盘有3个镜像, 应该早先用115网盘的还记忆犹新, 他们分别是电信, 网通, 备份下载. 后来改为电信下载和联通下载, 服务器优先上传至电信的服务器, 过几天以后再同步到联通服务器. 现在, 115只有一个普通下载, 以我个人看法, 因该是115简化了下载步骤, 登陆时候自动优选电信或者联通. 由于我不再国内, 只能用VPN来简要测试一下, 如果用电信线路服务器, 得到119.147.*.* 这样IP下载地址, 如果用联通线路, 能得到 112.70.*.* 这样的下载地址, 说明115确实在线路上有优化


       再来谈谈skydrive的存储架构, skydrive用的是目前主流网盘流行的 CDN技术,也叫 content distribution network, 内容分发网络, skydrive在美国当地 50个洲有大约5000个节点镜像, 每个50个节点镜像互相享有他们之间的RAID分块数据. 这和115的极速下载比较类似, 都是使用了内容分发网络, 只不过skydrive对所有用户数据都进行同步, 115CDN可能只是一种VPN或者SSH光纤隧道, 把主站的资源通过万兆以太网发送给离用户最近的CDN节点, 算一种带宽加速CDN.


       最后来说说服务器的带错运行, 所谓带错运行, 就是服务器有几块空闲的硬盘, 当有其中一块硬盘故障时候, RAID能够重新识别一块硬盘并通过奇偶校验ODC和异或校验来重建数据, 可能当时服务器忙的不可开交,没空写入, 这是这些错误块会预先写入内存中, 待空闲时候重建RAID. skydrive类似, 115在后台, 也会采用类似的技术, 为了保障用户的安全,可能115还会有更多的冗余镜像, 这样即使一个数据中心发生故障, 也能从另一个数据中心恢复所有数据.


-


正序阅读 17# 2012-10-06 23:44

受教啦 ,我想115的辉煌还是要靠枫哥的思维所左右。

16# 2012-10-06 22:59

哎,同事计算机行业人事,为啥俺就抵不上一个手指呢

15# 2012-10-06 22:31

长见识了,膜拜楼主

14# 2012-10-06 22:10

长见识了

13# 2012-10-06 21:56

很牛!~

12# 2012-10-06 21:37

高手,学习了

11# 2012-10-05 18:47

线路优化方面, 一般skydrive都有负载均衡服务器的, 负载均衡服务器位于防火墙拓扑之后第一台服务器, 全内存架构, 当用户请求文件时, 均衡服务器内存储的hash值所对应的后台源服务器即为下载文件的"源"信息.

提供数据检索速度主要依靠大容量的RAM实现, 由于RAM速度比硬盘快上10倍, 把hash存储在RAM中速度能大幅提升.

服务器快速响应原理就在于负载均衡服务器的性能, 负载均衡服务器只做一样事情, 从内存盘中检索hash值, 并以最快速度返回hash值对应文件的源信息, 也就是说, 负载均衡服务器速度越快, 用户下载一个文件所需要的响应时间越短. 一般Xeon E7系列处理器是最佳选择.

skydrive加密主要是居于分块存储的, 即一个文件分布于不同的硬盘上. 并且skydrive有自己的一种文件系统, 和NTFS/FAT文件系统不同, skydrive的文件系统采用了大扇区, 极大优化了硬盘的I/O性能, 这种特殊的文件系统和硬盘的NCQ队列技术很相像, 能够尽量降低硬盘的读取损耗. 这种文件系统的另一个优势是, 即使部分硬盘被盗窃, 数据依然无法还原, 因为他们没有能够读取skydrive这样特殊文件系统的工具.

10# 2012-10-05 16:51

  楼主如果能写的更详细点就更好了,比如说线路的优化方面,数据安全性与一致性方面。作为数据存储服务商,数据的冗余备份,差异检测应该是最常用的技术手段。但是有一点我想请教下楼主,如何提高数据的检索速度,据我的推断,数据的存储位置所对应的逻辑表应该是以该文件的hash值作为关键字的,而用户的数据表中实际存储的只是该文件的Hash值和一些基本信息。如果用户想要下载一个文件,服务器如何快速响应?

   skydrive中数据的存储采用加密技术了吗?如果采用,加密的方法有哪些?解密的速度如何?怎样才能在数据的安全与响应的速度速度方面保持平衡,并保证与备份数据的一致性?还望楼主不吝赐教!

9# 2012-10-05 14:37


8# 2012-10-05 14:01

楼主写的很好啊~

7# 2012-10-05 13:37

难得的技术贴。。。

6# 2012-10-05 12:10

回楼上, 这个事情我听说过, 但是好像公司内部也没什么很大的动静, 因为我不在审查部门, 对相关方面也不是很了解. 我个人的观点啊, 这样的做法确实有点偏激了, 毕竟是用户的数据, 私自查看他人数据实在不是很妥当. 但是这个做法以前GOOGLE也有阅读过用户邮件也有几分相像, 我只能说, 如果确实是比较隐私的东西, 不如买个U盘备份, U盘放在自己手中其实是最安全的, 还怕出问题, 买个原生带加密芯片的U盘, 这样才是最为妥当的.

5# 2012-10-05 10:03

你对微软监控SkyDrive用户数据的事件怎么看。就是7月份,荷兰一用户上传9G的隐私图片到skydrive私人文件夹,被微软监控到,并且封号的事。

4# 2012-10-05 09:52

同志,你国外公司好好干,多弄点先进技术献给国家

3# 2012-10-05 01:35

受教………………

2# 2012-10-05 00:52

不错不错。。受教了。

1# 2012-10-04 22:30

最近多了很多專業人士。我表示長見識了。

新窗口打开 关闭