zfs in der theorie
quick overview of the major zfs features
guiding principles
- Pooled storage
- Completely eliminates the antique notion of volumes
- Does for storage what VM did for memory
- Transactional Object System
- Always consistent on disk - no fsck, ever
- Provable end-to-end data integrity
- Detects and corrects silent data corruption
- Simple administration
- Concisely express your intent
objective - end the suffering
- Figure out why storage has gotten so complicated
- Blow away 20 years of obsolete assumtions
- Design an integrated system from scratch
FS/Volume Model vs. pooled storage
Feature | traditional volumes | zfs pooled storage |
---|---|---|
Abstraction | virtual disk | malloc/free |
Partition/volume | one for each filesystem | No partitions to mange |
Grow/shrink | manually | automatically |
Bandwidth | limited to volume | all bandwith always available |
Storage Fragmentation | stranded | shared amongst the whole pool |
self-healing data
- application issues a read and the checksum reveals that the block is corrupt on disk
- zfs tries the next disk and checksum indicates that the block is good
- zfs returns good data to the application and repairs the damaged block
end-to-end data integrity
zfs data integrity through end to end checksumming of data
error | regular checksumming | zfs checksumming |
---|---|---|
Bit rot | detected | detected |
Phantom writes | undetected | detected |
Misdirected reads and writes | undetected | detected |
DMA parity errors | undetected | detected |
Driver bugs | undetected | detected |
Accidental overwrite | undetected | detected |
other cool features
Source
15.05.2018 - OpenZFS Basics
- George Wilson - gwilson@delphix.com
- Matt Ahrens - mahrens@delphix.com
https://peertube.satoshishop.de/w/wx39qv97m16rpofQvkbZwe
00:00:00 Introduction
00:02:50 ZFS Guiding Principles
00:04:37 FS/Volume Model vs. Pooled Storage
00:07:22 filesystem layout (SPA, DMU, ZPL/ZVOL)
00:10:36 SPA (storage pool allocator) manages blockpointers
00:13:04 copy-on-write (always writes new data. never overwrites old)
00:15:41 128-byte block pointer
00:26:02 self-healing data
00:27:07 end-to-end data integrity
00:28:15 ZFS Administration
00:37:09 compression, variable block size
00:38:22 ARC (adaptive replacement cache)
00:39:33 problems with traditional raid (4/5/6)
00:41:34 Raid-5 write hole
00:42:40 Raid-Z
00:45:35 snapshots and birthtime
00:48:34 zfs send/receive
00:50:34 encryption
00:52:35 deduplication
00:54:01 log/write cache
00:55:46 device removal
00:57:58 OpenZFS Community
01:01:59 other cool features
01:02:15 questions