在 Ubuntu 19.10 上入門 ZFS 檔案系統

John Paul發表於2019-11-21

Ubuntu 19.10 的主要新特性之一就是 ZFS。現在你可以很容易的無需額外努力就可以在 Ubuntu 系統上安裝 ZFS了。

一般情況下,安裝 Linux 都會選擇 Ext4 檔案系統。但是如果是全新安裝 Ubuntu 19.10,在安裝的啟動階段可以看到 ZFS 選項。

你可以在安裝 Ubuntu 19.10 的時候選擇 ZFS

讓我們看看 ZFS 為何重要,以及如何在已經安裝了 ZFS 的 Ubuntu 上使用它。

ZFS 與其他檔案系統有哪些區別?

ZFS 的設計初衷是:處理海量儲存和避免資料損壞。ZFS 可以處理 256 千萬億的 ZB 資料。(這就是 ZFS 的 Z)且它可以處理最大 16 EB 的檔案。

如果你僅有一個單磁碟的膝上型電腦,你可以體驗 ZFS 的資料保護特性。寫時複製(COW)特性確保正在使用的資料不會被覆蓋,相反,新的資料會被寫到一個新的塊中,同時檔案系統的後設資料會被更新到新塊中。ZFS 可容易的建立檔案系統的快照。這個快照可追蹤檔案系統的更改,並共享資料塊確保節省資料空間。

ZFS 為磁碟上的每個檔案分配一個校驗和。它會不斷的校驗檔案的狀態和校驗和。如果發現檔案被損壞了,它就會嘗試修復檔案。

我寫過一個文章詳細介紹 什麼是 ZFS以及它有哪些特性。如果你感興趣可以去閱讀下。

注:請謹記 ZFS 的資料保護特性會導致效能下降。

Ubuntu 下使用 ZFS [適用於中高階使用者]

一旦你在你的主磁碟上全新安裝了帶有 ZFS 的 Ubuntu,你就可以開始體驗它的特性。

請注意所有的 ZFS 設定過程都需要命令列。我不知道它有任何 GUI 工具。

建立一個 ZFS 池

這段僅針對擁有多個磁碟的系統。如果你只有一個磁碟,Ubuntu 會在安裝的時候自動建立池。

在建立池之前,你需要為池找到磁碟的 id。你可以用命令 lsblk 查詢出這個資訊。

為三個磁碟建立一個基礎池,用以下命令:

sudo zpool create pool-test /dev/sdb /dev/sdc /dev/sdd

請記得替換 pool-test 為你選擇的的命名。

這個命令將會設定“無冗餘 RAID-0 池”。這意味著如果一個磁碟被破壞或有故障,你將會丟失資料。如果你執行以上命令,還是建議做一個常規備份。

你可以用下面命令將另一個磁碟增加到池中:

sudo zpool add pool-name /dev/sdx

檢視 ZFS 池的狀態

你可以用這個命令查詢新建池的狀態:

sudo zpool status pool-test

Zpool 狀態

映象一個 ZFS 池

為確保資料的安全性,你可以建立映象。映象意味著每個磁碟包含同樣的資料。使用映象設定,你可能會丟失三個磁碟中的兩個,並且仍然擁有所有資訊。

要建立映象你可以用下面命令:

sudo zpool create pool-test mirror /dev/sdb /dev/sdc /dev/sdd

建立 ZFS 用於備份恢復的快照

快照允許你建立一個後備,以防某個檔案被刪除或被覆蓋。比如,我們建立一個快照,當在使用者主目錄下刪除一些目錄後,然後把它恢復。

首先,你需要找到你想要的快照資料集。你可以這樣做:

zfs list

Zfs List

你可以看到我的家目錄位於 rpool/USERDATA/johnblood_uwcjk7

我們用下面命令建立一個名叫 1910 的快照:

sudo zfs snapshot rpool/USERDATA/johnblood_uwcjk7@1019

快照很快建立完成。現在你可以刪除 DownloadsDocuments 目錄。

現在你用以下命令恢復快照:

sudo zfs rollback rpool/USERDATA/johnblood_uwcjk7@1019

回滾的時間長短取決於有多少資訊改變。現在你可以檢視家目錄,被刪除的目錄(和它的內容)將會被恢復過來。

要不要試試 ZFS ?

這篇文章僅簡單介紹的 Ubuntu下 ZFS 的用法。更多的資訊請參考 Ubuntu 的 ZFS Wiki頁面。我也推薦閱讀 ArsTechnica 的精彩文章

這個是試驗性的功能。如果你還不瞭解 ZFS,你想用一個簡單穩定的系統,請安裝標準檔案系統 EXT4。如果你想用閒置的機器體驗,可以參照上面瞭解 ZFS。如果你是一個“專家”,並且知道自己在做什麼,則可以隨時隨地隨意嘗試ZFS。

你之前用過 ZFS 嗎?請在下面留言。


via: https://itsfoss.com/zfs-ubuntu/

作者:John Paul 選題:lujun9972 譯者:guevaraya 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

know in the comments below. If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.


via: https://itsfoss.com/zfs-ubuntu/

作者:John Paul 選題:lujun9972 譯者:譯者ID 校對:校對者ID

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章