Ubuntu 22.04.3 LTS 運行 mdadm 16 x 8TB Raid 6 - 是否可以升級單一磁碟並立即使用空間而不使用 LVM?

Ubuntu 22.04.3 LTS 運行 mdadm 16 x 8TB Raid 6 - 是否可以升級單一磁碟並立即使用空間而不使用 LVM?

更多背景資訊...我有4 個即時陣列(始終運行供我使用) - 2 個重要的重要陣列(40TB [已使用20TB] 和112TB [已使用105TB] 正在備份到16 x 8TB Raid6 陣列( 112TB可用的總儲存空間 - 正如您所看到的,我要備份的內容超出了我的空間),因此,我需要更多的儲存空間...

我更好的解決方案是購買另一個 SuperMicro 24bay JBOD,但自從新冠疫情之後,價格已經翻倍,現在更便宜的方法是…升級我的驅動器。但是,我無法同時購買 16 個 16TB Exos 硬碟…這對於家庭伺服器來說相當昂貴。 :)

那麼,是什麼促使我試圖找到一種方法來升級這一切?

我昨天買了 3 個 16TB Exos。我在備份陣列上運行了以下命令...

#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。只是一個普通的 mdadm raid6,上面有一個 ext4 檔案系統。所以,我的假設是...在所有 8TB 硬碟升級到 16TB 之前,我無法使用額外的空間...問題 1:這是正確的嗎?


我在想...另一種選擇是...一旦我獲得9 x 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不是備份,但這個備份陣列大部分時間都是關閉的。它僅在備份時打開,然後再次關閉。

對於超級重要的數據...我將其複製並貼上到幾個 10TB Exos 驅動器上,而不是在 raid 中,並將其卡在一個盒子中,「以防萬一」發生什麼情況。可悲的是,我必須以這種方式選擇要備份的內容,因為我有太多資料無法正確備份...因此,我的備份陣列是唯一接近備份即時陣列所需大小的東西...


假設問題 #2:假設我最終將所有 16 x 8TB IronWolf 和 16 x 16TB Exos 驅動器替換為…我是否只需運行

resize2fs /dev/md4

mdadm 將看到...“嘿,您只使用了 16TB 中的 8TB!!!讓我們解決這個問題!!!”並繼續擴展以填充所有空間?或者,一旦所有驅動器都升級後,我是否必須執行其他命令?

我讀到增長可以採取一定的大小,但是...我從未使用過...我只使用增長來將另一個驅動器添加到陣列...從 --raid-devices=9 到 --raid - devices=10 例如...然後運行

resize2fs /dev/md4

獲得新發現的空間...


來自比我更有經驗的用戶的想法?

(謝謝​​傑拉德格式化程式碼,自從我提出問題並忘記這一點以來已經很多年了)。

相關內容