我有一个使用8kb块单元的PCIe SSD卡。 它支持“虚拟控制器”,可以将这个驱动器分成两半,创build带有8kb条带大小的LVM RAID0。 最重要的是,我安装了一个使用8kb块大小的文件系统。 我的应用程序写入8kb的数据块。
每个添加的层是否有空间开销,导致这个8kb块“alignment”转移,并最终将被写入SSD的原始数据(明显?)更大?
如果我的应用程序写入8kb的数据,那么FS会写8kb +它的元数据,然后转换成8kb + fs元数据+ lvm元数据,最终到达8.5kb,并将所有的alignmentclosures?
不,块不会变得更大以适应元数据。元数据要么存储在专用块(在文件系统的情况下),要么存储在特殊区域(在LVM和mdraid的情况下)。 你只需要确保数据区的开始是正确排列的。
mdraid将其元数据放在分区的末尾,并将数据存储在开头,所以它始终保持一致。 LVM将元数据存储在PV的开始处,由pvcreate --dataalignment控制,应该对其进行适当设置。 文件系统应该有一个适当的块大小和/或跨度和条带宽度设置。