여러 드라이브를 하나의 볼륨으로 결합

여러 드라이브를 하나의 볼륨으로 결합

현재 3개의 SSD 드라이브를 갖춘 전용 서버가 있습니다. 실제로 단일 드라이브에 OS를 배포했으며 나머지 2개는 현재 사용되지 않는 것으로 나타났습니다. 그러나 이 디스크는 거의 가득 찼습니다.

/dev/md2         91G   83G  3.0G  97% /home

여기서 논리적인 해결책은 드라이브 3개(3 x 120GB)의 용량을 모두 결합하여 하나의 볼륨으로 바꾸는 것입니다. 이를 수행하는 가장 좋은 방법은 무엇입니까?

안타깝게도 OS 재설치 등은 현재로서는 선택 사항이 아닙니다.

서버에서 Ubuntu 14.04.5 LTS를 실행 중입니다. LVM을 찾았지만 이것이 최선의 솔루션인지 아직 확인하지 못했습니다.

요청대로:

root@hv01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  2.5G   16G  14% /
devtmpfs         16G  4.0K   16G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            3.2G  572K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   24K   16G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/md2         91G   84G  2.6G  98% /home

root@hv01:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]     [multipath] [faulty] 
md1 : active raid1 sdc1[2] sda1[0] sdb1[1]
  20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
  96211904 blocks [3/3] [UUU]

unused devices: <none>

답변1

/proc/mdstatOS(md1) 및 홈(md2)에 대해 3방향 미러 세트(RAID1)를 생성했음을 분명히 합니다. 이는 충분한 중복성을 제공하지만 많은 공간이 필요합니다.

에만 디스크 바인딩되어 있으므로 /home가장 쉬운 방법은 약간의 디스크 저글링을 수행하는 것입니다.

주의 사항: 잘못된 시점에 SSD가 작동하지 않으면 모든 파일이 손실될 수 있으므로 백업하고 준비하세요.

즉, 나는 다음과 같은 방향으로 진행할 것입니다.

  • md2에서 2개의 미러를 제거합니다. 이렇게 하면 가동 중지 시간 없이 계속 사용할 수 있는 시스템이 남지만 2개의 여유 파티션이 있습니다.mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • 이 두 블록에서 모든 fs 및 RAID 슈퍼 블록을 지웁니다.wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • 세 번째 파티션으로 사용하여 이 2개의 파티션에서 RAID5를 만듭니다 missing. 실제로 이렇게 하면 원래 파티션(md3) 크기의 두 배인 임시 RAID0이 생성됩니다.mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • 이 RAID5를 원본 md2에 하나의 미러로 추가하고 재동기화가 완료될 때까지 기다립니다.mdadm --add /dev/md2 /dev/md3 동기화를 기다리지 않으면 데이터가 손실됩니다!
  • md2에서 마지막 원래 미러를 제거하고 새로 생성된 md3라는 단일 다리만 남겨 둡니다.mdadm --remove /dev/md2 /dev/sdc2
  • md3을 모두 사용하려면 md2를 확장하세요.mdadm --grow --size=max /dev/md2
  • md2를 모두 사용하도록 파일 시스템 크기 조정이는 사용된 FS에 따라 다릅니다.
  • 이 마지막 파티션에서 FS 및 RAID 슈퍼블록을 지웁니다.wipefs --all /dev/sdc2
  • RAID5에 추가하고 재동기화를 완료하세요.mdadm --add /dev/md3 /dev/sdc2

이제 초기 크기의 두 배인 RAID5인 하나의 미러만 포함된 미러 세트가 생겼습니다. 이는 중복성과 크기 사이의 균형이 꽤 좋은 것 같습니다.

좋은 점: 가동 중지 시간이 발생하지 않습니다. 파일 시스템을 사용하는 동안 위의 모든 단계를 사용할 수 있습니다.

관련 정보