Top Banner
ZFS The Last Word In File Systems Jeff Bonwick Bill Moore (modifed by yupu for CS537)
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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