디스크를 제거하여 RAID를 줄입니까?


14

12 개의 베이가있는 Synology NAS가 있습니다. 처음에는 단일 RAID-6 볼륨에 12 개의 디스크를 모두 할당하기로 결정했지만 이제는 10 개의 디스크 만 사용하도록 볼륨을 축소하고 2 개의 HDD를 스페어로 할당하려고합니다.

볼륨 관리자 마법사는 쉽게 하드 디스크를 추가하여 볼륨을 확장 할 수 있습니다,하지만 난 할 수있는 방법 발견 한 하드 디스크를 제거하여 볼륨을 축소를 . 전체 시스템을 다시 초기화하지 않고도 어떻게 할 수 있습니까?


목표는 무엇입니까? 현재 두 개의 디스크가 패리티로 사용되므로 어레이는 두 가지 오류를 허용 할 수 있습니다. 여분의 스페어 두 개를 원할 경우, 가까운 곳에두고 동일한 공차를 가지지 만 더 많은 디스크 공간을 확보 할 수 있습니다.
Paul

물론 사무실에 가서 디스크를 꺼내고 교체 디스크를 넣어야합니다. 여분이 있으면 원격으로이 작업을 수행 할 수 있습니다.
Pierre Arnaud

Synology에 MDADM이 내장되어 있습니까?
Paul

예, mdadm 도구에 액세스 할 수 있습니다.
Pierre Arnaud

답변:


20

이를 위해 어레이에 12 개의 디스크가 있고 각각 1TB라고 가정합니다.

이는 10TB의 스토리지가 있음을 의미합니다. 예를 들어, 6TB (6TB) 이상의 스토리지를 사용하지 않는 경우 크기가 중요하지 않습니다.

고지 사항 : Synology는이 중 어느 것도 지원하지 않을 수 있으므로이 방법으로 문제가 발생하거나 미리 백업 한 후 미리 동의 서비스를 종료 할 수 있는지 확인합니다. Synology는 내가 아는까지로 같은 표준 MD의 RAID 어레이를 사용하여 디스크가 지원하는 MD가있는 표준 서버로 이동 한 경우에는 액세스 할 수 있습니다 - 그래서이 있어야 아무런 문제가 없습니다.

개요

순서는 다음과 같습니다.

  1. 파일 시스템 크기를 줄입니다
  2. 논리 볼륨 크기를 줄입니다
  3. 배열 크기를 줄입니다
  4. 파일 시스템 크기를 다시 조정하십시오
  5. 스페어 디스크를 핫 스페어로 변환

파일 시스템

를 사용하여 주 파티션을 찾으십시오 df -h.

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         10T       5T   5T         50% /volume1

이 명령을 사용하여 필요한 최대 크기로 조정하십시오.

umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1

이제 확인하십시오 :

mount /dev/vg1/volume_1 /volume1
df -h

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         5T       5T    0T        100% /volume1

음량

볼륨 크기를 줄이려면 lvreduce를 사용하십시오 (경우에 따라 조금 더 크게).

umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1

논리 볼륨이 줄어 들었으므로 pvresize를 사용하여 물리 볼륨 크기를 줄이십시오.

pvresize --setphysicalvolumesize 5.3T /dev/md0

크기 조정에 실패하면 물리 볼륨의 끝에 할당 된 데이터 부분을 처음으로 이동하는 다른 질문 을 참조하십시오 .

이제 10T 어레이에 5.3T 볼륨이 있으므로 어레이 크기를 2T로 안전하게 줄일 수 있습니다.

정렬

md 장치를 찾으십시오.

 pvdisplay -C
 PV         VG      Fmt  Attr PSize   PFree
 /dev/md0   vg1     lvm2 a--  5.3t    0.1t

첫 번째 단계는 mdadm에게 배열 크기를 줄 이도록 지시하는 것입니다 (grow).

mdadm --grow -n10 /dev/md0
mdadm: this change will reduce the size of the array.
       use --grow --array-size first to truncate array.
       e.g. mdadm --grow /dev/md0 --array-size 9683819520

즉, 현재 어레이를 10 개의 디스크에 맞추려면 어레이 크기를 줄여야합니다.

 mdadm --grow /dev/md0 --array-size 9683819520

이제 더 작아서 디스크 수를 줄일 수 있습니다.

 mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup

시간이 오래 걸리며 여기에서 모니터링 할 수 있습니다.

 cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[1] sdj4[1] 
      [>....................]  reshape =  1.8% (9186496/484190976)
                              finish=821.3min speed=9638K/sec [UUUUUUUUUU__]

그러나 우리는 기다릴 필요가 없습니다.

PV, LV 및 파일 시스템의 크기를 최대로 조정하십시오.

pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1

스페어 디스크를 스페어로 설정

여기서 수행 할 작업은 없습니다. 어레이의 예비 디스크는 자동으로 예비입니다. 재구성이 완료되면 상태를 확인하십시오.

cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[S] sdj4[S] 

자세한 지침에 감사드립니다. 먼저 HDD를 교체 한 후 RAID 어레이의 재 구축이 완료 될 때까지 기다립니다 (총 용량 : 17.86TB, 시간이 오래 걸림).
Pierre Arnaud

mdadm 치트 시트 ( ducea.com/2009/03/08/mdadm-cheat-sheet )도 살펴보십시오 .
Pierre Arnaud

@ 폴 - superuser.com/questions/1274328/... 플래그는 사용자 도울 수 있다면 당신은 결정 후 제거를위한이 댓글
Ramhound

조심해! 이 답변은 데이터 손실을 초래할 수 있다고 생각합니다. lvm lv가 실제로 pv의 시작 부분에 있는지 확인하는 것은 없습니다! (lvm에서는 보장되지 않습니다). PV의 끝 자유롭게 수축 되도록하는 방법에 대해서는 unix.stackexchange.com/questions/67702/… (및 오류가 발생한 경우 unix.stackexchange.com/questions/67702/…) 를 참조하십시오 .
Ekleog

@Ekleog 감사합니다,이 의견은 놓친 경우에 답변의 일부로 배치하는 것이 좋습니다
Paul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.