Ubuntu

Ubuntu 20.04 的 ZFS 配置

  • June 29, 2020

TL;DR 我在一台執行 Ubuntu 20.04 的機器上安裝了三個 2 TB 驅動器和一個 500 GB 驅動器,並在小驅動器上安裝了預設 ZFS。我的計劃是將較大的驅動器分成兩個分區,每個分區為 2 GB(預設 bpool 分區的大小)和剩餘的 2,046 GB,並使我的 bpool 成為四路 2 GB 鏡像,而我的 rpool 更大RAIDz1 (> 5 GB) 或 RAIDz2 (< 3 TB)。這是可能的/合理的,還是有我不知道的考慮?

我剛剛在一台機器上安裝了 Ubuntu 20.04 以使用 ZFS 功能,並試圖找出設置它的最佳方法。該機器有四個驅動器(3x 2TB 和 1x 500 GB)。我使用最小驅動器的預設 ZFS 安裝,所以現在三個大驅動器未使用,小驅動器有兩個分區,一個用作 bpool 中的單設備 vdev,另一個用於 rpool。一旦我弄清楚了我想如何配置所有東西,我計劃將這台機器用作小型私人文件、git 和 Web 伺服器。伺服器上的負載會很低,並且任何關鍵文件仍會在異地備份,所以我通常更傾向於儲存容量而不是性能和冗餘,但我目前使用的是舊驅動器,所以我當然也想要考慮容錯性。

當我了解 Ubuntu 的 ZFS 設置和 GRUB 集成時,我需要小心不要弄亂 bpool,但至少我希望它在多個物理驅動器上具有一些冗餘。為了實現這一點,我顯然需要更多的設備來添加到 bpool 的 vdev,從其他磁碟中提取,但是因為 bpool 需要保持獨立,並且我不想放棄整個 2 TB 驅動器來贏得一個池’不需要太多空間,我懷疑這意味著我最好的選擇是將剩餘驅動器中的一個(或多個)分區,並使用新分區將 bpool 的 vdev 轉換為鏡像或 RAIDz。鑑於 bpool 的性質,以及我使用的四個磁碟實際上只是我放置的不同時代和歷史的最大磁碟,

其餘的,因為如果我不想浪費空間,我必然會處理異構設備,我認為所有驅動器的所有剩餘分區都用於將我的 rpool 配置更改為 RAIDz vdev,而這是我的知識開始達到極限的地方,我有一些問題:

  1. 是否有任何理由不將 rpool 用於其他所有內容,而是添加另一個 zpool?我的理解是,除了使我的拓撲複雜化並使有效分配我的驅動器空間變得更加困難之外,這幾乎沒有什麼影響,但是有一些我沒有考慮的因素嗎?
  2. 同樣,我是否有任何理由要在 rpool 中考慮多個 vdev?我不這麼認為,但我想再次確保我沒有遺漏任何東西。

Ubuntu 安裝程序給我的預設配置是 2 GB 分區用於 bpool,其餘 498 GB 用於 rpool。如果按照上面的計劃,我的最終配置將是一個四倍冗餘的 2 GB bpool,以及一個具有單個 vdev 的 rpool,該 vdev 由一個 498 GB 分區和三個 2,044 GB 分區組成,對於 RAIDz1 配置,我認為應該 -留給我不到 5 TB 的可用空間(或 RAIDz2 略高於 3 TB)。

是否有任何我遺漏的並發症,或我應該考慮的技術限制?

在對這種情況進行了更多研究之後,我意識到我對 RAIDz 的工作方式存在根本性的誤解。出於某種原因,我認為它可以在不浪費空間的情況下與異構設備一起使用,但實際上並非如此(我一定只是在考慮非冗餘儲存池,這不是我想為這個應用程序考慮的事情)。

我的新計劃是只購買另一個 2 TB 驅動器(不再像它們那樣昂貴),並用它替換 500 GB 驅動器,這樣我就可以使用一組適當同質的設備。這應該允許在不訴諸異國地形的情況下適當有效地利用空間。如果我遇到任何其他並發症,我會為他們創建一個新問題,並認為這個問題得到了回答。

引用自:https://serverfault.com/questions/1023185