Lvm

用一個較大的驅動器突襲 2 個較小的驅動器

  • April 1, 2020

我必須重新設置我的 RAID 陣列,並且我面臨著一些不同大小的磁碟。我想做帶有 2 個 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 vs mdadm 來學習一個新工具。比如使用 LVM 創建一個 2x 5TB 的池,然後創建一個 lvm + 8tb HDD 的 ZFS 池。這樣可以嗎?> 我已經閱讀過 ZFS 想要直接原始訪問磁碟,並且想知道 LVM 在這種情況下是否可以工作。

我最終做了什麼,有很多方法可以在 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.

不“推薦”這樣使用 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? 排序的驅動器列表?捷徑。

引用自:https://unix.stackexchange.com/questions/577001