使用 1 個較大的驅動器對 2 個較小的驅動器進行 raid

使用 1 個較大的驅動器對 2 個較小的驅動器進行 raid

我必須重新設定 RAID 陣列,並且面臨一些不同大小的磁碟。我想要使​​用 2x 5TB 和 1 8TB 硬碟進行 raid 1 鏡像。我不確定執行此操作的最佳方法。

到目前為止我想到的兩個選擇...

一、LVM 2x 5TB 並將其加入到有另一個 8tb 磁碟的 mdadm raid 1

第二,在 8tb 上建立兩個分割區並建立兩個 raid1 分割區,然後將它們合併到 LVM 中。

歸根結底,我只想安裝一個分割區。為了使事情變得更加複雜,我正在考慮添加另一個磁碟到混合中,這可能不是 RAID,而只是透過 RSYNC 手動備份。我希望將此磁碟與 RAID1 一起作為單一安裝提供,因此這可能意味著我將使用 LVM 來提供最終的 raid。

我對選項一的關注是將 LVM 新增至 RAID1 /dev/md0,然後將 /dev/md0 + 另一個磁碟新增至不同的 LVM。

我有點擔心對我的數據進行重大修改並尋找輸入。為了分解問題,我主要關注這個關於使用 3 個磁碟進行 raid1 的問題,其中兩個磁碟很小,一個很大。然後我就可以專注於下一部分。

謝謝您,如果您需要任何其他信息,請告訴我。

更新:

我正在考慮使用 ZFS now 與 mdadm 來學習新工具。例如使用 LVM 建立 2x 5TB 的池,然後建立 lvm + 8tb HDD 的 ZFS 池。這可以嗎? > 我讀過 ZFS 希望對磁碟進行直接原始訪問,並且想知道 LVM 是否可以在這種情況下工作。

答案1

不“推薦”像這樣使用 ZFS,但它會工作得很好。完全可以使用 mdadm 將兩個 5Tb 磁碟機連接在一起,然後將該裝置傳遞給 ZFS。

有許多關於為大規模生產系統調整 ZFS 的建議,但這些建議與想要使用 ZFS 進行資料完整性保護的小規模使用者無關。

我假設您使用的是最近的 linux disto,在這種情況下:

mdadm --create /dev/md/twosmall /dev/disk/by-id/small1 /dev/disk/by-id/small2 --level=0 --raid-devices=2

將在 /dev/md/twosmall 為您建立一個 10Tb 設備,然後:

zpool create -f eight mirror /dev/md/twosmall /dev/disk/by-id/large

將從組合中建立一個 zfs 池。

請注意-f此處,否則該zpool create命令將因設備大小不同而失敗。我建議先運行它而不使用-f以確保沒有其他錯誤訊息。

twosmalleight是我為 mdadm raid 和 zfs 池隨機選擇的名稱,您應該將這些/dev/disk/by-id名稱替換為適當的名稱。我使用該命令ls -l /dev/disk/by-id | grep -v part | grep -v wwn | sort -k 11來取得系統中按 /dev/sd? 排序的磁碟機清單。快捷方式。

答案2

我最終做了什麼,有很多方法可以在 Linux 中給貓剝皮,無論誰說你需要有 2 個相同大小的驅動器,都沒有創意!

注意:ZFS 喜歡擁有整個磁碟,因此透過在分割區上使用您會失去它的一些功能,請進行研究,但對於我的家庭伺服器/資料儲存池,我確信這是可以的。

我使用 ZFS 建立分區,如下所示:

1x4TB /dev/sda1
1x1TB /dev/sda2

1x4TB /dev/sdb1
1x1TB /dev/sdb2

1x4TB /dev/sdc1
1x4TB /dev/sdc2

然後使用 ZFS 建立鏡像,如下所示:

/dev/sda1 /dev/sdc1 # 8TB
/dev/sdb1 /dev/sdc2 # 8TB
/dev/sda2 /dev/sdb2 # That leftover 1TB, might as well not waste it!

最後,我將所有內容與 MergeFS 作為單一安裝點呈現給「作業系統/最終用戶」。

注意:我遇到了很多麻煩,mhddfs甚至不用麻煩,使用mergefs.

相關內容