디스크 교체 후 Raid 5가 중단됨

디스크 교체 후 Raid 5가 중단됨

내 서버에서 내 디스크 중 하나가 블록을 읽지 못했다는 메일을 보냈습니다. 그래서 완전히 고장나기 전에 교체하기로 결정했습니다. 새 디스크를 추가하고 실패한 디스크를 교체했습니다.

sudo mdadm --manage /dev/md0 --add /dev/sdg1
sudo mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/dbg1

동기화 후 실패한 /dev/sdb1을 제거하고 다음을 사용하여 어레이에서 제거하고 싶었습니다.

sudo mdadm --manage /dev/md0 --remove /dev/sdb1

하지만 케이스에서 디스크를 제거하려면 먼저 다른 2개를 제거하고 즉시 다시 넣습니다. 그런 다음 내 공격대가 여전히 작동하고 있는지, 작동하지 않았는지 증명합니다. 저절로 치유되기를 바라면서 재부팅을 시도했습니다. 과거에는 이것이 전혀 문제가 되지 않았지만 디스크를 교체한 적도 없습니다.

이것이 작동하지 않으면 어떻게 해야 할지 살펴보고 디스크를 다시 추가하려고 시도했지만 도움이 되지 않았습니다. 조립도 작동하지 않았습니다.

sudo mdadm --assamble --scan

디스크는 2개만 감지해서 디스크 이름을 알려드리려고 했는데요

sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdf1 /dev/sdc1 /dev/sdd1

하지만 모든 디스크가 사용 중이라고 알려주세요.

sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdf1 /dev/sdc1 /dev/sdd1 
mdadm: looking for devices for /dev/md0
mdadm: /dev/sda1 is busy - skipping
mdadm: /dev/sdf1 is busy - skipping
mdadm: /dev/sdc1 is busy - skipping
mdadm: /dev/sdd1 is busy - skipping

sdg1은 다시 시작한 후 sdf1을 가져옵니다.

mdstat는 디스크가 올바른지 감지하는 것 같습니다(도움이 되길 바라면서 sdb1을 다시 삽입하고 유무에 관계없이 시도했습니다).

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdd1[3](S) sdb1[1](S) sdc1[2](S) sda1[0](S) sdf1[4](S)
      14650670080 blocks super 1.2
       
unused devices: <none>

디스크만 쿼리 /dev/sda1하고 /dev/sdf1동일한 어레이 상태를 표시하는 경우AA..

sudo mdadm --query --examine /dev/sda1 
/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
           Name : lianli:0  (local to host lianli)
  Creation Time : Sat Oct 29 18:52:27 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : 3e912563:b10b74d0:a49faf2d:e14db558

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat Jan  9 10:06:33 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : c7d96490 - correct
         Events : 303045

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --query --examine /dev/sdd1 
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
           Name : lianli:0  (local to host lianli)
  Creation Time : Sat Oct 29 18:52:27 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : bf303286:5889dc0c:a6a1824a:4fe1ae03

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat Jan  9 10:05:58 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : ef1f16fd - correct
         Events : 303036

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.A ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --query --examine /dev/sdc1 
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
           Name : lianli:0  (local to host lianli)
  Creation Time : Sat Oct 29 18:52:27 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : b29aba8f:f92c2b65:d155a3a8:40f41859

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat Jan  9 10:04:33 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 47feb45 - correct
         Events : 303013

         Layout : left-symmetric
     Chunk Size : 512K

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

계속 시도해 보려고 하는데 현재는 아이디어가 부족하고, 레이드에서 디스크를 교체한 것도 이번이 처음입니다. 누군가가 나를 도울 수 있기를 바랍니다.

적어도 백업도 있지만 백업도 작동하지 않는다는 사실을 알기 위해 하드 드라이브를 재설정하고 싶지 않습니다....

업데이트: 조립할 디스크를 모두 추가한 후 다음을 얻었습니다.

sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sdf1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sda1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdf1 to /dev/md0 as 1
mdadm: added /dev/sdc1 to /dev/md0 as 2 (possibly out of date)
mdadm: added /dev/sdd1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sda1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 2 drives - not enough to start the array.

답변1

해결책을 찾았습니다.

더 많은 조사와 '구식일 수 있음'에 대한 정보를 장황 모드( sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sdf1)에서 얻은 후 다음 페이지를 발견했습니다.https://raid.wiki.kernel.org/index.php/RAID_Recovery

'--force를 사용하여 어셈블링 시도' 섹션에서는 이벤트 수가 50보다 낮을 경우 강제를 사용하는 방법을 설명합니다. 제 것이 훨씬 낮아서 시도했는데, raid 어레이가 다시 연결되어 디스크 중 하나가 여전히 꺼진 것으로 감지합니다. 날짜는 다르지만 다른 사람의 정보와 동기화할 수 있기를 바랍니다. 따라서 일부 데이터가 손실되었을 수도 있지만 어레이가 snyc 상태가 될 때까지 기다리기 위해 어레이에서 잘못된 디스크를 제거한 경우를 알게 되었습니다.

공격대 작업을 다시 시작하는 데 사용한 명령은 다음과 같습니다.

sudo mdadm --stop /dev/md0
sudo mdadm -v -A --force /dev/md0 /dev/sda1 /dev/sdc1 /dev/sdd1 /dev/sdf1

업데이트: 아마도 하나의 드라이브가 추가되지 않았으므로 강제로 어레이를 작업 가능한 상태로 되돌리기 위해 하나의 드라이버만 추가되었습니다. 가장 큰 이벤트가 다른 장치는 나중에 다음과 같이 추가되어야 했습니다 --re-add.

sudo mdadm --manage /dev/md0 --re-add /dev/sdc1

이제 어레이가 다시 동기화되었으며 결함이 있는 하드 드라이브를 다시 제거해 볼 수 있습니다.

관련 정보