ZFS Overview
description
Transcript of ZFS Overview
ZFS The Last Word In File Systems
Jeff Bonwick Bill Moore
(modifed by yupu for CS537)
Trouble with Existing Filesystems
ZFS Objective
End the Suffering
ZFS Overview
FS/Volume Model vs. Pooled Storage
Volume
FS
Volume
FS
Volume
FS
FS/Volume Model vs. Pooled Storage
Storage PoolVolume
FS
Volume
FS
Volume
FS ZFS ZFS ZFS
Copy-On-Write
Transactional Object System
Trends in Storage Integrity
End-to-End Data Integrity in ZFS
DataChecksum
DataChecksum
End-to-End Data Integrity in ZFSDisk Block Checksums
Checksum stored with data blockAny self-consistent block will passCan't detect stray writesInherent FS/volume interface limitation
DataChecksum
DataChecksum
Address
Disk checksum only validates mediaBit rotPhantom writesMisdirected reads and writesDMA parity errorsDriver bugsAccidental overwrite
• • •
End-to-End Data Integrity in ZFSDisk Block Checksums
Checksum stored with data blockAny self-consistent block will passCan't detect stray writesInherent FS/volume interface limitation
Data Data
AddressChecksum Checksum
Address
DataChecksum
DataChecksum
ZFS Data AuthenticationChecksum stored in parent block pointer
Fault isolation between data and checksum
Checksum hierarchy formsself-validating Merkle tree
ZFS validates the entire I/O pathBit rotPhantom writesMisdirected reads and writesDMA parity errorsDriver bugsAccidental overwrite
AddressChecksum Checksum
Address
Disk checksum only validates mediaBit rotPhantom writesMisdirected reads and writesDMA parity errorsDriver bugsAccidental overwrite
• • •
End-to-End Data Integrity in ZFSDisk Block Checksums
Checksum stored with data blockAny self-consistent block will passCan't detect stray writesInherent FS/volume interface limitation
Data Data
AddressChecksum Checksum
Address
DataChecksum
DataChecksum
ZFS Data AuthenticationChecksum stored in parent block pointer
Fault isolation between data and checksum
Checksum hierarchy formsself-validating Merkle tree
ZFS validates the entire I/O pathBit rotPhantom writesMisdirected reads and writesDMA parity errorsDriver bugsAccidental overwrite
AddressChecksum Checksum
Address
Disk checksum only validates mediaBit rotPhantom writesMisdirected reads and writesDMA parity errorsDriver bugsAccidental overwrite
• • •
Ditto Blocks
Creating Pools and Filesystems
# zpool create tank mirror c2d0 c3d0
# zfs create tank/home# zfs set mountpoint=/export/home tank/home
# zfs create tank/home/ahrens# zfs create tank/home/bonwick# zfs create tank/home/billm
# zpool add tank mirror c4d0 c5d0