COMSTAR和ZFS zvol提供突发的写入模式

我刚刚build立了一个小型的NAS / SAN盒子,并正在做一些testing。 configuration是:

  • 2GB内存
  • 两个Opteron 265s
  • Iwill DK8N
  • 5x500GB SATA驱动器(1个备用,剩余镜像)= 1TB可用空间
  • Emulex LPC10000DC
  • NexentaCore 3.0.2

我testing的第一件事是COMSTAR在光纤通道上的性能。 我创build了一个700g的zvol,并将其暴露在COMSTAR上。 写caching已启用。 我的FC启动器是一个带有Q-Logic QLA2340卡的Windows 7盒子。

除了写入速度,一切都很好。 出于某种原因,我只能看到〜30MB / s,而使用IOMeter我可以达到90MB / s的读取速度。 做了一些狩猎,我跑了一个zpool iostat命令,看到以下模式:

 $ zpool iostat tank 1 tank 88.2G 840G 0 5.47K 0 43.4M tank 88.2G 840G 0 16.1K 0 128M tank 88.4G 840G 1 6.69K 8.93K 52.6M tank 88.4G 840G 52 4.89K 110K 38.3M tank 88.4G 840G 151 0 280K 0 tank 88.4G 840G 112 0 253K 0 tank 88.4G 840G 1 9.89K 16.0K 78.6M tank 88.4G 840G 0 14.3K 0 113M tank 88.6G 839G 150 2.99K 318K 20.2M tank 88.6G 839G 15 0 45.0K 0 tank 88.6G 839G 3 0 17.8K 0 tank 88.6G 839G 0 0 0 0 tank 88.6G 839G 0 0 0 0 tank 88.6G 839G 0 11.3K 0 89.9M tank 88.6G 839G 0 13.8K 0 110M tank 88.8G 839G 90 7.91K 184K 61.0M tank 88.9G 839G 105 91 220K 140K tank 88.9G 839G 42 0 84.6K 0 tank 88.9G 839G 0 0 0 0 tank 88.9G 839G 0 6.52K 7.99K 51.8M tank 88.9G 839G 0 15.6K 1011 124M tank 88.9G 839G 91 4.30K 193K 31.9M tank 89.1G 839G 1 9.48K 15.8K 74.7M tank 89.1G 839G 41 0 99.9K 0 tank 89.1G 839G 166 0 374K 0 tank 89.1G 839G 87 0 162K 0 tank 89.1G 839G 0 0 7.92K 0 

它似乎写了很多,然后停下来。

这里发生了什么?

这对ZFS来说是正常的。 发生什么事情是将内存中的写入合并,然后同时将它们提交到磁盘。 这是一个伟大的维基有关它在做什么,以及如何调整它:

http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide