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
    • 最新
    • 标签
主页 / user-25492

Michael Graff's questions

Martin Hope
Michael Graff
Asked: 2016-01-27 21:28:12 +0800 CST

为什么需要初始化 raid 10 设备?

  • 9

在将linux软件raid设备创建为raid10设备时,我很困惑为什么必须对其进行初始化。同样的问题也适用于raid1 或raid0,真的。

最终,大多数人会在其上放置某种文件系统,并且该文件系统不应假定磁盘数据的任何状态。每次写入都会影响 raid10 或 raid1 设置中的两个磁盘,其中 N 个镜像被写入其中。最初初始化 raid10 应该没有任何理由,因为它会随着时间的推移而发生。

我可以理解为什么对于有奇偶校验要求的 raid5/6 设置,但即便如此,这似乎也可以懒惰地完成。

只是为了让人们感觉更好吗?

linux
  • 5 个回答
  • 5573 Views
Martin Hope
Michael Graff
Asked: 2016-01-26 22:36:59 +0800 CST

Linux 软件 raid-10 性能不佳

  • 4

我有一台带有 8 通道 LSI SAS3008 控制器芯片的机器,单独的驱动器测试显示我可以以 174 MB/秒和 193 MB/秒之间的速度写入任何磁盘或所有磁盘,并具有持续的写入速度:

这是与所有 12 个磁盘并行dd if=/dev/zero of=/dev/mapper/mpath?p1 bs=1G count=100 oflag=direct运行的命令的输出:

107374182400 bytes (107 GB) copied, 556.306 s, 193 MB/s
107374182400 bytes (107 GB) copied, 566.816 s, 189 MB/s
107374182400 bytes (107 GB) copied, 568.681 s, 189 MB/s
107374182400 bytes (107 GB) copied, 578.327 s, 186 MB/s
107374182400 bytes (107 GB) copied, 586.444 s, 183 MB/s
107374182400 bytes (107 GB) copied, 590.193 s, 182 MB/s
107374182400 bytes (107 GB) copied, 592.721 s, 181 MB/s
107374182400 bytes (107 GB) copied, 598.646 s, 179 MB/s
107374182400 bytes (107 GB) copied, 602.277 s, 178 MB/s
107374182400 bytes (107 GB) copied, 604.951 s, 177 MB/s
107374182400 bytes (107 GB) copied, 605.44 s, 177 MB/s

但是,当我将这些磁盘作为软件 raid 10 设备放在一起时,我得到了大约 500 MB/秒的写入速度。我预计会得到两倍左右,因为同时访问这些磁盘不会受到任何惩罚。

我确实注意到了 md10_raid10 进程,我假设软件 raid 本身接近 80%,并且一个核心始终处于 100% 等待时间,并且 0% 空闲。然而,哪个核心发生了变化。

此外,当使用缓冲区缓存写入已挂载的 EXT4 文件系统而不是使用 oflag=direct 绕过缓存时,性能会进一步下降。磁盘报告 25% 繁忙(根据 munin 监控),但磁盘显然没有运行热,但我担心 md10 设备本身可能是。

关于下一步该去哪里的任何建议?我正在尝试一个硬件 raid 10 配置来进行比较,虽然我似乎只能构建一个 10 磁盘单元——也就是说,我希望能够保持 900 MB/秒的写入速度。当我发现更多时,我会更新这个问题。

编辑1:

如果我在紧密循环中使用 putdd命令写入安装在该设备上的 ext4 分区,并且我不使用缓冲区缓存(oflag=direct),我可以在峰值时达到 950 MB/秒以上,并且持续达到 855 MB/秒对安装标志进行了一些更改。

如果我同时使用 iflag=direct 读取,我现在可以获得 480 MB/秒的写入和 750 MB/秒的读取。

如果我在没有 oflag=direct 的情况下写入,因此使用缓冲区缓存,我得到 230 MB/秒的写入和 1.2 MB/秒的读取,但机器似乎非常缓慢。

