mdadm-RAID0에서 디스크 제거 다음을 수행 할 수 있습니다. 2

그래서 알고 싶습니다 .mdadm으로 다음을 수행 할 수 있습니다.

  1. 2 개의 디스크에서 RAID0 구성으로 시작합니다 : sdasdb.
  2. 하나의 디스크를 어레이에 추가 sdc하고 모든 데이터를 디스크로 옮기고 싶습니다 sdb.
  3. 연결을 끊습니다 sdb.

나는 배열을 중지 복사 – 지금은 하나 개의 옵션이 표시 sdbsdc함께 dd또는 다른 블록 복사 도구와 배열 다시 시작합니다.

내가 뭔가를 그리워합니까? mdadm으로이 작업을 수행 할 수 있습니까?



답변

우선 : “RAID0에는 핫 스페어가 없다”고 믿는 사람들에게. RAID 레벨과 mdadm을 이해하는 사람이 수동으로 예비 스페어를 가질 수 있습니다. mdadm은 소프트웨어 RAID이므로 많은 흥미로운 작업을 수행 할 수 있습니다.

아이디어에 대한 Zoredache의 크레딧 !

따라서 상황은 다음과 같습니다.

  • 두 디스크의 RAID0 배열이 있습니다
  • 어레이 다운 타임없이 이들 중 하나를 교체하고 싶습니다

가동 중지 시간이 허용되는 경우 항상 dd를 사용하여 디스크의 블록 복사본을 만들고 어레이를 다시 어셈블하면 mdadm이 정상적으로 작동합니다.

솔루션 : 중간 솔루션으로 RAID4 사용

RAID0-> RAID4-> RAID0

따라서 RAID4를 기억하지 못하면 간단합니다. 패리티 블록이 있지만 RAID5와 달리 어레이에 분산되지 않지만 하나의 디스크에 상주합니다. 요점은 이것이 중요하며 이것이 RAID5가 작동하지 않는 이유입니다.

필요한 것 : 교체하려는 디스크와 동일한 크기의 디스크 두 개 더.

환경:

  • 우분투 14.04 추력 타르
  • mdadm-v3.2.5-2012 년 5 월 18 일
  • / dev / sdb-시작하여 교체합니다
  • / dev / sdc-시작
  • / dev / sdd-임시로 사용됩니다
  • / dev / sde-sdb 대신 사용됩니다

최고의 RAID0 핫 스페어 mdadm 안내서;)

sudo mdadm -C /dev/md0 -l 0 -n 2 /dev/sd[bc]

md0 : active raid0 sdc[1] sdb[0]
      2096128 blocks super 1.2 512k chunks

우리는 raid0 배열을 만들었습니다. 달콤 해 보입니다.

sudo md5sum /dev/md0

b422ba644a3c83cdf28adfa94cb658f3  /dev/md0

이것이 우리의 체크 포인트입니다. 결과적으로 1 비트라도 /dev/md0달라지면 실패했습니다.

sudo mdadm /dev/md0 --grow --level=4

md0 : active raid4 sdc[1] sdb[0]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]

따라서 어레이를 RAID4로 성장 시켰습니다. 우리는 아직 패리티 디스크를 추가하지 않았으므로 그렇게하자. 성장은 즉각적 일 것입니다-재 계산 또는 재 계산할 것이 없습니다.

sudo mdadm /dev/md0 -a /dev/sdd

md0 : active raid4 sdd[3] sdc[1] sdb[0]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
      [===>.................]  recovery = 19.7% (207784/1048064) finish=0.2min speed=51946K/sec

sdd패리티 디스크로 추가 했습니다. 첫 번째 행의 디스크 순서는 두 번째 행의 그림과 동기화되지 않습니다. [UU_]

sdd 먼저 표시되지만 실제로는 마지막 데이터이며 데이터가 아니라 패리티를 보유합니다.

sudo mdadm /dev/md0 -f /dev/sdb

md0 : active raid4 sdd[3] sdc[1] sdb[0](F)
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]

디스크 sdb에 결함이 생겨 다음 단계에서 디스크를 제거했습니다.

sudo mdadm --detail /dev/md0

State : clean, degraded

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      active sync   /dev/sdd

       0       8       16        -      faulty spare   /dev/sdb

세부 사항은 첫 번째 디스크 제거를 보여 주며 여기에서 어레이에서 디스크의 실제 순서를 볼 수 있습니다. 패리티가있는 디스크를 추적하는 것이 중요합니다. RAID0으로 돌아갈 때 어레이에 디스크를 남겨두면 안됩니다.

sudo mdadm /dev/md0 -r /dev/sdb

md0 : active raid4 sdd[3] sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]

sdb 완전히 제거 할 수 있습니다.

sudo mdadm /dev/md0 -a /dev/sde

md0 : active raid4 sde[4] sdd[3] sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
      [==>..................]  recovery = 14.8% (156648/1048064) finish=0.2min speed=52216K/sec

sdb 디스크를 대체했습니다. sdb 의 데이터는 패리티를 사용하여 복구됩니다. 스 eeeee 트.

md0 : active raid4 sde[4] sdd[3] sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/3] [UUU]

끝난. 지금 우리는 완전히 안전합니다-sdb의 모든 데이터가 복구되었으며 이제 sdd를 제거해야합니다 (패리티가 있음을 기억하십시오).

sudo mdadm /dev/md0 -f /dev/sdd

md0 : active raid4 sde[4] sdd[3](F) sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]

sdd에 결함이 있습니다.

sudo mdadm /dev/md0 -r /dev/sdd

md0 : active raid4 sde[4] sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]

배열에서 sdd를 제거했습니다. 다시 RAID0이 될 준비가되었습니다.

sudo mdadm /dev/md0 --grow --level=0 --backup-file=backup

md0 : active raid4 sde[4] sdc[1]
      2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
      [=>...................]  reshape =  7.0% (73728/1048064) finish=1.5min speed=10532K/sec

아아 아아아!

md0 : active raid0 sde[4] sdc[1]
      2096128 blocks super 1.2 512k chunks

끝난. md5 체크섬을 살펴 보겠습니다.

sudo md5sum /dev/md0

b422ba644a3c83cdf28adfa94cb658f3  /dev/md0

또 다른 질문? 따라서 RAID0에 핫 스페어가있을 수 있습니다. “사용자”라고합니다.)


답변

RAID0을 설정 한 후에는 디스크 중 하나를 변경할 수 없습니다. 백업을 수행하고 디스크를 전환하고 백업을 복원 할 수 있습니다. 나는 당신이 가지고있는 3 개의 디스크를 RAID5 할 것입니다. 그런 식으로 나중에 디스크를 삭제하고 여전히 재 구축 할 수 있습니다.


답변

RAID 0은 중복성을 제공하지 않습니다.

따라서 핫 드라이브 교체를 지원하지 않습니다.