测试了一下ZFS
这周找了些公司淘汰的设备来测试ZFS。用14块SCSI盘的傻盘阵搭了一个RAID-Z2(可以掉两块盘的RAID-Z,1块盘作为热备)。测试机为2GB内存、双CPU(Xeon 5140双核、amd64模式)。
初步的印象:
- 用iozone测试,ZFS主要是为大文件优化的。
- RAID-Z的性能相当不错,按李逵的说法,基本上能赶上带控制器的RAID了。
- 很吃内存。早期的7-CURRENT kernel(未做特殊配置)在16并发的iozone面前会因为kmem太小而panic。不过最近两天pjd老大修正了很多问题,稳定多了。
- zpool卷管理可以用「强悍」两个字来形容。我们采用了热拔、热插的方式测试其可靠性(这个也需要感谢近期CAM team对SCSI驱动的改进),并在单用户模式下向盘写入随机数来测试其稳定性,未见数据丢失(都检测并修复了)。唯一的问题:掉盘不会自己往上replace。
- 删除大号文件的速度不怎么快,空间是分步骤释放的。
一些我们发现的注意事项:
- zpool不能建在裸盘上,一定要有一个分区(如gpt),否则下次启动的时候zfs就无法识别卷了。
- 尽可能一次创建RAID-Z,因为parity并不会随磁盘增加而匀开。这个可以理解。
目前挂接ZFS时的LOR已经被修正,但卸下时仍有一次LOR。
由于Solaris不支持我们的测试环境的硬件,因此暂时还无法对比效果。
调度器为ULE 2.0。