我已经阅读了所有能找到的关于分区对齐和文件系统优化(ext4 和 xfs)的资料,但仍然不太了解,无法自信地设置我当前的配置。我剩下的困惑来自 LVM 层,以及我是否应该在客户操作系统的文件系统上使用 raid 参数。
我的主要问题是:
当我使用“pvcreate --dataalignment”时,我是否使用为 RAID 上的文件系统计算的条带宽度(在我的情况下,ext4 为 128kB)、RAID 集的条带大小(256kB)或其他东西,或者我不需要这个?
当我在逻辑卷上的客户机中创建 ext2/3/4 或 xfs 文件系统时,我是否应该添加底层 RAID 的设置(例如 mkfs.ext4 -b 4096 -E stride=64,stripe-width=128)?
有人看到下面我的设置中有什么明显错误吗?我现在正在运行一些基准测试,但还没有足够的工作来开始比较结果。
我在 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
具体回答你的问题:
条带宽度 (256KB)
是的
我能想到的有两件事没有被提及:
3.1) 您没有从顶层 I/O 大小开始,而这正是您需要开始的地方。如果您的应用程序主要以 x KB 块写入,那么您需要对整个存储堆栈进行顶层优化并使其与 x KB 块对齐。
3.2) 您还没有提到块组对齐(ext* 文件系统的 -g 选项)。您需要调整块组大小,以避免所有块组都从同一个磁盘开始,从而造成大量热点并使该磁盘成为瓶颈。
我写了一篇关于这个主题的文章,解释了如何实现最佳存储堆栈对齐,您可能会发现它很有用。