我需要将家里的所有内容从各个机器转移到中央服务器上。我想要的是隐喻中的“楼梯下的服务器”。
我们需要的东西:
- 可扩展存储。我希望能够随着使用而添加额外的磁盘,同时只需进行最少的维护。目前我们需要托管大约 3TB 的文件,根据最近的历史记录,每 6-12 个月可能会增加 1TB。我需要能够以最少的麻烦添加额外的磁盘
- 需要存储我们拥有的所有媒体(即照片、视频、音乐),并运行服务来为我们家中的各种设备提供播放服务(例如 DAAP,这样我们可以通过 iTunes 播放内容,ccxstream,这样我们可以通过 XBMC 播放内容)。现在需要 DAAP 和 ccxstream,但我们还需要支持新标准(因此封闭式解决方案行不通)
- RAID 5,或大致相当的版本(例如 RAID-Z)
- BitTorrent 客户端
- ssh、NFS、Samba 访问
- 快照功能(如 ZFS),这样我们就可以定期对单个文件系统进行快照,并在我的孩子在截止日期前一天删除他们的学校作业时进行回滚……
- 能够从断电中快速恢复(断电时间比 UPS 电池的使用寿命更长的情况很常见)
- 自由/开源软件
- 运行在机器上的现代分布式版本控制系统,例如 Mercurial
我希望服务器上有但没有的东西:
- PVR 功能,这样我就可以将电视节目录制到盒子上
- Web 服务器。我们目前在一台非常旧的机器上运行一个小型 Web 服务器,我理想情况下想关闭旧机器并将内容移至新服务器,以节省一些电力
- Nagios + mrtg
我一直在考虑使用 EEE Box 作为服务器,主要是因为我可以便宜地买到它们,而且它们耗电量不大。从我发现的情况来看,操作系统和文件系统的选择更加困难:
- 我对各种 Linux 发行版都有丰富的经验,但我很乐意使用其他 Unix
- FreeBSD 和 OpenSolaris 似乎是托管 ZFS 的最佳选择
- OpenSolaris 的硬件支持远不如 Ubuntu
- btrfs 虽然看起来很不错,但似乎还没有准备好迎接黄金时段
- ZFS 不允许您(轻松?)向 RAID5 或 RAID-Z 添加新磁盘
- 读了一番,似乎 ZFS 缺少一些恢复丢失数据的工具
目前,我倾向于运行 FreeNAS+ZFS,但我担心需要能够定期向现有 RAID-Z 添加新磁盘。
有人可以提供一些建议,或者分享经验吗?
提前致谢
答案1
FreeBSD 和 OpenSolaris 似乎是托管 ZFS 的最佳选择
在 OpenSolaris 中,ZFS 通常会提前发布版本/功能/错误修复。
OpenSolaris 的硬件支持远不如 Ubuntu
随着最近的 OpenSolaris 版本的推出,硬件支持变得越来越好,但只要您的硬件受到支持,这并不重要。
ZFS 不允许您(轻松?)向 RAID5 或 RAID-Z 添加新磁盘
您无法将单个磁盘添加到 raidz,但您可以将另一个 raidz 添加到第一个 raidz 所在的池中。唯一的缺点是您需要同时添加多个磁盘。
读了一番,似乎 ZFS 缺少一些恢复丢失数据的工具
关键是 ZFS 在设计上不会丢失数据,因此除了内置的自我修复工具之外,恢复工具没什么用处。
答案2
我最近建立了一个具有一些上述功能的系统。
它基于 Atom Supermicro-System:
www.supermicro.com/products/system/1U/5015/SYS-5015A-H.cfm ?typ=H
一张基于 2-eSata 端口 SIL3132 的 PCIe-SATA 卡,
类似这样的卡:www.cooldrives.com/2poespcrasai.html
一个(可连接 2 个)用于 5 个磁盘的 SATA 端口多路复用器(Sil 3726),
如下所示:www.cooldrives.com/cosapomubrso.html
系统从小型 2.5 英寸内部 SATA 磁盘运行 FreeBSD 8.0,目前有 3 个 1TB 磁盘连接到端口倍增器。外部磁盘上的文件系统是 ZFS。一个重要的事情是 /boot/loader.conf 中的以下行,
siis_load="YES"
我也在这个系统上运行了 iozone,它对 3 个节能 5600rpm 驱动器的性能还不错
您还应该考虑磁盘的启动电流。我已经用胶带封住了电源连接器的第 11 针 (pinouts.ru/Power/sata-power_pinout.shtml),这样驱动器就不会同时启动。
如果您不想将其放在 19 英寸机箱中,则可以使用主板上的第二个 PCIe 端口作为第二个控制器,该控制器有 2 个端口可容纳另外 10 个磁盘。
您帖子中的一些观点:
- 向 ZFS 池添加磁盘非常简单
- 我没有将媒体流式传输到设备,但 Ports 集合中应该有一些软件(www.freshports.org/audio/mt-daapd/)
- PVR 部分可能是最难的,因为硬件支持(http://www.freshports.org/multimedia/mythtv)
- www.freshports.org/devel/mercurial/ -> 版本控制
- ZFS 缺少恢复工具,因为你实际上并不需要它们。在测试期间,我曾尝试破坏文件系统,但没有成功。:-)
SMB、SSH、NFS、Webserver、Nagios、MRTG/Cacti、BT 都不是真正的问题
祝你做出决定并得到支持
答案3
我不知道如何每隔几个月扩展 RAID 5 部分,但我相信以下内容:
- 你不需要 EEE 盒,仅仅是因为你不能把硬盘塞进去
- 也许可以买一个便宜的中型机箱、低压单核 AMD 和匹配的主板、一个好的 500W 电源(使用在线功率计算器计算出你所需的确切额定值)和一个 RAID 5 PCI(E) 控制器
- Ubuntu 可能拥有你需要的所有编解码器,但 FreeNAS 听起来也不错
- 对于文档备份,请尝试在夜间备份周期中使用 rdiff-backup(不会进行快照,但增量可以节省空间)
答案4
我选择了 FreeBSD、ZFS
Antec P183 机箱、400W Silverstone ST40EF PSU、ASRock A330ION ION Atom 330 mini ITX 主板、LSI SAS3081E 8 端口 sas/sata pci-e 8x 卡、4GB 内存
6 个 2TB WD Green 硬盘,5 个驱动器 raidz,当这些满了之后,再购买 5 个驱动器(希望到那时 3GB 会足够便宜)当这些满了之后,用 4TB 驱动器替换旧的 2TB 驱动器,重复操作直到全息存储。
7 个 3.5 英寸驱动器插槽,4 个 5.25 英寸(以后必须以某种方式转换为 3.5 英寸)
它有时会有点慢,我选择了低功耗的原子,但是 zfs 加上其他东西可能需要更多的 CPU。
ION 2 平台毫无用处,PCI-E 通道不够