您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在 Linux上運行ZFS,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
ZFS是一款128bit文件系統,總容量是現有64bit文件系統的1.84×1019倍,其支持的單個存儲卷容量達到16EiB(264byte,即 16x1024x1024TB);
一個zpool存儲池可以擁有264個卷,總容量最大256ZiB(278byte);整個系統又可以擁有2^64個存儲 池。
可以說在相當長的未來時間內,ZFS幾乎不太可能出現存儲空間不足的問題。
cat /etc/os-release
登錄后復制
NAME="Ubuntu" VERSION="18.04.2 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.2 LTS" VERSION_ID="18.04"
本文中使用三塊1T的ssd固態盤進行操作,磁盤信息如下:
登錄后復制
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Disk /dev/sdd: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
說明??:本文著重對 ZFS 部署和基本使用進行詳細說明,關于ZFS的相關概念,請詳見本文最后的參考文檔鏈接~
apt install zfsutils-linux -y apt install nfs-kernel-server
在 ZFS 中,pool池相當于 RAID 。pool池的創建和使用非常的簡單和靈活,ZFS提供了很多的參數可供我們去選擇。
(1) ZFS 實現 RAID0,只需創建一個普通的池:sudo zpool create your-pool /dev/sdb /dev/sdc /dev/sdd
(2) ZFS 中使用 mirror 關鍵字來實現 RAID1 功能:sudo zpool create your-pool mirror /dev/sdb /dev/sdc
(3) ZFS 將 RAID5 功能實現為 RAIDZ1:sudo zpool create your-pool raidz1 /dev/sdb /dev/sdc /dev/sdd
(4) ZFS 將 RAID6 功能實現為 RAIDZ2:sudo zpool create your-pool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde
(5) ZFS 將 RAID6 功能實現為雙 mirror 關鍵字:sudo zpool create your-pool mirror /dev/sdc /dev/sdd mirror /dev/sde /dev/sdf
說明??:
(1)本文著重講解 ZFS 部署和基本使用,關于 RAID 相關概念和知識點,請詳見本文最后的參考文檔鏈接~
(2)使用 RAID1,磁盤的使用率只用50%;
(3)使用 RAID5 要求磁盤至少是 3 塊;
(4)RAID6 與 RAID5 幾乎完全相同,但它至少需要四塊盤;
(5)RAID10 至少需要四塊盤,但只能使用一半的空間,即磁盤使用率為50%;
主要步驟如下:
(1)查看裸盤 ID 號:ll /dev/disk/by-id/,詳細信息如下示例:
登錄后復制
wwn-0x5002498e20d23d09 -> ../../sdb wwn-0x5002498e29d76d78 -> ../../sdc wwn-0x5002498e27d45d91 -> ../../sdd
(2)創建 RAIDZ1 類的pool池
sudo zpool create -f data_ssd raidz wwn-0x5002498e20d23d09 wwn-0x5002498e29d76d78 wwn-0x5002498e27d45d91
說明??:我們可以通過df -h命令查看到 data_pool 池已經創建并掛載,截取關鍵信息如下:
data_ssd 1.8T 128K 1.8T 1% /data_ssd
有幾點信息需要注意下:
原裸盤數量是3塊,總共大小為3T,磁盤的可使用空間為2T左右。這是因為我們采用的是 RAIDZ1 (相當于RAID5);
掛載路徑 /data_ssd 無需提前創建;
(3)查看 pool 池狀態
sudo zpool status,詳細信息如下:
pool: data_ssd state: ONLINE scan: none requestedconfig:NAME STATE READ WRITE CKSUM data_ssd ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 wwn-0x5002498e20d23d09 ONLINE 0 0 0 wwn-0x5002498e29d76d78 ONLINE 0 0 0 wwn-0x5002498e27d45d91 ONLINE 0 0 0errors: No known data errors
(4)啟用 pool 池壓縮功能
zfs set compression=on data_ssd
(5)啟用 pool 池共享功能
zfs set sharenfs=on data_ssd
啟用共享功能后,ZFS 文件系統可以像 NFS 和SMB 那樣共享給遠程主機使用~
(6)查看存儲池的屬性
sudo zfs get all data_ssd,簡單列出幾行以供參考:
NAME PROPERTY VALUE SOURCE data_ssd type filesystem - data_ssd creation Thu Aug 15 7:07 2019 - data_ssd used 21.5G - data_ssd available 1.73T - data_ssd referenced 30.6K - data_ssd compre***atio 1.00x - data_ssd mounted yes - data_ssd quota none defaultdata_ssd reservation none defaultdata_ssd recordsize 128K defaultdata_ssd mountpoint /data_ssd defaultdata_ssd sharenfs on local data_ssd checksum on defaultdata_ssd compression on local
說明??:我們可以看到compre***atio和sharenfs均是可用狀態~
(7)創建 ZFS 文件系統
zfs create data_ssd/test
說明??:掛載路徑 /data_ssd/test 無需提前創建
(8)查看 ZFS 文件系統信息
zfs get all data_ssd/test
(9)關閉 ZFS 文件系統壓縮功能
zfs set compression=off data_ssd/test
(10)查看 ZFS 池和文件系統空間使用信息
zfs list`或`zfs list data_ssd/test
(11)刪除 ZFS 文件系統
zfs destroy data_ssd/test
(12)刪除 ZFS 池
zpool destroy data_ssd
查看系統上某塊盤的SN碼,如 sdc 這塊盤:hdparm -i /dev/sdc
測試關閉/啟用 ZSF 壓縮功能,磁盤讀寫速度:
time dd if=/dev/zero bs=1024000 count=100000 of=100GB.file
Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是國內發展最好的Linux發行版之一;UbuntuKylin是基于Ubuntu的衍生發行版;Manjaro是基于Arch的Linux發行版;LinuxMint默認的Cinnamon桌面類似Windows XP簡單易用;Ubuntu則是以桌面應用為主的Linux操作系統。
上述內容就是如何在 Linux上運行ZFS,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。