ZFS 是一個組合的文件系統和邏輯捲管理器,它提供具有數據完整性和簡化存儲管理的類似 RAID 的功能。它可以存儲和管理大量數據。它最初由 Sun Microsystems 創建,現在是 OpenZFS 項目的一部分。它目前正被移植到其他操作系統,如 FreeBSD、Linux 和 Mac OSX。 ZFS 存儲池可以處理大量數據,為擴展本地雲提供解決方案。
本文將向您展示如何安裝 ZFS 和設置 ZFS 存儲池。但在我們繼續之前,讓我們來看看它的特點。
ZFS 的特點
ZFS 的一些特性包括:
- 匯集存儲
- 開源
- 寫時復制
- 加密
- 快照
- 持續的完整性檢查
- 高效的數據壓縮
- 數據完整性驗證和自動修復
本文中描述的過程是使用 Ubuntu 18.04 LTS 演示的。
在 Ubuntu 上安裝 ZFS
要在 Ubuntu 18.04 LTS 上安裝 ZFS, Ctrl+Alt+T 然後輸入以下命令:
$ sudo apt install zfsutils-linux
請稍等片刻,直到安裝完成。
要檢查您的安裝,請在終端中運行以下命令:
$ whereis zfs
您應該會看到類似於以下內容的輸出:
創建 ZFS 存儲池
安裝後,創建一個驅動器池。 創建 ZFS 存儲池的第一步是了解要創建的池的類型。接下來,決定將哪些驅動器包含在存儲池中。
1. 選擇 ZFS 池類型
您可以創建兩種類型的池:
條紋池
條帶池將您的數據副本存儲在每個驅動器上。結合存儲以獲得更快的讀/寫速度。但是,如果一個驅動器發生故障,所有數據都將丟失。
鏡像池
鏡像池在每個驅動器上存儲數據的完整副本。 即使一個驅動器發生故障,您仍然可以訪問您的數據。
2. 選擇要池化的驅動器
現在您需要確定哪些驅動器可用於在您的系統上進行池化。要找到您的驅動器,請在終端中運行以下命令:
$ sudo fdisk –l
請注意 fdisk 命令輸出中的驅動器名稱。它們應該具有 sda、sdb、sdc 之類的名稱。
在這種情況下可以使用兩個驅動器:sdb 和 sdc。使用這兩個驅動器創建一個存儲池。
3.創建一個池
一旦確定了池類型和需要池化的驅動器,下一步就是使用 Linux 中可用的 zpool 命令,該命令用於在 ZFS 中配置存儲池,從上述驅動器集中進行池化。創造
要創建條帶池,請在終端中運行以下命令:
$ sudo zpool create <pool_name> <drive1> <drive2>
要創建鏡像池,請在終端中運行以下命令:
$ sudo zpool <pool_name> mirror <drive1> <drive2>
您可以根據存儲要求創建任何池。使用上述命令創建鏡像池。
創建池後,您可以使用以下命令檢查 zpool 的詳細狀態。
# zpool status
要查看池狀態和空間使用情況,請在終端中使用以下命令:此命令還顯示為存儲池選擇的磁盤。以後可以添加額外的驅動器以獲得更大的冗餘。
$ zpool list
現在跑步 df-h,可以看到新創建的池是自動掛載到掛載點上的。
我們剛剛創建的池大小為 1.9 G,並安裝在默認安裝點上。 / 新池如有必要,您可以使用以下語法更改安裝點。
$ sudo zfs set mountpoint=<path> <pool_name>
例如,我想設置 /usr/share/池 作為新的掛載點。為此,請使用以下命令:
$ sudo zfs set mountpoint=/usr/share/pool new-pool
要驗證安裝點是否已成功更改,請使用: df-h 命令
從上面的結果我們可以看出掛載點已經成功的換成了新的掛載點。 /usr/share/池..
現在創建了存儲池,創建數據集並將所有內容存儲在這些數據集中。這些數據集就像目錄並具有掛載點。
要創建數據集,請在終端中運行以下命令:
$ sudo zfs create <pool_name>/directory_name
例如,我想創建一個名為 文件 在我的存儲池下。使用命令:
$ sudo zfs create new-pool/docs
剛剛創建的數據集自動掛載名稱 /newpool/文檔 在掛載點 /usr/share/池 我們可以用 df-h 命令。
$ df -h
刪除 ZFS 池
如果要刪除池,可以使用 zpool destroy 命令,如下所示:
# zpool destroy pool_name
這就是在 Ubuntu 18.04 LTS 上設置 ZFS 存儲池所需的全部內容。現在您可以開始將文件保存到新創建的池中。這是處理大量存儲時使用的強大而強大的文件系統。