我想构建一个支持硬链接(基于 Linux,NFS?)的 NAS,因为软件会使用它。我需要某种 RAID,以防单个驱动器发生故障。
我非常喜欢 FlexRaid,但它不支持硬链接。
FreeNAS 有一个不错的 RAID 选项 - ZFS / Raid-Z,但似乎你失去了很多空间(大约 50%?)。
UnRAID - 不确定?免费版本仅支持 3 个驱动器。
OpenFiler 凭借其软件 RAID-5 看起来是一个不错的选择,并且您似乎不会因为 RAID 开销而损失太多。
还有其他选择或思考方法吗?
答案1
这是一个非常开放的问题,所以对一个人有用的方法可能对你不起作用。我个人会选择使用 NexentaStor 或 OpenIndiana/Solaris Express 和 Napp-IT Web UI 管理界面进行 (Open)Solaris 类型的安装。FreeNAS 很好,但它基于 freebsd,并且它的 ZFS 版本比 Solaris 落后几个版本。我以前也读到过它在 freebsd 上的表现并不理想。
不确定您从哪里获得 50% 的 RAIDZ 空间?未启用任何附加功能的默认 RAIDZ 池使用的空间量与传统 RAID5 相同。对于您选择的每个级别的 RAID,您会丢失一个驱动器进行奇偶校验,因此 RAIDZ1 = 1 个驱动器,RAIDZ2 = 2 个驱动器,RAIDZ3 = 3 个驱动器,但每个级别还会增加额外的容错能力,因此取决于对您而言什么是重要的。
OpenFiler 是一款不错的基于 Linux 的文件操作系统,但我不会使用它的软件 RAID 功能。我想要一个基于硬件的 RAID 控制器。如果您没有其他选择,mdraid 是可以的,但如果有其他选择,您会想要使用其他选择。自从我了解到管理 ZFS 的简单性后,处理用于存储的 Linux 文件系统(RAID + LVM + FS)的想法现在似乎太复杂了。
回顾一下您要做的事情,您需要的硬链接取决于您选择的网络协议。NFS 本身支持硬链接,是的,但是您可以在任何现代 Unix 操作系统上运行 NFS,因此,通过了解这一点,您可以更轻松地满足您的要求。
答案2
我在假 RAID5 上运行 Ubuntu 服务器,它可以作为 NAS 很好地运行。
RAID5 是通过 Intel Matrix Storage Manager(取决于芯片组)配置的,但为了在 Ubuntu 中安装它,我使用了 mdadm(lvm 是一种非常强大的替代方案,dmraid 是另一种更简单的替代方案)。这在最初尝试安装操作系统时会出现问题,因为 mdadm/lvm/mdraid 似乎没有随 Ubuntu 的标准操作系统下载(仅 gparted)一起提供。但是,我相信“替代安装”在安装到 RAID 上时工作正常。我最终做了额外的工作,并使用解引导/chroot方法来自 livecd,虽然有点冗长,但我认为值得体验一下。如果您的 NAS 盒没有 CD 驱动器,那么一个选项是将 RAID 安装到已经启动并运行 Linux 的计算机上,然后从那里进行 chroot。
在网络可见性方面,如上所述,NFS 在 Unix 上很好用,也可以为 Windows 客户端配置(家庭版可能不行,而且启用它是只有技术人员知道如何操作的事情之一)。因此,为了获得最佳的 Windows 兼容性,我会设置一个 samba 服务器,它在 Unix 机器上也可以正常工作。
Webdav 非常酷(支持通过 http(s) 写入、通过 Apache 设置、可远程安装,包括通过代理/防火墙),但不允许对视频和音频文件执行流式传输命令(例如播放、暂停等)。(但它非常适合处理共享文档。)相反,RTP 兼容服务器最适合网络附加媒体。VLC 有一个 RTP 兼容的 Web 界面,但我还没有看到它能正常工作。还有其他商业选项可供试用/购买。
因此,我建议在阵列上安装 Ubuntu Server,并使用 mdadm 来管理 RAID。虽然我不需要对阵列进行任何技术操作(例如重建驱动器),但对我来说效果很好。如果您需要远程访问并且它位于防火墙后面,那么我会设置一个 Apache webdav 位置,该位置通过代理完全可见。如果它在公司网络上,并且您希望每个人都可以访问,您可能需要尝试LDAP 身份验证否则,摘要式身份验证是不错的选择,尽管您仍然希望尝试强制使用 https 而不是 http,这可以通过 Apache VirtualServer 指令完成:-
RewriteRule ^/webdav/?(.*)$ https://%{SERVER_NAME}/webdav/$1 [R=301,NC]
这是我的意见...我是否偏离主题了??