우리는 많은 디스크가 포함된 오래된 백업 서버를 가지고 있으며, md
RAID 5 설정이 있는 마운트 중 하나가 이제 동결되었습니다. 문제를 진단하고 다시 작동시키려면 어떻게 해야 합니까? 하나의 하위 시스템에만 이 특정 마운트 지점이 필요하므로 전체 시스템을 재부팅하지 않으려고 합니다.
지금까지의 진단:
# cat /proc/mdstat
...
md0 : active raid5 sdn1[2] sdm1[1] sdo1[4] sdl1[0] sdg1[5] sda1[6]
29301952000 blocks super 1.2 level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU]
[==========>..........] check = 54.4% (3191189500/5860390400) finish=3314902.0min speed=13K/sec
bitmap: 0/44 pages [0KB], 65536KB chunk
/proc/sys/dev/raid/speed_limit_max
한 시간 동안 조정하고 기다려도 /proc/sys/dev/raid/speed_limit_min
진전이 없습니다 .
그러나 mdadm
모든 것이 괜찮아 보입니다.
# mdadm --query --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Jun 15 23:50:50 2016
Raid Level : raid5
Array Size : 29301952000 (27944.52 GiB 30005.20 GB)
Used Dev Size : 5860390400 (5588.90 GiB 6001.04 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jul 5 01:42:59 2021
State : active, checking
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Check Status : 54% complete
Name : examplehost:md0 (local to host examplehost)
UUID : ed0000c4:47000085:8000006f:221938f5
Events : 404407
Number Major Minor RaidDevice State
0 8 177 0 active sync /dev/sdl1
1 8 193 1 active sync /dev/sdm1
2 8 209 2 active sync /dev/sdn1
4 8 225 3 active sync /dev/sdo1
6 8 1 4 active sync /dev/sda1
5 8 97 5 active sync /dev/sdg1
기본 장치는 잘 작동합니다. 실행을 테스트했습니다.
dd if=/dev/sdX of=/tmp/test.img bs=1M count=1
이 RAID의 각 디스크에 대해 예상되는 디스크 시작 및 정상적인 응답 시간을 가져옵니다.
따라서 기본 하드웨어는 제대로 작동하는 것처럼 보이지만 실제로는 md raid가 멈췄습니다. 이번에는 RAID의 실제 마운트 지점에서 오류가 발생하지 않지만 IO 요청에 전혀 응답하지 않는 것 같습니다. 단순한 것조차도 ls -la
영원히 매달릴 것입니다.
journalctl --since "7 days ago" | grep "blocked for more than"
속도가 느림을 의미 md1
하지만 md0
전혀 응답이 없더라도 시스템 로그에 나타나지 않습니다.
Jul 04 01:20:14 examplehost kernel: INFO: task jbd2/md1-8:2262 blocked for more than 120 seconds.
Jul 04 01:38:21 examplehost kernel: INFO: task jbd2/md1-8:2262 blocked for more than 120 seconds.
Jul 04 02:04:32 examplehost kernel: INFO: task jbd2/md1-8:2262 blocked for more than 120 seconds.
마운트 지점이 md1
제대로 작동했기 때문에 그날 밤의 부하가 너무 컸던 것 같습니다.
이 설치 문제를 해결하는 방법에 대한 팁을 제공해 주실 수 있나요? 나는 분명히 전체 서버를 다시 시작하지 않고 문제를 해결하는 제안을 선호합니다.파일 시스템을 마운트 해제하지 않고도 이 문제를 해결할 수 있는 몇 가지 제안을 제안할 수 있다면 더 좋을 것입니다. 처음에는 이것이 하드웨어 중단이라고 가정했지만 그렇지 않은 것 같습니다.
이전에 이런 일이 있었던 것 같은데, 이 경우 서버가 방금 다시 시작되었습니다. 하지만 실제 문제를 이해하여 실제 솔루션을 적용하고 싶습니다. 차이점이 있는 경우를 대비해 시스템은 Linux 커널 버전 5.4.119를 실행하고 있습니다.