问题描述: 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