婉兮清扬

案上诗书杯中酒之快意人生

一组NFS和OCFS2的对比数据

发表时间:2013-06-16 14:35:30
nfs_ocfs2

[测试环境]

两台DELL PowerEdge R420服务器,分别配置2 颗Intel E5-2620处理器(6 个核心,12个线程),24 GB内存,2 块300GB的15000转SAS硬盘做RAID1。一台DELL MD3200磁盘阵列,配置10块300GB的15000转SAS硬盘做RAID5。将磁盘阵列的存储空间划分为两块,一块750 GB通过SAS线缆连接到服务器A,另一块750 GB通过SAS线缆连接到服务器B。两台服务器均运行64位Ubuntu 12.04服务器版操作系统,通过KVM进行虚拟化。两台服务器之间通过万兆交换机提供网络连接。

服务器A 将来自磁盘阵列的存储空间/dev/sdb挂载为本机上的/nfs目录,并在此基础上提供NFS服务。服务器B 通过NFS客户端将来自服务器A 的/nfs目录挂载为本机上的/nfs目录。

服务器B 安装iSCSI TGT服务,将来自磁盘阵列的存储空间/dev/sdb通过iSCSI协议暴露到局域网。服务器A 和服务器B 均通过open-iscsi将如上所述iSCSI目标发现为本机上的/dev/sdc。在服务器A 和服务器B 上通过配置OCFS2集群文件系统共享同一个块设备,且都挂载为本机上的/tgt目录。

[测试方法]

利用iozone软件分别测试服务器A 上的/目录(本地磁盘)和/nfs目录(磁盘阵列)、服务器B 上的/nfs目录(NFS共享文件系统)和/tgt目录(OCFS2集群文件系统)、以及运行在NFS和OCFS2上的虚拟机/目录的文件IO性能进行测试。虚拟机的配置为4 个处理器核,4 GB内存,10 GB磁盘,运行64位Ubuntu 12.04服务器版,磁盘和网卡都启用了virtio,并且设置虚拟机磁盘缓存参数为cache=”none”。在对虚拟机进行测试的时候,虚拟机运行在计算节点B 上。

测试参数:

$ ./iozone -Mcew -i0 -i1 -s3g -r256k -f [file_name]


[测试结果]





















































测试环境 write rewrite read reread
服务器A | 本地硬盘 168123 177677 3775577 6146712
服务器A | 磁盘阵列 312041 335915 3566998 5952576
服务器B | NFS共享文件系统 246113 285600 3798812 5695323
服务器B | OCFS2集群文件系统 250326 300573 5193533 5346467
虚拟机 | NFS 189379 238361 3534514 6041784
虚拟机 | OCFS2 108236 213260 3582519 4949598


基于这个特定的试验环境,有三个小小的发现:

(1)基于磁盘阵列的NFS共享文件系统与OCFS2集群文件系统的文件IO性能在同一水平线上。

(2)NFS共享文件系统的性能可以达到磁盘阵列性能的80%左右。

(3)运行在NFS上的虚拟机比运行在OCFS2上的虚拟机似乎具有更好的文件IO性能,原因待进一步研究。

[测试结果]

后续工作,找几个更大的测试环境,弄两台真正的IP SAN和FC SAN进行对比测试。
上一篇 下一篇

发表时间:2013-06-17 12:04:30    评论者:xkglob

我觉得OCFS2可能是为oracle数据库的使用做了优化, 比如对于8K或以上的块更友好。 但是虚拟机软件可能都是读小文件, 这个OCFS2可能不擅长...

发表时间:2013-06-18 21:01:26    评论者:qyjohn

不一定。虚拟机磁盘映像文件是个大文件。

 
姓名:
评论:

请输入下面这首诗词的作者姓名。

一道残阳铺水中,半江瑟瑟半江红。
可怜九月初三夜,露似真珠月似弓。

答案:

云与清风常拥有,
冰雪知音世难求。
击节纵歌相对笑,
案上诗书杯中酒。

蒋清野
2000.12.31 于 洛杉矶