Bug 7693 - 6.6.4内核下使用mdadm,raid5升级raid6,将造成IO阻塞
Summary: 6.6.4内核下使用mdadm,raid5升级raid6,将造成IO阻塞
Status: NEW
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: Others (show other bugs) Others
Version: 8.8
Hardware: x86_64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: Jacob
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-07 21:05 UTC by lalalala
Modified: 2023-12-07 21:05 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lalalala 2023-12-07 21:05:58 UTC
问题描述:
    1. 在6.6.x内核版本使用mdadm, 将raid5升级到raid6的时候,整列会100%繁忙,导致IO不可用,执行写入操作的进程长期进入D+状态
    2. 在6.1.x内核版本同样的情况
    3. 在5.1.x内核版本则不会出现

版本-所选组件的发布号(如果适用):
    使用anolis os 8.8, 通过ELRepo源升级到6.6.4内核

重现性如何:

    极高概率重现


重现步骤:

#创建raid5, 并升级到raid6
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdc /dev/sdd --assume-clean
mkfs.ext4 /dev/md0
mount /dev/md0 /vol1
mdadm --grow /dev/md0 --level=6 --raid-devices=4 --add /dev/sdb

#向阵列内写入数据
dd if=/dev/zero of=/vol1/123.txt bs=1M count=10240


实际结果:
    向/vol1进行写入操作的进程都进入D+状态, /dev/md0不可用


预期成绩:

    /dev/md0 可以正常读写

附加信息:

#内核版本
[root@localhost ~]# uname -r
6.6.4-1.el8.elrepo.x86_64

#mdadm版本
[root@localhost ~]# mdadm -V
mdadm - v4.2 - 2021-12-30 - 7

#创建raid5, 并升级到raid6
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdc /dev/sdd --assume-clean
mkfs.ext4 /dev/md0
mount /dev/md0 /vol1
mdadm --grow /dev/md0 --level=6 --raid-devices=4 --add /dev/sdb

#向阵列内写入数据
dd if=/dev/zero of=/vol1/123.txt bs=1M count=10240


#dd进程进入长期D+状态
[root@localhost ~]# ps aux | grep dd
root           2  0.0  0.0      0     0 ?        S    19:34   0:00 [kthreadd]
dbus        1535  0.0  0.0  67940  5420 ?        Ss   19:34   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root       22326  0.0  0.0   7576  1548 pts/2    D+   20:02   0:00 dd if=/dev/zero of=/vol1/123.txt bs=1M count=102400

#输出当前时间
[root@localhost ~]# date
2023年 12月 07日 星期四 20:34:20 CST

#输出磁盘IO状态, /dev/md0长期 100%繁忙
[root@localhost ~]# iostat -x 1
Linux 6.6.4-1.el8.elrepo.x86_64 (localhost.localdomain)         2023年12月07日  _x86_64_        (48 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.04    0.00    0.84    4.21    0.00   94.91

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda            291.34  297.14  58424.61  58572.78 14314.99 14346.22  98.01  97.97   20.87    3.60   7.22   200.54   197.12   1.18  69.20
sdb            289.42  294.43  58426.34  58572.92 14316.89 14348.94  98.02  97.99   19.04    4.04   6.71   201.87   198.93   1.10  64.48
sdd            291.49  298.81  58427.10  58853.66 14314.77 14346.82  98.00  97.96   21.67    3.66   7.48   200.44   196.96   1.20  70.79
sde              0.04  297.14      0.97  58418.62     0.04 14307.64  48.64  97.97    6.05    2.21   0.66    24.65   196.60   1.44  42.70
sdc              1.57    0.72     55.16      9.04     0.39     0.13  19.83  15.54    0.31    1.52   0.00    35.24    12.64   0.34   0.08
md0              0.68    3.73      3.84    306.92     0.00     0.00   0.00   0.00   11.40  336.60   1.26     5.64    82.21 207.81  91.74

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.02    0.00    1.02    5.44    0.00   93.52

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda            315.00  313.00  77984.00  74868.00 18330.00 18192.00  98.31  98.31   30.29    4.21  10.86   247.57   239.19   1.14  71.70
sdb            307.00  312.00  75164.00  74516.00 18329.00 18191.00  98.35  98.31   17.39    4.45   6.73   244.83   238.83   1.24  76.50
sdd            297.00  313.00  73436.00  74520.00 18329.00 18189.00  98.41  98.31   23.15    3.28   7.90   247.26   238.08   1.16  70.80
sde              0.00  314.00      0.00  74680.00     0.00 18190.00   0.00  98.30    0.00    1.82   0.57     0.00   237.83   1.61  50.50
sdc              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
md0              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00 100.10