我一直在研究这种行为的可能原因:
INFO: task md1_raid10:240 blocked for more than 120 seconds.
[123491.284102] Not tainted 4.18.20 #1
[123491.284105] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[123491.284109] md1_raid10 D 0 240 2 0x80000000
[123491.284116] Call Trace:
[123491.284132] ? __schedule+0x421/0x8c0
[123491.284138] ? preempt_count_add+0x67/0xb0
[123491.284144] schedule+0x3c/0x90
[123491.284162] md_super_wait+0x69/0xa0 [md_mod]
[123491.284173] ? remove_wait_queue+0x60/0x60
[123491.284184] md_update_sb.part.61+0x4ad/0x900 [md_mod]
[123491.284197] md_check_recovery+0x310/0x530 [md_mod]
[123491.284205] raid10d+0x64/0x15a0 [raid10]
[123491.284211] ? __schedule+0x429/0x8c0
[123491.284216] ? schedule+0x46/0x90
[123491.284220] ? schedule_timeout+0x1f7/0x370
[123491.284224] ? preempt_count_add+0x67/0xb0
[123491.284229] ? _raw_spin_lock_irqsave+0x25/0x50
[123491.284232] ? preempt_count_add+0x67/0xb0
[123491.284243] ? md_thread+0x120/0x160 [md_mod]
[123491.284252] md_thread+0x120/0x160 [md_mod]
[123491.284258] ? remove_wait_queue+0x60/0x60
[123491.284263] kthread+0xf8/0x130
[123491.284272] ? md_rdev_init+0xc0/0xc0 [md_mod]
[123491.284277] ? kthread_create_worker_on_cpu+0x70/0x70
[123491.284281] ret_from_fork+0x22/0x40
我发现的所有内容,包括 stackexchange 都指向系统负载较重的一些恶劣的服务器条件。在我的情况下,它发生在以 Raid1+0 配置托管 4HHS 的系统中,这是全新的,实际上该系统刚刚在昨天设置并且几乎不包含任何数据。在通过 SMB 客户端列出主目录(仅包含 10 个文件)期间发生挂断。
此系统上的磁盘使用 dm_crypt 加密。没有使用 LVM。
root@stasiek1:/home/lacki# cat /proc/mdstat
Personalities : [raid10] [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]
md1 : active raid10 sdd3[3] sdb3[1] sda3[0] sdc3[2]
7225882624 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 1/54 pages [4KB], 65536KB chunk
md0 : active raid10 sdd2[3] sda2[0] sdc2[2] sdb2[1]
585674752 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 3/5 pages [12KB], 65536KB chunk
unused devices: <none>
root@stasiek1:/home/lacki# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Dec 29 22:59:44 2018
Raid Level : raid10
Array Size : 585674752 (558.54 GiB 599.73 GB)
Used Dev Size : 292837376 (279.27 GiB 299.87 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Jan 29 22:14:24 2019
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : stasiek1:0 (local to host stasiek1)
UUID : d12a1437:ab040229:dbc0f4bf:796a97dd
Events : 768
Number Major Minor RaidDevice State
0 8 2 0 active sync set-A /dev/sda2
1 8 18 1 active sync set-B /dev/sdb2
2 8 34 2 active sync set-A /dev/sdc2
3 8 50 3 active sync set-B /dev/sdd2
root@stasiek1:/home/lacki# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sat Dec 29 23:00:13 2018
Raid Level : raid10
Array Size : 7225882624 (6891.14 GiB 7399.30 GB)
Used Dev Size : 3612941312 (3445.57 GiB 3699.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Jan 29 22:13:37 2019
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : stasiek1:1 (local to host stasiek1)
UUID : bdf36256:191923e1:01254e05:8bc447c9
Events : 7357
Number Major Minor RaidDevice State
0 8 3 0 active sync set-A /dev/sda3
1 8 19 1 active sync set-B /dev/sdb3
2 8 35 2 active sync set-A /dev/sdc3
3 8 51 3 active sync set-B /dev/sdd3
系统:内核:4.18。Debian 伸展
评论多于答案,但评论太长了。
这可能是一个内核错误。不幸的是,像这样的内核问题相当普遍,最近的一个例子是md: fix raid10 hang issue caused by barrier。
如果您不是内核开发人员并且不想深入研究,那么您对内核错误无能为力:-)
然后这只是一个希望/运气的问题 - 如果这个问题影响很多人,或者出于某种奇怪的原因,只有你,也是一个问题。
如果只有你,那么即使它看起来像一个内核错误,在新硬件上进行全新安装可能仍然“修复”它。通过这种方式修复了很多错误,但没有正确确定根本原因(因为这样做需要特殊技能和时间......)。