确认 XFS 文件系统和 LVM 卷在 2 个 ADAPT(类似 RAID6)卷上的条带化参数

确认 XFS 文件系统和 LVM 卷在 2 个 ADAPT(类似 RAID6)卷上的条带化参数

我们正在为文件服务器设置 ADAPT0(类似 RAID-60)配置。

我们有六个磁盘池。每个池由 14 个磁盘组成,并使用 ADAPT 设置。根据戴尔官方白皮书,ADAPT 与 RAID 6 类似,但会分配备用容量。第 13 页显示,每个磁盘池的块大小为 512 KiB,条带宽度为 4 MiB(超过 8 个磁盘)。

我的理解是,对于每个 14 个磁盘池,保留 2 个磁盘的容量作为备用,剩余 12 个磁盘中的 20%(2.4 个磁盘的容量)用于奇偶校验,80%(9.6 个磁盘)用于存储。但是,块大小为 512 KiB,条带宽度保持为 4MiB,因为我们只写入一个连续块中的 8 个磁盘。

为了实现 ADAPT0(类似 RAID-60)配置,我们使用 LVM 创建了一个跨两个磁盘池进行条带化的逻辑卷。我们的目标是最终拥有 3 个条带化卷,每个条带化卷跨两个磁盘池。我们使用的条带大小与硬件 RAID(512 KiB)相匹配:

$ vgcreate vg-gw /dev/sda /dev/sdb
$ lvcreate -y --type striped -L 10T -i 2 -I 512k -n vol vg-gw

接下来,在条带逻辑卷上设置 XFS 文件系统。以下XFS.org 的指南和其他一些来源,我们将条带单元su与 LVM 和 RAID 条带大小(512k)进行匹配,并将条带宽度设置sw为 16,因为我们有 16 个“数据磁盘”。

$ mkfs.xfs -f -d su=512k,sw=16 -l su=256k /dev/mapper/vg--gw-vol
$ mkdir -p /vol/vol
$ mount -o rw -t xfs /dev/mapper/vg--gw-vol /vol/vol

我们对 4KiB 块大小的顺序 I/O 性能进行了基准测试,/dev/sda并使用/dev/sdb/dev/mapped/vg--gw-vol

fio --name=test --ioengine=posixaio --rw=rw --bs=4k --numjobs=1 --size=256g --iodepth=1 --runtime=300 --time_based --end_fsync=1

我们很惊讶地获得了类似的表现:

       Volumes         Throughput   Latency
---------------------  ----------  ----------
/dev/sda                198MiB/s    9.50 usec
/dev/sdb                188MiB/s   10.11 usec
/dev/mapped/vg--gw-vol  209MiB/s    9.06 usec

如果我们使用 I/O 监控工具bwm-ng,我们可以看到写入时/dev/sda和的 I/O 。/dev/sdb/dev/mapped/vg--gw-vol

我们的配置正确吗?更具体地说:

(1)将 LVM 条带大小与硬件 RAID(512 KiB)的大小对齐是否正确?

(2)按照我们的要求(512 KiB 条带大小和 16 个数据磁盘)对齐 XFS 条带单元和宽度是否正确,还是我们应该“抽象”底层卷(4 MiB 条带大小和 2 个数据磁盘)?

(3)更加令人困惑的是这里的块设备自我报告的输出:

$ grep "" /sys/block/sda/queue/*_size
/sys/block/sda/queue/hw_sector_size:512
/sys/block/sda/queue/logical_block_size:512
/sys/block/sda/queue/max_segment_size:65536
/sys/block/sda/queue/minimum_io_size:4096
/sys/block/sda/queue/optimal_io_size:1048576
/sys/block/sda/queue/physical_block_size:4096

谢谢你!

答案1

我会避免在 ADAPT 之上插入 RAID0 层。相反,我会创建一个包含两个阵列的简单线性 LVM 池,或者创建一个包含 28 个磁盘的阵列(根本不使用第二个控制器)。

如果两个阵列的线性 LVM 连接,XFS 将凭借其自己的分配组策略为您提供额外的性能(由于文件系统同时向各个 LBA 范围发出多个 IO)。

但是,由于总备用容量与用户数据相比较少,单个 28 个磁盘池应能提供略好一点的空间效率。

关于 XFS 选项,您应该su=512k,sw=8基于 ADAPT 布局使用。无论如何,对于配备大型断电保护写入缓存的高端控制器,这应该会产生很小的影响。

相关内容