不是所有的ssd都适合做ceph journal存储

公司前段采购了一些ssd来优化ceph集群,flashcache利用intel 530的ssd;journal利用intel520的ssd。今天看到sebastien的文章介绍,并不是所有的ssd都适合做journal的存储。这与journal的存储机制有关,journal的写入是D_SYN和O_DIRECT的。O_DIRECT指不经过kernel的页缓存而直接写入磁盘;D_SYN指系统会确保每一个写操作完成后才返回。网上有哥们测试520和530的ssd结果如下:

~# dd if=randfile.gz of=/dev/sda bs=350k count=10000 oflag=direct,dsync
3584000000 bytes (3,6 GB) copied, 22,287 s, 161 MB/s

~# dd if=randfile.gz of=/dev/sdb bs=350k count=10000 oflag=direct,dsync
3584000000 bytes (3,6 GB) copied, 136,505 s, 26,3 MB/s
自己也可以测一下手头的ssd,首先关闭disk的写cache功能:

$ sudo hdparm -W 0 /dev/hda 0
然后就可以利用fio或dd测试你的ssd了:

$ sudo fio --filename=/dev/sda --direct=1 --sync=1 --rw=write --bs=4k --numjobs=2 --group_reporting --invalidate=0 --name=journal-test

$ sudo dd if=randfile of=/dev/sda bs=4k count=100000 oflag=direct,dsync
ssd在用于生产环境之前最好测试一下。

另外,在使用ssd时最好给每块ssd预留一些空间不使用。例如一块120GB的ssd可以预留5-10GB,这样可以有效增加ssd的寿命,并提高一些性能。

你可能感兴趣的:(不是所有的ssd都适合做ceph journal存储)