linux 硬件 raid 10/lvm/虚拟机分区对齐和文件系统优化

linux 硬件 raid 10/lvm/虚拟机分区对齐和文件系统优化

我已经阅读了所有能找到的关于分区对齐和文件系统优化(ext4 和 xfs)的资料,但仍然不太了解,无法自信地设置我当前的配置。我剩下的困惑来自 LVM 层,以及我是否应该在客户操作系统的文件系统上使用 raid 参数。

我的主要问题是:

  1. 当我使用“pvcreate --dataalignment”时,我是否使用为 RAID 上的文件系统计算的条带宽度(在我的情况下,ext4 为 128kB)、RAID 集的条带大小(256kB)或其他东西,或者我不需要这个?

  2. 当我在逻辑卷上的客户机中创建 ext2/3/4 或 xfs 文件系统时,我是否应该添加底层 RAID 的设置(例如 mkfs.ext4 -b 4096 -E stride=64,stripe-width=128)?

  3. 有人看到下面我的设置中有什么明显错误吗?我现在正在运行一些基准测试,但还没有足够的工作来开始比较结果。

我在 3ware 9750-4i 控制器上安装了四个 RAID 10 驱动器(有关设置的更多详细信息请参见下文),在 /dev/sda 上提供了 6.0TB 的设备。这是我的分区表:

Model: LSI 9750-4i DISK (scsi)
Disk /dev/sda: 5722024MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start      End         Size        File system     Name      Flags
 1      1.00MiB    257MiB      256MiB      ext4            BOOTPART  boot
 2      257MiB     4353MiB     4096MiB     linux-swap(v1)
 3      4353MiB    266497MiB   262144MiB   ext4
 4      266497MiB  4460801MiB  4194304MiB

Partition 1 is to be the /boot partition for my xen host.
Partition 2 is swap.
Partition 3 is to be the root (/) for my xen host.
Partition 4 is to be (the only) physical volume to be used by LVM
(for those who are counting, I left about 1.2TB unallocated for now)

对于我的 Xen 客户端,我通常会创建一个所需大小的逻辑卷,并将其呈现给客户端,以便他们根据需要进行分区。我知道还有其他方法可以处理这个问题,但这种方法最适合我的情况。

Here's the hardware of interest on my CentOS 6.3 Xen Host:

4x Seagate Barracuda 3TB ST3000DM001 Drives (sector size: 512 logical/4096 physical)

3ware 9750-4i w/BBU  (sector size reported: 512 logical/512 physical)
    All four drives make up a RAID 10 array.
    Stripe: 256kB
    Write Cache enabled
    Read Cache: intelligent
    StoreSave: Balance

谢谢!

答案1

具体回答你的问题:

  1. 条带宽度 (256KB)

  2. 是的

  3. 我能想到的有两件事没有被提及:

3.1) 您没有从顶层 I/O 大小开始,而这正是您需要开始的地方。如果您的应用程序主要以 x KB 块写入,那么您需要对整个存储堆栈进行顶层优化并使其与 x KB 块对齐。

3.2) 您还没有提到块组对齐(ext* 文件系统的 -g 选项)。您需要调整块组大小,以避免所有块组都从同一个磁盘开始,从而造成大量热点并使该磁盘成为瓶颈。

我写了一篇关于这个主题的文章,解释了如何实现最佳存储堆栈对齐,您可能会发现它很有用。

相关内容