设置家庭服务器 - 使用什么?(ZFS 与 btrfs、BSD 与 Linux、其他要求)

设置家庭服务器 - 使用什么?(ZFS 与 btrfs、BSD 与 Linux、其他要求)

我需要将家里的所有内容从各个机器转移到中央服务器上。我想要的是隐喻中的“楼梯下的服务器”。

我们需要的东西:

  • 可扩展存储。我希望能够随着使用而添加额外的磁盘,同时只需进行最少的维护。目前我们需要托管大约 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 通道不够

相关内容