ZFS通常被資料囤積者、NAS愛好者和其他喜歡信任自己的冗餘儲存系統而不是雲的極客使用。它是一個很好的檔案系統,可用於管理多個磁碟的資料和競爭對手的一些最偉大的RAID設定。
肯尼·路易攝。
Z檔案系統是一個免費的開源邏輯卷管理器,由sunmicrosystems構建,用於Solaris作業系統。它的一些最吸引人的功能包括:
無限的可擴充套件性
好吧,從技術上講,它不是無止境的,但它是一個128位的檔案系統,能夠管理zettabytes(十億兆兆位元組)的資料。不管你有多少硬碟空間,ZFS都適合管理它。
最大完整性
在ZFS中所做的一切都使用校驗和來確保檔案的完整性。您可以放心,您的檔案及其冗餘副本不會遇到靜態資料損壞。另外,當ZFS忙於安靜地檢查資料的完整性時,它會在任何可能的時候進行自動修復。
驅動器池
ZFS的建立者希望您將其視為類似於計算機使用RAM的方式。當你的電腦需要更多的記憶體時,你再放一根棍子就行了。與ZFS類似,當您需要更多的硬碟空間時,您可以放入另一個硬碟,這樣就完成了。無需花費時間對磁碟進行分割槽、格式化、初始化或其他操作—當您需要更大的儲存“池”時,只需新增磁碟即可。
突襲
ZFS能夠實現許多不同的RAID級別,同時提供與硬體RAID控制器相當的效能。這使您可以節省資金,使安裝更容易,並可以訪問ZFS改進的高階RAID級別。
由於本指南中只介紹了基本內容,因此我們不打算將ZFS安裝為根檔案系統。本節假設您使用的是ext4或其他檔案系統,並且希望將ZFS用於某些輔助硬碟驅動器。下面是在一些最流行的Linux發行版上安裝ZFS的命令。
Solaris和FreeBSD應該已經安裝了ZFS並可以使用了。
烏班圖:
$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs
Debian公司:
$ su - # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs
RHEL/中心:
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs
如果你有其他發行版,請檢視zfsonlinux.org並單擊“軟體包”列表下的發行版以獲取有關如何安裝ZFS的說明。
在繼續本指南時,我們將使用Ubuntu,因為它似乎是Linux極客的首選。無論發生什麼,您都應該能夠跟隨,因為ZFS命令不會在不同的發行版之間更改。
安裝需要相當長的時間,但一旦安裝完成,請執行$sudo zfs list以確保安裝正確。您應該得到如下輸出:
我們現在使用的是新安裝的Ubuntu伺服器,只有一個硬碟。
現在,假設我們又在電腦裡放了六個硬碟。
$sudo fdisk-l | grep Error將顯示我們剛剛安裝的六個硬碟驅動器。它們目前不可用,因為它們不包含任何型別的分割槽表。
正如我們前面提到的,ZFS的一個優點是我們不需要為分割槽而煩惱(儘管如果您願意的話可以)。讓我們從三個硬碟開始,透過執行以下命令將它們放入儲存池:
$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd
zpool create是用於建立新儲存池的命令,-f覆蓋發生的任何錯誤(例如,如果磁碟已經有關於它們的資訊),geek1是儲存池的名稱,/dev/sdb/dev/sdc/dev/sdd是我們放入池中的硬碟驅動器。
建立池後,應該可以使用df命令或sudo zfs list檢視池:
如您所見,/geek1已經安裝好,可以使用了。
如果要檢視為池選擇了哪三個磁碟,可以執行sudo zpool status:
到目前為止,我們所做的是建立一個9 TB的動態條帶池(實際上是RAID 0)。如果您不熟悉這意味著什麼,請設想我們在/geek1上建立了一個3kb的檔案。1 KB將自動轉到sdb,1 KB轉到sdc,1 KB轉到sdd。然後,當我們去讀取3KB的檔案時,每個硬碟驅動器將向我們呈現1KB,將三個驅動器的速度結合起來。這使得寫入和讀取資料的速度很快,但也意味著我們有一個單一的故障點。如果只有一個硬碟出現故障,我們將丟失3KB的檔案。
假設保護資料比快速訪問資料更重要,讓我們看看其他流行的設定。首先,我們將刪除已建立的zpool,以便在更冗餘的設定中使用這些磁碟:
$ sudo zpool destroy geek1
砰,我們的游泳池不見了。這次,讓我們使用三個磁碟來建立一個RAID-Z池。RAID-Z基本上是raid5的一個改進版本,因為它透過使用copy-on-write避免了“寫洞”。RAID-Z至少需要三個硬碟驅動器,在某種程度上是RAID 0和RAID 1之間的折衷方案。在RAID-Z池中,您仍然可以獲得塊級條帶化的速度,但也可以使用分散式奇偶校驗。如果池中有一個磁碟死亡,只需更換該磁碟,ZFS就會根據其他磁碟的奇偶校驗資訊自動重建資料。要丟失儲存池中的所有資訊,必須有兩個磁碟死亡。為了使事情更加冗餘,可以使用raid6(在ZFS的情況下使用RAID-Z2)和雙奇偶校驗。
為此,我們可以使用與前面相同的zpool create命令,但在池的名稱後指定raidz:
$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd
如您所見,df-h顯示我們的9tb池現在已經減少到6tb,因為3tb被用來儲存奇偶校驗資訊。透過zpool status命令,我們看到我們的池與以前基本相同,但現在使用的是RAID-Z。
為了說明向儲存池中新增更多磁碟是多麼容易,讓我們將另外三個磁碟(另外9 TB)作為另一個RAID-Z配置新增到geek1儲存池中:
$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg
我們的結局是:
我們幾乎沒有觸及ZFS及其功能的表面,但是使用本文中的知識,您現在應該能夠建立資料的冗餘儲存池了。回頭看看我們未來關於ZFS的文章,看看手冊頁,搜尋關於ZFS功能的無數利基指南和Youtube影片。
你懂檔案傳輸嗎?他們身上有一股神奇的氣息。我記得在Windows上,我會看著進度條以自己的速度填滿。這個視窗將提供一個時間估計值,它會上下波動,似乎與我們的線性時間概念無關。一批音樂專輯可能需要5分鐘的時間來複...
...是,可以安裝多少個驅動器會帶來成本。甚至unRAID選擇的檔案系統也與FreeNAS有很大的不同。 ...
...用linuxdf命令,您可以很容易地詢問系統有關磁碟空間和檔案大小的詳細資訊。下面的12個df命令示例將向您展示如何。 ...
... 一個顯著的變化是隱藏在“高階特性”對話方塊中。ZFS檔案系統安裝選項的旁邊不再有大寫字母“Experimental”一詞。必須在Canonical內部建立信心,以確保其ZFS實現作為日常驅動程式檔案系統的永續性和就緒性。 安裝ubuntu20.10並...
...驅動器合併到單個邏輯驅動器中。 第二種選擇是使用ZFS檔案系統。這被貼上了“實驗性”的標籤,在所有的大寫字母中都是如此,而且不應該用在對重要系統的憤怒中。它越來越穩定了。以前,這些選項位於“安裝型別”對話...
...挖個洞。你可以像剝洋蔥一樣剝Linux。 ls將向您顯示有關檔案的大量資訊,例如對其設定了哪些許可權、檔案的大小以及檔案是檔案還是符號連結。為了顯示這個資訊,ls從一個叫做inode的檔案系統結構中讀取它。 每個檔案和目...
...的Linux核心、更快的啟動時間、更新的主題和實驗性的ZFS檔案系統支援。無論您是否升級,Ermine都會向您展示下一個將於2020年4月釋出的LTS版本。 你應該升級嗎? Ubuntu19.10可在今天2019年10月17日下載。升級不是強制性的事實上,...
必須先建立檔案系統,然後才能使用連線到Linux計算機的任何資料儲存裝置。學習如何使用mkfs和其他實用程式來為各種檔案系統實現這一點。我們教你怎麼做。 mkfs**檔案系統 mkfs命令生成檔案系統。在其他作業系統上,建立檔...
...較舊的作業系統CP/M轉到MS-DOS。它們提供了一種訪問包含檔案的邏輯和物理儲存裝置的方法。訪問名為自述檔案.TXT在第二個軟盤驅動器上,只需鍵入B:自述檔案.TXT. 命令列上顯然需要驅動器號。如果沒有驅動器號,如何快速指定...
撕碎舊資料檔案的原因與撕碎舊紙質文件的原因相同。我們將告訴您有關安全刪除Linux檔案的需要了解的內容。本教程介紹了shred命令和secure delete實用程式套件。 刪除的檔案通常是可恢復的 刪除一個檔案實際上並不會將其從硬...