那么,问题来了,为什么使用缓冲区缓存会如此严重地影响性能呢?我尝试了各种磁盘排队策略,包括在驱动器级别使用“noop”并将“deadline”或“cfq”放在适当的多路径 dm 设备上,或者在所有设备上设置截止日期,或者在 dm 上不使用,在后备驱动器上设置截止日期。似乎后备驱动器应该没有,多路径设备应该是我想要的,但这根本不会影响性能,至少在缓冲区高速缓存的情况下。

linux
  • 1 个回答
  • 2891 Views
Martin Hope
Michael Graff
Asked: 2016-01-05 14:50:11 +0800 CST

linux软件raid10,相同的机器,结果大相径庭

  • 4

我在两台其他相同的机器上拥有截然不同的软件 raid10 性能和行为。

我有两台硬件相同的机器,同时购买,具有相同的软件版本、硬件版本和固件版本。每个都有一个带有 8 个 6 Gb/s 通道的 SAS 控制器,通向一个 SAS 机箱,该机箱容纳 12 个 SAS 磁盘。

在机器 1 上,这台机器很稳定,似乎运行良好,raid 阵列中的每个磁盘的行为或多或少都是相同的:繁忙时间是相等的(在生产负载级别的所有磁盘中大约 33%),而每周的软件 raid 检查运行、写入和读取性能不会降低。完整的突袭检查在大约一天内完成,使用所有可用的备用带宽以尽可能快地完成它。在此检查完成时,这相当于大约 200 MB/秒的读取速度。

机器 2 是问题儿童。完整的 RAID 检查基本上永远不会完成,尽管它被配置为也使用所有可用的磁盘带宽。在尝试检查时,它以 5 MB/秒的速度缓慢前进,并且在此期间写入性能下降到大约 30 MB/秒。此外,四个磁盘的平均繁忙率为 35%,而其余磁盘的平均繁忙率为 22%。

取消机器 2 上的 raid 检查后,写入速度恢复到大约 160 MB/秒。

如果我dd用来测试每​​个单独mpath的设备,在机器 1 上,每个驱动器的读取速度最高约为 145 MB/秒,最低为 119 MB/秒,其次是 127 MB。其余的都在 145 MB/秒范围内。

在机器 2 上,我的速度在 107 MB(x 3 个磁盘)之间,其余的都在 135 MB/秒以上,一个磁盘的峰值为 191 MB/秒(!)。

我承认在这里我已经脱离了我的舒适区,但我找不到任何证据来得出结论。我还检查了两台机器上每个磁盘上的 SMART 统计数据,虽然所有磁盘上都存在相当数量的“读取更正”错误,但值和读取性能之间似乎没有相关性,busy% 差异之间也没有.

我找不到任何解释当在一个盒子和另一个盒子上对阵列执行 RAID 检查时性能不佳的原因。关于下一步调试的建议将不胜感激。

linux
  • 1 个回答
  • 64 Views
Martin Hope
Michael Graff
Asked: 2015-12-17 19:13:22 +0800 CST

多路径、设备映射器和磁盘 i/o 调度程序

  • 3

我们有两台带有多路径 SAS 控制器的机器,每台都连接了 12 个物理磁盘。

我们正在研究一些 I/O 速度异常,并注意到在一台机器上,/dev/mpath/mpath*p1 以各种方式映射到 dm-13 到 dm-24,dm-13 和 dm-14 有一个 io “cfq”的调度程序到位。该列表中的其他 dm 设备具有“无”,并且似乎无法更改。

我相信其他设备呈现为一组不同的 dm-* 映射,并且那些确实有 cfq 集。

在另一台机器上,选择在 /dev/mpath/mpath*p1 中的所有设备都没有相应的带有调度程序集的 dm 设备。

我有点不在我的元素这里,但由于 iostat 确实显示一些请求正在合并到第一个框的 dm-13 和 dm-14 上,而其他任何一个框上都没有,我怀疑我们是为此付出了一些代价。

我是在挖错洞,还是这是一个问题?如果是这样,我该如何解决它,因为echo cfq > /sys/block/dm-15/queue/scheduler当“无”是当前唯一列出的选项时没有任何效果?

linux
  • 2 个回答
  • 1708 Views

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