今天是个好日子,
OpenFiler 是一款基于 Linux 的操作系统,可将计算机系统转换为 SAN/NAS 设备。问题如下。在我的环境中,我们有两台 Netapp Storevault 500 设备,我通常将它们备份到 NFS 共享。有两个备份 cronjobs 使用 ghettoVCB 来备份两组 VM。一组是 3 个 VM 的池。这需要 13 分钟才能完成。第二个作业是将 5 个 VM 的池备份到第二个 Storevault 设备,这需要 2 小时。
然后,我们在一台拥有 2 个核心 Xeon 处理器的旧服务器上安装了 Openfiler。有一个软件 RAID 5 进程。当对 NFS Openfiler 共享执行相同的备份时,第一个备份作业(需要 13 分钟)需要大约 4 个小时。第二个备份作业(需要 2 个小时)需要将近 10 个小时才能完成。这是不可接受的!!!!尤其是考虑到主机 ESX Server 的压力。我认为由于软件 RAID 5,CPU 上的开销解释了备份时间长的原因。
然后,我在第二台服务器上安装了 Openfiler,这是一台 IBM x306 机器,配有 P4 Intel 处理器。这次没有软件 RAID,甚至没有任何 RAID。一个包含操作系统的 750GB 硬盘,其余磁盘用于将虚拟机备份到 NFS 共享。我执行了 3 个虚拟机池的第一次备份作业。这次备份作业花费了 1 个半小时完成,而不是 13 分钟!!!!!!!!!!
Openfiler 作为 NFS 服务器是否性能很差啊!!!!!!!!!!!!! 还有其他人在使用 Openfiler 时遇到过这些问题吗?
答案1
NFS 与 VMware 是特殊情况。每次 NFS 事务之后,VMware 都会调用 NFS COMMIT,这会强制 NFS 服务器将存储在 RAM 中的缓存写入同步到硬盘驱动器,从而大大降低速度。据我所知,在 VMware 中没有办法关闭此功能,也无法调整 NFS 窗口大小以缓解此问题。
您之所以在 Netapp 上看不到这种情况,是因为它们有电池供电的 RAM,所以它们的 NFS 实现会立即从 COMMIT 返回 - 即使您在备份过程中切断电源,当您重新插入 Netapp 时,它仍然会有一致的数据。
据我所知,解决方法是使用 noatime 等调整 OpenFiler 的挂载;或者在 OpenFiler 上创建不会出现相同问题的 iSCSI 目标。电池支持的缓存 RAID 控制器可能会有所帮助,但是,在单次写入时备份 GB 时,缓存可能仍比 Netapps 慢。您使用的是千兆以太网,对吗?