磁盘 IO 在 ESXi 上很慢,在 VM 上更慢(freeNAS + iSCSI)

Esa*_*emo 5 performance network-attached-storage iscsi freenas vmware-esxi

我有一台带有 ESXi 5 和 iSCSI 连接网络存储的服务器。存储服务器在 freenas 8.0.4 上的 Raid-Z 中有 4x1Tb SATA II 磁盘。这两台机器通过千兆以太网相互连接,与其他一切隔离。两者之间没有切换。SAN 机箱本身是一个 1U 超微服务器,带有 3 GHz 的 Intel Pentium D 和 2 Gigs 内存。磁盘连接到集成控制器(英特尔的东西?)。

raid-z 卷分为三个部分:两个 zvol,与 iscsi 共享,一个直接在 zfs 之上,与 nfs 和类似的共享。

我 ssh 进入了 freeNAS 盒子,并在磁盘上做了一些测试。我曾经dd测试磁盘的第三部分(直接在 ZFS 之上)。我从 /dev/zero 复制了一个 4GB(RAM 量的 2 倍)块到磁盘,速度为 80MB/s。

其他 iSCSI 共享 zvol 是 ESXi 的数据存储。我在time dd ..那里做了类似的测试。由于dd没有给出速度,我将传输的数据量除以显示的时间time。结果大约是 30-40 MB/s。这大约是 freeNAS 主机速度的一半!

然后我在同一台 ESXi 主机上运行的 VM 上测试了 IO。VM 是一台轻量级的 CentOS 6.0 机器,当时它并没有真正做任何其他事情。当时服务器上没有其他虚拟机在运行,磁盘阵列的另外两个“部分”也没有使用。类似的dd测试给了我大约 15-20 MB/s 的结果。这又是较低级别结果的一半左右!

当然,raid-z -> zfs -> zvolume -> iSCSI -> VMFS -> VM 中有一些开销,但我不希望它有那么大。我相信我的系统一定有问题。

我听说过 freeNAS 的 iSCSI 性能不佳,是吗?我还没有设法让任何其他“大”SAN 操作系统在机器上运行(NexentaSTOR、openfiler)。

你能看出我的设置有什么明显的问题吗?

hoo*_*enz 5

要加快速度,您将需要更多 RAM。我将从这些一些渐进的改进开始。

首先,加速文件系统:1) ZFS 需要比使用 ARC 缓存更多的 RAM。越多越好。如果您可以将其增加至少 8GB 或更多,那么您应该会看到相当大的改进。我们的有 64GB。

2) 接下来,我将添加一个 ZIL Log 磁盘,即一个大约 20GB 的小型 SSD 驱动器。使用 SLC 类型而不是 MLC。建议使用 2 个 ZIL 磁盘来实现冗余。这将大大加快写入速度。

3) 添加一个 L2ARC 磁盘。这可以包括一个大小合适的 SSD,例如 250GB MLC 驱动器将是合适的。从技术上讲,不需要 L2ARC。但是,添加大量快速 SSD 存储通常比添加更多主 RAM 更便宜。但是,首先从适合/负担得起的尽可能多的 RAM 开始。

有许多网站声称可以帮助进行一般的 zfs 调整,并且可以通过 GUI 设置这些参数/变量。值得研究/尝试。

另外,请咨询 freenas 论坛。在那里您可能会得到比在这里更好的支持。

其次:可以加快网络速度。如果您的 supermicro 服务器中碰巧有多个 NIC 接口。您可以通过通道绑定它们来为您提供几乎两倍的网络吞吐量和一些冗余。 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1004088


eww*_*ite 2

一些建议。

  • RAID 1+0 或 ZFS 镜像通常比 RAIDZ 性能更好。
  • 您没有提及存储服务器的实际规格,但您的 CPU 类型/速度、RAM 数量和存储控制器是多少?
  • 是否涉及网络交换机?存储位于自己的网络上,与虚拟机流量隔离吗?

我认为对于 FreeNAS 系统上的直接测试来说 80 MB/秒是很慢的。您可能遇到磁盘问题。您使用的是“高级格式”还是 4K 扇区磁盘?如果是这样,可能会出现分区对齐问题,从而影响您的性能。