The ZFS Filesystem
The ZFS Filesystem
COSCUP 2019
Community Documentation
• Friendly and professional • FreeBSD Handbook, FAQ,
• Many active contributors and Developers’ Handbook, Porters’
committers for 10+ and even 20+ Handbook, Unix manual pages
years (and longer)
Licence
Mentoring • 2-clause BSD licence
• Built into the Project’s culture and • Does not restrict what you can do
processes with your own code!
History of ZFS
• Disks
• Controllers
• Cables
• Firmware
• Device drivers
• Non-ECC memory
Disk block checksums
• No partitions required
• Storage pool grows automatically
• All I/O bandwidth is always
available
• All storage in the pool is shared
Copy-on-write transactions
2. Filesystems: zfs
• Quotas, reservations, etc.
• Compression and deduplication
• Snapshots and clones
• atime, readonly, etc.
Self-healing data
Demo
Traditional mirroring
Self-healing data in ZFS
Self-healing data demo
Store some important data (1/2)
• We have created a # zfs list tank
NAME USED AVAIL REFER MOUNTPOINT
redundant pool with two tank 74K 984G 23K /tank
mirrored disks and stored # cp -a /some/important/data/ /tank/
some important data on it
# zfs list tank
NAME USED AVAIL REFER MOUNTPOINT
tank 3.23G 981G 3.23G /tank
• We will be very sad if the
data gets lost! :-(
Self-healing data demo
Store some important data (2/2)
# zpool status tank
pool: tank
state: ONLINE
scan: none requested
config: