AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1025254
Accepted
Nicolas De Jay
Nicolas De Jay
Asked: 2020-07-15 16:33:42 +0800 CST2020-07-15 16:33:42 +0800 CST 2020-07-15 16:33:42 +0800 CST

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

  • 772

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

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

我的理解是,对于每 14 个磁盘池,保留 2 个磁盘容量作为备用磁盘,剩余 12 个磁盘(2.4 个磁盘容量)的 20% 用于奇偶校验,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,我们可以看到两者的 I/O/dev/sda以及/dev/sdb写入时的I/O /dev/mapped/vg--gw-vol。

我们是否正确配置?进一步来说:

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

(2) 对齐 XFS 条带单元和宽度是否正确(512 KiB 条带大小和 16 个数据磁盘),或者我们应该“抽象”底层卷(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

谢谢!

performance lvm filesystems raid xfs
  • 1 1 个回答
  • 901 Views

1 个回答

  • Voted
  1. Best Answer
    shodanshok
    2020-07-17T01:44:43+08:002020-07-17T01:44:43+08:00

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

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

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

    关于 XFS 选项,您应该su=512k,sw=8基于 ADAPT 布局使用。无论如何,对于配备大功率损耗保护写缓存的高端控制器,这应该有轻微的影响。

    • 1

相关问题

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • jvm性能调优技巧/资源?

  • 加快 MSSQL 快照复制到 SQLExpress 副本的速度

  • 聚集索引与非聚集索引?

  • 使用大量 javascript 的页面上的鱿鱼速度很慢

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve