mdadm 16 x 8TB Raid 6을 실행하는 Ubuntu 22.04.3 LTS - LVM을 사용하지 않고 개별 디스크를 업그레이드하고 즉시 공간을 사용할 수 있습니까?

mdadm 16 x 8TB Raid 6을 실행하는 Ubuntu 22.04.3 LTS - LVM을 사용하지 않고 개별 디스크를 업그레이드하고 즉시 공간을 사용할 수 있습니까?

추가 배경 정보... 4개의 실시간 어레이(항상 사용하기 위해 실행 중)가 있습니다. 2개의 중요한 어레이(40TB[20TB 사용] 및 112TB[105TB 사용])가 16 x 8TB Raid6 어레이(112TB)에 백업되고 있습니다. 총 무료 저장 공간 - 보시다시피 여유 공간보다 백업할 공간이 더 많습니다. 따라서 더 많은 저장 공간이 필요합니다.

내 더 좋은 해결책은 또 다른 SuperMicro 24bay JBOD를 구입하는 것이었지만 코로나19 이후 가격이 현재 더 저렴한 방법의 두 배로 올랐습니다. ... 드라이브를 업그레이드하는 것입니다. 하지만 동시에 16개의 16TB Exos 드라이브를 감당할 수는 없습니다. 홈 서버로는 꽤 비싼 편입니다. :)

그렇다면 이 모든 것을 업그레이드할 방법을 찾으려고 노력하게 된 계기는 무엇입니까?

어제 16TB Exos 3개를 구입했습니다. 백업 어레이에서 다음 명령을 실행했습니다...

#UPGRADE AN ARRAY *******************************************************
#FIRST ADD SPARES
mdadm /dev/md4 --add /dev/sdan  (a 16TB drive)
mdadm /dev/md4 --add /dev/sdao  (a 16TB drive)

#SECOND REPLACE DISKS (2 at a time)  replace 2 8TB drives with 16TB drives.
mdadm /dev/md4 --replace /dev/sdah /dev/sdai --with /dev/sdan /dev/sdao

질문 #1: 저는 LVM을 사용하고 있지 않습니다. ext4 파일 시스템이 맨 위에 있는 일반 mdadm raid6입니다. 그래서 내 가정은... 모든 8TB 드라이브가 16TB로 업그레이드될 때까지 추가 공간을 사용할 수 없다는 것입니다... 질문 #1: 이것이 맞나요?


제 생각에는... 대안은... 일단 9개의 16TB 드라이브를 얻으면 새 어레이를 만들고 이 16 x 8TB 어레이의 모든 내용을 크기가 동일하므로 9 x 16TB 어레이에 직접 복사할 수 있을 것입니다. 이전에 했던 어레이를 확장하면 됩니다... 9개의 디스크 어레이가 있으면.. 추가하기 쉽습니다...

mdadm --grow --raid-devices=10 --backup-file=/root/md4_grow.bak /dev/md4

그런 다음...

resize2fs /dev/md4

그래서 저는 mdadm의 한계를 모릅니다. 내 Synology NAS에서는 하이브리드 업그레이드가 가능하고 모든 드라이브를 즉시 최대한 활용할 수 있다는 것을 알고 있습니다. 하지만 파일 시스템을 하이브리드로 제어할 수 없더라도 mdadm을 선호합니다. raid6 위에 LVM을 추가할 수 있을 것 같습니다... 하지만 이전에는 사용한 적이 없습니다... 현재 가지고 있는 어레이를 LVM으로 변환할 수 있는지 아니면 모든 것을 지워야 하는지 잘 모르겠습니다. 그것은 백업 어레이이므로 기술적으로 파괴할 수 있습니다... 하지만 그러면 무서운 것은... 더 이상 백업이 없습니다. 새 어레이를 재구축하는 동안 기본 어레이에 장애가 발생하면 어떻게 됩니까? 그러면 엄청난 양의 데이터가 손실될 것입니다.

나는 raid가 백업이 아니라는 것을 알고 있지만 이 백업 어레이는 대부분의 경우 꺼져 있습니다. 백업할 때만 켜졌다가 다시 꺼집니다.

매우 중요한 데이터의 경우... RAID에 포함되지 않은 몇 개의 10TB Exos 드라이브에 복사하여 붙여넣고 "만약에 대비해" 상자에 넣어 두었습니다. 안타깝게도 제대로 백업해야 할 데이터가 너무 많아서 그런 방식으로 백업할 대상을 선택해야 합니다. 그래서 실시간 배열을 백업하는 데 필요한 크기에 가까운 것은 백업 배열뿐입니다...


가상 질문 #2: 마침내 --replace --를 모든 16 x 8TB IronWolf를 16 x 16TB Exos 드라이브로 교체한다고 가정해 보겠습니다. 그냥 실행합니까?

resize2fs /dev/md4

그러면 mdadm은... "야, 너 16TB 중 8TB만 사용하고 있구나!!!! 고쳐보자!!!" 모든 공간을 채우기 위해 확장을 진행합니까? 아니면 모든 드라이브가 업그레이드되면 다른 명령을 수행해야 합니까?

나는 성장이 크기를 취할 수 있다는 것을 읽었지만... 나는 그것을 사용한 적이 없습니다... 배열에 다른 드라이브를 추가하는 데에만 성장을 사용했습니다 ... --raid-devices=9에서 --raid로 이동 -devices=10 예를 들어... 그런 다음 실행 중

resize2fs /dev/md4

새로 발견된 공간을 얻으려면...


나보다 경험이 많은 사용자의 생각?

(코드 형식을 지정해 주신 Gerald에게 감사드립니다. 질문을 하고 잊어버린 지 몇 년이 지났습니다.)

관련 정보