基于分布式存储的文件系统4k对齐写优化
测试工具:vdbench
磁盘类型:iscsi Initiator、Target(TGTD)
文件系统:xfs
后端磁盘的io粒度是4k,实际生产环境中发现有许多512字节的数据写到存储后端,512字节的写触发写惩罚,需要先补齐4k然后再写下去。
解决该问题有几种方法:
方法1:设置lun的物理扇区大小
当将一个卷映射到lun时默认的物理扇区是512字节:
加lun时通过–blocksize 4096 参数指定物理扇区为4k,就可以保证lun之下收到的请求不会小于4k。
方法2:设置xfs文件系统过的扇区大小
xfs文件系统默认的扇区大小是512字节:
xfs产生的元数据会按照最小扇区的粒度写入后端存储,xfs初始化时加上:-s 4096 指定扇区大小。再跑文件读写发到后端存储的就是4k整数倍的元数据或者日志。另外在说一下ext4,如果ext4默认使用了惰性初始化,在惰性初始化期间也会产生很多512字节的写到后端存储。
方法3:设置virtio 磁盘的扇区大小
lun映射到虚机中默认块大小是512字节:Sector size (logical/physical): 512 bytes / 512 bytes
可以在xml文件里面加入
————————————————
版权声明:本文为CSDN博主「souy_c」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cyq6239075/article/details/110243923




