ZFS Overview

15
ZFS The Last Word In File Systems Jeff Bonwick Bill Moore (modifed by yupu for CS537)

description

ZFS Overview

Transcript of ZFS Overview

Page 1: ZFS Overview

ZFS The Last Word In File Systems

Jeff Bonwick Bill Moore

(modifed by yupu for CS537)

Page 2: ZFS Overview

Trouble with Existing Filesystems

Page 3: ZFS Overview

ZFS Objective

End the Suffering

Page 4: ZFS Overview

ZFS Overview

Page 5: ZFS Overview

FS/Volume Model vs. Pooled Storage

Volume

FS

Volume

FS

Volume

FS

Page 6: ZFS Overview

FS/Volume Model vs. Pooled Storage

Storage PoolVolume

FS

Volume

FS

Volume

FS ZFS ZFS ZFS

Page 7: ZFS Overview

Copy-On-Write

Page 8: ZFS Overview

Transactional Object System

Page 9: ZFS Overview

Trends in Storage Integrity

Page 10: ZFS Overview

End-to-End Data Integrity in ZFS

DataChecksum

DataChecksum

Page 11: ZFS Overview

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

• • •

Owner
Typewritten Text
Owner
Typewritten Text
Owner
Typewritten Text
Page 12: ZFS Overview

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

• • •

Page 13: ZFS Overview

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

• • •

Page 14: ZFS Overview

Ditto Blocks

Page 15: ZFS Overview

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