linux – Areca RAID卷和LVM对齐

我有以下硬件:
1x - Areca ARC-1680IX-24 PCIe x8 SAS RAID Card
24x - Seagate Barracuda LP 2 TB 5900RPM SATA 3 GB/s 32 MB Cache 3.5-Inch Internal Hard Drive ST32000542AS

我计划在RAID控制器上设置以下卷.

Volume Info for RAIDSET #1,4x 2tb drives:
    V#1    RAID10,10gb    - 4k stripe size
    V#2    RAID10,3tb    - 4k stripe size
    V#3    RAID0,2tb    - 128k stripe size

Volume Info for RAIDSET #2,6x 2tb drives:
    V#4    RAID0,300gb    - 4k stripe size
    V#5    RAID5,7.8tb    - 64k stripe size

Volume Info for RAIDSET #3,6x 2tb drives:
Volume Info for RAIDSET #4,6x 2tb drives:
    V#6    RAID50,20tb or RAID60,16tb    - 128k stripe size

当我在RAID控制器中设置这些卷时,我关注对齐和条带大小.我知道使用常规硬盘驱动器将分区正确对齐以获得良好性能非常重要,我假设在设置RAID卷时我还需要担心这个问题吗?或者RAID控制器是否确保对齐最佳?

我的下一个问题是这种对齐如何影响LVM卷. RAID控制器是否通知LVM驱动程序如何在RAID卷中正确对齐?

我可以选择多种条纹尺寸,从4k一直到128k.条带大小的选择是否会影响我的RAID卷的对齐和/或分配大小,例如:如果我在具有将在RAID 0中设置的4个磁盘的RAID集上选择128k条带大小,我应该将我的RAID卷大小设置为512k的倍数吗?另外,linux root和swap分区的最佳条带大小是什么,或者只是一般用途?

最后,RAID控制器公开了一个3通道SCSI控制器,在3个通道中分配我的负载是否有任何性能优势,或者只是因为它可以支持更多磁盘?

解决方法

您需要记住多达3个对齐级别 – 1).卷管理员,2).卷分区,3).文件系统.如果您不使用LVM,则1无关紧要.如果您没有使用fdisk对卷进行分区,那么2也是无关紧要的.性能最重要的一致性是3.通过适当的对齐,您可以看到性能提升高达15%.

对于情况1和2,一个好的一般规则是与兆字节边界对齐.

1). LVM通常做得很好:a)将它的元数据放在卷的末尾,b)给你一个指定元数据大小的选项(例如“pvcreate -M2 –Metadatasize 2048K –Metadatacopies 2”)

2).如果您需要再次使用fdisk对这些卷进行分区,请尝试坚持MB边界.现代Linux fdisk版本具有此选项以及最新版本的gparted.

3).对齐文件系统是最重要的.我有对齐xfs和ext3的经验(ext4应该类似于ext3),你需要在这里做一些数学运算,然后在创建文件系统时指定正确的参数.查看特定参数的文档,即称为“条带宽度”的文档.使用解释时要小心 – 根据fs类型,它可以用512B块或字节表示,因此您需要相应地进行计算.此解释还取决于RAID阵列中的驱动器数量和RAID级别.您也可以在this thread中找到一些有用的信息.

此外,您可以在安装文件系统时指定参数,以进一步提高性能.以下是我在18TB xfs文件系统中使用的参数“noatime,attr2,nobarrier,logbufs = 8,logbsize = 256k”.但要小心,这些不是通用规则,如果使用不当可能会损害您系统的可靠性(尤其是“nobarrier”).

另外要记住的是,如果您计划将来扩展任何这些RAID阵列,您应该在创建文件系统时将其考虑在内,因为它会立即影响您的完美对齐;-)

我希望这能指出你正确的方向.玩得开心 :-)

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...