
我必須重新設定 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
以確保沒有其他錯誤訊息。
twosmall
和eight
是我為 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
.