打造廉价的云存储服务器

Backblaze 是一家在线存储服务商,为用户提供在线数据备份服务。在一篇博客里他们分享了建造云存储服务器的过程和经验,他们正是用这些自己组装的设备来运行 Backblaze 云存储服务的的。本文数据、图片均来自:Petabytes on a budget: How to build cheap cloud storage.

价格对比

和那些专门的存储公司 Amazon S3/Dell/Sun Servers/NetApp Filers/EMC SAN 等相比,自己组装存储服务器要便宜得多:

cost of a petabyte chart

硬件

组装一个 67 TB 的 4U 存储服务器只要 $7867:
storage hardware

storage assembled

硬件 价格
Seagate ST31500341AS 1.5TB Barracuda 7200.11 SATA 3Gb/s 3.5″ 45 X $120.00
Intel E8600 Wolfdale 3.33 GHz LGA 775 65W Dual-Core Processor 1 X $280.00
Intel BOXDG43NB LGA 775 G43 ATX Motherboard 1 X $85.00
Kingston KVR800D2N6K2/4G 2×2GB 240-Pin SDRAM DDR2 800 (PC2 6400) 1 X $50.00
Western Digital Caviar WD800BB 80GB 7200 RPM IDE Ultra ATA100 3.5″ 1 X $38.00
Zippy PSM-5760 760 Watt Power Supply with Custom Wiring 2 X $270.00
Custom Designed 4U Red Backblaze Storage Pod Enclosure 1 X $748.00

软件

存储服务器上运行的是 64位的 Debian 4 Linux 操作系统和 JFS 文件系统,整个系统通过 HTTPS 访问。Backblaze 使用 Linux fdisk 工具在每个硬盘上创建一个分区,用 mdadm 工具把15个硬盘合成1个 RAID6。整个系统使用 Backblaze 自己在 Apache Tomcat 5.5 上定制的的应用程序,通过 HTTPS 访问。把所有系统占据的硬盘空间减去后,还剩下大约 87% 左右的硬盘空间可供使用。

Backblaze 介绍了一条重要的经验就是始终通过 HTTPS 存储、得到数据,而不是通过 iSCSI, NFS, SQL, Fibre Channel 什么的。这些技术 scale 起来都比不上廉价、稳定、简单的 HTTPS。

Backblaze 选择了 JFS 作为他们存储服务器的文件系统可能是看中了 JFS 快速重启、恢复文件系统的优点,系统崩溃后几秒或几分钟内就能修复文件系统到一致状态。JFS 是一个带日志功能的文件系统,为服务器的高吞吐量、可靠性和面向事务而设计,使用了类似数据库日志的技术,加上64位、B+ Tree、网络传输速度快、CPU 占用少、拷贝/删除大文件快,mount/unmount 快等特点,使得 JFS 很适合做存储、文件服务器、NAS 等的文件系统。但是有一些资料显示 JFS 在 Linux 上不太稳定,bug 较多,测试不充分等。

storage software

云存储

如果想组装一台自己的存储服务器,上面这些硬件组合起来的 67 TB 4U 服务器应该足够了;如果想建造云存储服务器群的话,除了需要大量的硬件、硬盘以外,还需要软件来管理这些庞大的设备,Backblaze 开发了自己的私有软件来满足云存储的要求,用来把数据打散成块、加密、传输数据到服务器备份以及从服务器得到数据、解密、复制、恢复数据传输给客户,还有监视和管理整个云存储系统等。

评论 (1 Comment)

  1. 哈哈,对于这个系统,我是再熟悉不过了。本公司就是做云存储的。采取http方法存储和获取文件,其中软件部分,公司自己写的。硬件搭建部分,和你介绍的差不多。上个月我就组装了一个节点的云存储服务器。其实也没用你说的那么复杂,硬盘是16*1000G。做raid6.操作系统采用的是CentOS。服务器外形和你的图片差不多,不过成本应该没有你上面写的那么高。

发表评论