드라이브 중 하나에 실수로 장애가 발생한 후 RAID5를 복원하는 방법은 무엇입니까?

드라이브 중 하나에 실수로 장애가 발생한 후 RAID5를 복원하는 방법은 무엇입니까?

mdadm으로 생성된 Xubuntu 20.04에 RAID5가 있습니다. 나는 실수로 세 개의 드라이브 중 하나를 실패했습니다. 어레이는 계속 작동하지만 전체 작동을 복원하려고 시도하면 오류나 응답을 이해할 수 없습니다.

SO: 문제를 해결할 수 있었는지 궁금합니다. 그렇지 않다면 지금 무엇을 할 수 있는지...

/proc/mdstat 내용의 "(F)"로 인해 드라이브에 여전히 오류가 발생한 것 같습니다.

root@camelot-b:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md3 : active raid5 sdf1[0](F) sdg1[3] sde1[4]
      7813771264 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
      bitmap: 0/30 pages [0KB], 65536KB chunk

unused devices: <none>
root@camelot-b:~# 

그러나 --examine의 출력은 문제를 나타내지 않으며 실제로 마지막 줄에는 세 개의 드라이브가 모두 활성화된 어레이 상태가 표시됩니다.

root@camelot-b:~# mdadm --examine /dev/sdf1
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07c3d55f:2c9b1534:6b0d5b78:dd9856ed
           Name : camelot-x:3
  Creation Time : Sun Apr  2 19:07:19 2017
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 7813771264 (3725.90 GiB 4000.65 GB)
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : 24275237:b493169e:9e88df0d:ebaae551

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Feb 18 17:15:50 2022
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : c9840d0f - correct
         Events : 26597

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAA ('A' == active, '.' == missing, 'R' == replacing)

답변1

디스크 장애 이후 어레이의 데이터에 변경 사항이 거의 없거나 전혀 없는 경우 --re-add를 사용할 수 있습니다. 각 드라이브의 이벤트 수를 확인할 수 있습니다.

mdadm --examine /dev/sd[e-g]1 | egrep 'Event|/dev/sd'

이벤트 수가 너무 늦지 않은 경우(그리고 비트맵이 활성화된 경우) 다음을 다시 추가할 수 있습니다.

mdadm /dev/md3 --re-add /dev/sdf1

그래도 작동하지 않으면 디스크를 다시 추가해야 합니다(이로 인해 전체 재구축이 트리거될 수 있음).

mdadm /dev/md3 -a /dev/sdf1

문서에 따르면 mdadm은 add(-a, --add) 명령을 실행할 때 먼저 다시 추가를 시도합니다. 다시 추가를 실행하는 것은 다시 동기화하지 않고 드라이브를 추가하려고 하고 다시 추가가 작동하지 않는 경우 즉시 다시 동기화하지 않으려는 경우에 유용합니다.

답변2

이것은 기술적인 대응은 아니지만 효과가 있습니다. 제가 실제로 이와 같은 위치에 있다는 것을 알게 되었기 때문입니다.이 방법은 머신이 로컬이고 다른 로컬 컴퓨터가 있는 경우에만 작동합니다.

**RAID5에는 1개의 드라이브 오류에 대한 복구 기능이 있다는 점을 기억하십시오. 마찬가지로 복구 프로세스 중에 다른 드라이브에 문제가 발생하지 않는 한 나머지 드라이브에서 어레이를 재구축합니다.

  • 결함이 있는 시스템에서 드라이브를 물리적으로 제거
  • 다른 시스템을 사용하여 실패한 드라이브 포맷
  • 새로 포맷된 드라이브를 원래 컴퓨터에 다시 삽입합니다.
  • RAID 어레이는 복구 프로세스를 시작하고 고장난 드라이브를 재구축해야 합니다.
  • 복구가 완료되면 백업 및 실행되어야 합니다.

귀하에게 익숙하지 않은 구성 변경을 권장할 수는 없습니다. 데이터를 복구할 수 없는 경우 어레이를 재구축하고 상태를 수정하는 데 시간을 낭비할 필요가 없습니다.

관련 정보