我有一个运行Ubuntu(服务器版)的服务器,其主要工作是通过FTP(vsftpd)和AFP(netatalk)提供文件。 我的/ srv目录开始填满了,我需要添加更多的硬盘驱动器。 由于其技术已经过时,所以我不需要考虑RAID。
对于现在的价值,我应该使用内核模块还是FUSE扩展来使用更成熟的ZFS,还是让更新的更类似Linux的btrfs旋转? 在这种情况下每个人的利弊是什么?
TIA。
对这两种select来说,最大的负面影响是它们都不能在Linux内核的黄金时段准备好。 我强烈build议不要在这个时候使用他们中的任何一个,他们的成熟只是不存在。
也就是说,如果你不得不使用其中一个,我倾向于btrfs。 它在操作系统上更好,并且由于它在内核而不是用户空间中,因此应该比ZFS执行得更好。
如果RAID对于你来说是“过时的”,我假设你想要一些端到端的校验和(即位防护)。 如前所述,BTRFS尚未准备好适应任何一种非发展环境,目前尚处于发展阶段。
ZFS下保险丝在一定程度上工作,但性能(速度)差,长期可靠性是一个很大的未知数。
如果这是为了个人使用而不是使用Solaris 11 Express,但是它是商业的(而不是“开发”或“评估”),则需要购买许可证才能使用它。 它有最新的ZFS池版本(31我相信)。 基于SVN 151a构build。
OpenIndiana是免费提供的基于Solaris的构build的最新版本,因此可能是免费的ZFS托pipe的最“强健”的解决scheme。 它使用的是ZFS池版本28.基于SVN 147。
Nexenta – 两个版本,一个核心版本(仅限CLI)和一个社区版本(免费多达18TB的存储)(以及付费版本)。 这是基于SVN 134与ZFS池版本22,但有很多的修复从147回溯。
FreeBSD拥有非常成熟的非solaris ZFS实现(也是唯一一个我会考虑使用的)。 8.2稳定版本运行ZFS池版本15,FreeBSD 9-Current支持ZFS版本28。
有关zpool版本的说明,可以向上迁移,但不能向后迁移 – 如果在版本15的10个磁盘上有ZPOOL,则可以将其导入到支持版本15或更高版本的任何操作系统,但必须导入版本28池到支持版本28或更高版本的操作系统。
在ZFS版本15和28之间,可能的显着特性是三重奇偶校验(Raid-Z3)和重复数据删除。 如果你不使用这些,那么它确实没有关系(重复数据删除是好的,但内存很大 – 每TB 1GB的数据是一个很好的经验法则,如果你没有RAM,那么性能就会变成一个所以只有在你真的需要的时候才使用它。
另外,如果您使用基于solaris的发行版,则应该检出napp-it作为Web界面以支持configuration和pipe理ZFS – NAPP-it网站 。
如果你使用基于BSD的设置,你可能想看看ZFS-Guru发行版 – ZFS Guru FreeBSD发行版
你也许可以设置一个虚拟机,然后在虚拟机上运行其中一个发行版,如果你这样做,我会build议像ESXi这样的支持Vt-d直接传递的东西。 无论您的SATA / SAS接口是什么,请将其完全控制到ZFS主机操作系统以获得最佳性能。 如果您需要额外的端口,基于LSI1068E的卡是最好的select(仅在HBA模式下)。 他们是可利用的〜70USD。
如果你想使用ZFS,你最好的select是使用Oracle的OpenIndiana( http://www.openindiana.org )或Solaris 11 Express。 ZFS的第二个最佳select是FreeBSD的最新8.2版本( http://www.freebsd.org )。
BTRFS目前仍处于严重的发展之中,我不会信任任何我关心的数据,在Linux下运行ZFS将是一个充满潜在问题的道路。 如果它真的是你关心的文件系统,那么你应该select最适合文件系统的操作系统。 使用NTFS也一样。 虽然可以在Linux下读/写NTFS,但如果这是我想使用的文件系统,我只能在Windows操作系统下执行。