随着现在数码时代的不断进步,以及人们多对媒体日渐增加的需求,每个人都会有海量的数据(文件,照片,视频,电影等等)需要存放。而且这个数据的大小从以前的几百GB变成了现在动辄几TB的空间。
其实在这之前会有几种选择:
- 买一块大容量硬盘。这样一块硬盘坏了怎么办?虽然机械硬盘某种程度上可以进行数据修复,但是有些不可恢复的数据还是不要冒这个风险了吧。
- 买多几块大容量硬盘做家庭NAS(商业NAS产品或者DIY NAS产品)。这个方案解决了存储容量问题和高可用的问题,但是需要更多的资金投入。
- 免费国内公有云。我们有百度云,360云盘,华为云等等免费的公有云产品,他们动辄提供好几TB的数据容量给你,而且完全免费!缺点是什么?你不知道你的数据会不会突然被删除/替代;你的数据有很大可能性被监控,没有一点安全性可言。
- 免费/收费国外公有云,比如Dropbox, OneDrive, Google Drive等等。比起前面的国内公有云更安全,稳定性更好,但是速度会相对慢,而且大多数情况下在天朝你是不能直接访问的,除非挂个梯子。
研究了很久,而且挨踢小茶也买不起NAS产品,于是自己动手丰衣足食,搭建了一套属于自己的私有云。期间也对比了不同的开源云存储产品(Seafile和Owncloud等等),最后选择了Owncloud,它有以下特点:
- 几乎免费(取决于存储的容量,每个月可能需要几块钱,用于支付AWS S3的存储费用)
- 没有容量限制
- 安全,服务器和存储放在国外,几乎不受任何监管
- 支持电脑,手机,平板相应的app客户端,同时支持浏览器
- 不需要挂梯子,目前用20M宽带测试韩国区域的机器,可以达到满速(更高的速度没有条件测试)
- app和浏览器均支持在线预览图片和视频
- 同时兼容挂载国外公有云产品,因此通过这个方法你不需要挂梯子就能访问你的国外云数据
- 多用户支持,你可以创建不同账号来访问不同的目录
好,下面来简单介绍下这个架构。
首先在AWS上创建一个韩国区的EC2主机(目前中国境内访问来说,韩国区是最快的,其次是日本区),以及一个在韩国区的S3(Simple Storage System,简单文件存储系统)。使用S3fS-fuse将S3的buckget挂载为EC2主机的一个磁盘,这样Owncloud就能直接将这个磁盘变成云盘了。
然后使用Route53 (DNS服务)将自己的自定义域名,比方说cloud.xxx.com动态指定到这台机器上,以后就可以用手机app/电脑客户端/浏览器访问https://cloud.xxx.com来对私有云盘进行访问。默认Owncloud基于HTTP的,要改成HTTPS需要安装SSL证书,而且只有在HTTPS情况下才能在线预览视频。
Owncloud界面如下,非常简洁,有基本的用户管理和系统配置功能。
其实设置中涉及了非常多的技术细节,在这里我就不一一讲解了,如果有需要,可以留言,我会尽量解答。
文章评论