Unix下終極文件系統ZFS在Linux下的使用詳解

Linux UNIX FreeBSD NetBSD IT吧AnyTopOne 2017-05-09

Unix下終極文件系統ZFS在Linux下的使用詳解

ZFS簡述:

ZFS由Sun公司開發,誕生於2004年9月14日,是第一個128位文件系統,總容量是現有64位文件系統的1.84x10^19倍,支持的單個存儲卷容量達到16EiB(2^64byte,即 16x1024x1024TB);一個存儲池可以擁有2^64個卷,總容量最大256ZiB(2^78byte);整個系統又可以擁有2^64個存儲池。可以說ZFS幾乎不太可能出現存儲空間不足的問題。另外,它還擁有自優化,自動校驗數據完整性,存儲池/卷系統易管理等諸多優點。

ZFS的優勢:

1、寫時拷貝事務模型技術和校驗和技術可以保證數據完整性、數據一致性

2、多個存儲驅動器可以組成一個動態可擴展的存儲池,方便管理

3、支持RAID功能和鏡像功能

4、支持邏輯卷管理功能,類似於LVM功能

5、支持快照和克隆功能,且快照備份更加快捷、方便

6、支持壓縮功能,可以節約空間大小

7、支持的容量無限制,幾乎不太可能出現存儲空間不足的問題

8、可以動態條帶化所有設備以最大化吞吐量,負載在每個磁盤平攤

9、支持可變大小的塊設置,可以根據自身具體情況最大化優化讀寫性能

10、支持配額大小限制設置

11、支持多個操作系統,例如:Solaris、FreeBSD、Mac OS X Server、NetBSD、Linux等

ZFS相關概念:

1、Pool:多個存儲驅動器組成的邏輯分組,即存儲池

2、Datasets:ZFS的文件系統、克隆、快照和卷都被稱為數據集

3、Mirror:一份數據兩個以上副本的備份

4、Resilvering:恢復設備時將數據從一個磁盤複製到另一個磁盤的過程,即數據同步

5、Scrub:擦除用於一致性檢驗,類似於fsck的處理

一、CentOS 6.x 系列安裝ZFS

1、下載及安裝epel,wget --no-check-certificate http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm;

Unix下終極文件系統ZFS在Linux下的使用詳解

2、安裝zfs,yum install zfs-fuse -y;

Unix下終極文件系統ZFS在Linux下的使用詳解

3、創建5個虛擬磁盤,dd if=/dev/zero of=disk1.img bs=64M count=1;losetup /dev/loop0 ./disk1.img

/dev/loop0、/dev/loop1、/dev/loop2、/dev/loop3、/dev/loop4

Unix下終極文件系統ZFS在Linux下的使用詳解

二、常用ZFS的操作

1、創建ZFS池,zpool create testpool raidz /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3;zfs list

Unix下終極文件系統ZFS在Linux下的使用詳解

2、查看存儲池的屬性,zfs get all testpool

Unix下終極文件系統ZFS在Linux下的使用詳解

3、啟用壓縮功能,默認是關閉的,zfs create testpool/dev1;zfs list;zfs set compression=on testpool/dev1;zfs get all testpool/dev1

Unix下終極文件系統ZFS在Linux下的使用詳解

4、查看儲存池的狀態,zpool status testpool

Unix下終極文件系統ZFS在Linux下的使用詳解

5、模擬 /dev/loop3 磁盤損壞且更換新磁盤 /dev/loop4,整個期間不影響用戶正常應用,

損壞磁盤:dd if=/dev/zero of=disk4.img bs=64M count=1

清理並檢查儲存池:zpool scrub testpool

替換損壞的磁盤:zpool replace testpool /dev/loop3 /dev/loop4

Unix下終極文件系統ZFS在Linux下的使用詳解

Unix下終極文件系統ZFS在Linux下的使用詳解

6、儲存池添加新磁盤作為raidz的spare盤,zpool add testpool spare /dev/loop5

Unix下終極文件系統ZFS在Linux下的使用詳解

7、查看儲存池IO統計信息,zpool iostat -v testpool

Unix下終極文件系統ZFS在Linux下的使用詳解

8、查看儲存池默認的掛載點,默認掛載點是以根 / 開始的,可以用 zfs umount -a;zfs set mountpoint=/zfstest/dev1 testpool/dev1;zfs mount -a 更改默認掛載點

Unix下終極文件系統ZFS在Linux下的使用詳解

9、創建快照及回滾快照,zfs snapshot testpool/dev1@2017-05-08;zfs rollback testpool/dev1@2017-05-08

Unix下終極文件系統ZFS在Linux下的使用詳解


作者簡介:

AnyTopOne 是一個開源軟件(Free and Open-Source Software) 愛好者,先後從事Linux系統管理、程序開發、大規模平臺架構設計、團隊管理等工作,從業經驗13年有餘,具有豐富的IT行業從業經驗,喜歡與其大家乾貨經驗分享與交流。

作者:AnyTopOne

本文由 AnyTopOne 原創編輯

相關推薦

推薦中...