目前我有一个带有 ZFS 和 NFSv4 的 FreeBSD 主机。它被复制到另一个 FreeBSD 盒中以进行备份。
对我来说重要的 ZFS 功能包括
- 软件 RAID6
- 快照,或者其他方式复制到另一台主机
- 配额
- 访问控制列表
- 无需使主机离线即可更换故障磁盘
问题
可以在 CentOS 6 上使用 XFS 或 GlusterFS 进行相同或类似的设置吗?
更新
硬件是
- Supermicro CSE-847E16-R1400LPB 机箱,36 个 HS 托架
- Supermicro H8DG6-F AMD 双 G34 主板
- AMD Opteron 6320,2.8GHz 8 核,8MB L2 缓存,6400MT
- 64GB RAM 和 128GB 交换空间
每个主机在 RAIDZ2 中都有 36*3TB 空间,因此可用 100TB,已使用 50TB。
Ubuntu 客户端似乎会在大量读取时导致主机崩溃。目前有大约 5 个 NFS 客户端。没有读取缓存。
除了启用巨型帧外,无需对 NFSv4 进行调整
echo 'kern.ipc.nmbclusters="32768"' >> /boot/loader.conf
echo 'kern.ipc.maxsockbuf=16777216' >> /etc/sysctl.conf
echo 'net.inet.tcp.sendspace=262144' >> /etc/sysctl.conf
echo 'net.inet.tcp.recvspace=262144' >> /etc/sysctl.conf
echo 'net.inet.tcp.rfc1323=1' >> /etc/sysctl.conf
echo 'net.inet.tcp.sendbuf_max=16777216' >> /etc/sysctl.conf
echo 'net.inet.tcp.recvbuf_max=16777216' >> /etc/sysctl.conf
答案1
♡ 嗨呀...
我认为这个问题实际上是问题使用 FreeBSD NFS 堆栈...
ZFS 在支持的平台上运行良好。我已将运行 Solaris 和 NexentaStor 的大多数 ZFS 系统迁移到 Linux (RHEL/CentOS),这要归功于Linux 上的 ZFS项目。如果您现在正在使用 ZFS,那么转向其他任何方式都是倒退。
但我对以下内容很好奇:
- 您存储了多少数据?
- 您有多少个 NFS 客户端?
- 您是否对现有服务器执行过任何 NFS 调整?
- 您是否在现有设置中使用任何形式的 L2ARC 读取缓存?您有多少 RAM?
- 你们的服务器的硬件配置是怎样的?
无论以上问题的答案是什么,您都有一些选择……
- 修复或调试您的 FreeBSD 问题。NFS不应该服务器崩溃。如果您在这个设置上投入了大量时间,那么找出这个问题的根本原因可能是值得的。
- 在另一个平台上转换为 ZFS。 NexentaStor、Linux、Solaris、印第安纳公开赛在 NFS 方面相当稳固。
总的来说,XFS 和集群文件系统的某种组合可以实现与 ZFS 相同的一些功能,但这不是直接比较。我认为您还不应该放弃 ZFS。
答案2
我会选择多种技术。
- 软件 RAID6,使用Linux RAID 功能使用该
mdadm
工具。 - 快照,我会选择逻辑卷管理器。
- 访问控制列表和配额,对于 XFS 和常用实用程序来说没有问题。
你也可以选择相当新的文件系统如果你喜欢冒险。