소프트 RAID에서 드라이브 제거

소프트 RAID에서 드라이브 제거

RAID 1에 3개의 SSD 드라이브가 있는 전용 서버가 있습니다. 출력 cat /proc/mdstat:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]
      
md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]
      
unused devices: <none>

¿ 소프트 레이드에서 드라이브를 안전하게 제거하는 방법잃지 마세요데이터가 있나요? 가장 중요한 데이터를 미러링하면서 다시 포맷하고 독립적으로 사용하기 위해 어레이에서 드라이브를 제거하고 싶습니다.

답변1

거기에는 3방향 미러가 있습니다. 각 드라이브에는 모든 데이터의 완전한 복사본이 있습니다. 제거할 드라이브가 이고 /dev/sdc세 어레이 모두에서 제거하려는 경우 , 및 에 대해 /dev/sdc1다음 /dev/sdc2단계를 수행해야 합니다 /dev/sdc4.

1단계: 어레이에서 드라이브를 제거합니다. 어레이에서 활성 장치를 제거할 수 없으므로 먼저 해당 장치를 실패로 표시해야 합니다.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

2단계: 커널이 다시 추가하려고 시도하지 않도록 RAID 메타데이터를 삭제합니다.

wipefs -a /dev/sdc1

3단계: 드라이브가 누락된 3방향 미러 대신 양방향 미러가 되도록 어레이를 축소합니다.

mdadm --grow /dev/md1 --raid-devices=2

쓰기 의도 비트맵을 축소하기 전에 제거해야 할 수도 있습니다 /dev/md4(설명서에서는 이에 대해 명확하게 설명하지 않음). 이 경우 re를 사용하여 3단계 전에 이 작업을 수행 mdadm --grow /dev/md4 --bitmap=none한 다음 다시 넣을 수 있습니다 mdadm --grow /dev/md4 --bitmap=internal.

답변2

남자아빠:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.

관련 정보