SlideShare a Scribd company logo
File Systems:
Why, How and Where
Philip Derbeko
enSilo
2017
The Tragedy
of
FileSystems
The Tragedy of FileSystems
•Scale and scalability
•Reliability
•Recovery
•Complexity
The Tragedy of FileSystems
The Tragedy of FileSystems
•Scale and scalability
•Reliability
•Recovery
•Complexity
•Flexibility for developers
Challenges
1. Metadata performance
2. Reliability and Recovery
3. Small files performance
4. Large files performance
5. Storage Management
Components
•Block allocation
•Directory Management
•File and Directory operations
•Inode handling
•Transactions and journaling
•Superblock handling
•FS tree
•Other
Beginning –
Sequential
Sequential File System
Header:
name,
length
Footer:
Name
CRC
DATA
UNTIL …
Disk – The
king of
storage
Disk -
Anatomy
You are here
Simplest possible FS – FAT
ext2
How it is done
file
file
file
dentry
dentry
inode
inode
File attributes
Direct blocks
Direct blocks
…
Indirect
blocks
Double
Indirect
blocks
Triple
Indirect
blocks
DirectDirectDirectDirect
DirectDirectDirect
DirectDirectDirectDirect
Ext2 - fsck
•Unclean mount or mount counter
•Not everything can be solved
•Plan:
• Superblock check
• Free Blocks
• Inode sanity
• Inode links
• Duplicates
• Bad Blocks
• Directory checks
SLOW!!!
Other consistency options – Soft Updates
•Dependency Rules:
1. Never point to uninitialized structure
2. Never reuse before nullifying the pointers
3. Never reset an old pointer before a new one was set
Other
consistency
options -
COW
ext3
1. Journaling
2. Online file system growth
3. Directory indexing (not really, as was done for ext2 as well)
Ext3 - journaling
TxB TxEInode
Bit
map
WriteBack
Data
Ext3 - journaling
TxB TxEInode
Bit
map
Ordered
Data
Ext3 - journaling
TxB TxEInode
Bit
map
DataFull Journal
Data
Ext3 – Journal final comments
•Journal-assisted recovery: Redo Logging
•Commit Batching
•Journal Cleaning – mark the last checkpoint in journal superblock
•Deletes and reuse
Ext4
•Backward and forward compatible – up to a certain point
•Scalability
•“Sequentiality” improvements:
• Extent-based allocations
• Journal checksum speed up
• Delayed allocations
•Transparent Encryption
Performance Optimizations
1. Synchronization of operations (the less is the better)
2. Locality of allocations
3. I/O Scheduling
4. Scalability
5. Caching
6. Pre-fetching
New Sheriff
in town
New Features
•Snapshotting
•Versioning
•Backups
•Deduplication
•Data and meta data checksums
BTRFS (“Better FS”)
BTRFS (“Better FS”)
BTRFS (“Better FS”)
Newer is better?
FS Sizes
FS Patches (Linux 2.6 over 5079 patches)
•Maintenance (45%)
•Bugs (35%) – constant bug fixing over the life of FS
•Performance
•Reliability
•Features
FAST 2013 – “A Study of Linux File System Evolution”
Bug Consequences
•Corruption
•Crash
•Failure of operation
•Deadlock
•Hang
•Memory leak
•Other
FAST 2013 – “A Study of Linux File System Evolution”
38% of bugs are on
failure paths
frequency
“Timeline” – facts should not mess a story
Berkley
FFS
ext2
ext3
ReiserFS
ext4
ZFS
BTRFS
FAT
FAT32
NTFS
WinFS (dead)
ReFS
HFS
HFS+
APFS
What was not covered
•Shared, network, distributed and clustered file systems:
• WAFL
• AFS
• GFS and DFS
• WebDav
•Volume Management
•UnionFS (Knoppix CD+HDD, Docker layers)
The End
Keep in touch: philip@ensilo.com

More Related Content

What's hot (20)

PDF
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Anne Nicolas
 
PDF
OpenZFS - BSDcan 2014
Matthew Ahrens
 
PDF
XPDS13: VIRTUAL DISK INTEGRITY IN REAL TIME JP BLAKE, ASSURED INFORMATION SE...
The Linux Foundation
 
PDF
Status of Embedded Linux
LinuxCon ContainerCon CloudOpen China
 
PPTX
XenTT: Deterministic Systems Analysis in Xen
The Linux Foundation
 
PDF
Smb gluster devmar2013
Gluster.org
 
PDF
Linux Kernel Live Patching
GlobalLogic Ukraine
 
ODP
Gluster technical overview
Gluster.org
 
PPSX
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
PDF
OpenZFS code repository
Matthew Ahrens
 
PDF
Opensource approach to design and deployment of Microservices based VNF
Michelle Holley
 
PDF
Kernel Recipes 2015 - So you want to write a Linux driver framework
Anne Nicolas
 
ODP
20160401 Gluster-roadmap
Gluster.org
 
PDF
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
Aj MaChInE
 
PDF
Foss Gadgematics
Bud Siddhisena
 
PPT
Linux Kernel Debugging
GlobalLogic Ukraine
 
PDF
[若渴]Study on Side Channel Attacks and Countermeasures
Aj MaChInE
 
PDF
EBPF and Linux Networking
PLUMgrid
 
PDF
Sdc 2012-challenges
Gluster.org
 
PDF
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Community
 
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Anne Nicolas
 
OpenZFS - BSDcan 2014
Matthew Ahrens
 
XPDS13: VIRTUAL DISK INTEGRITY IN REAL TIME JP BLAKE, ASSURED INFORMATION SE...
The Linux Foundation
 
Status of Embedded Linux
LinuxCon ContainerCon CloudOpen China
 
XenTT: Deterministic Systems Analysis in Xen
The Linux Foundation
 
Smb gluster devmar2013
Gluster.org
 
Linux Kernel Live Patching
GlobalLogic Ukraine
 
Gluster technical overview
Gluster.org
 
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
OpenZFS code repository
Matthew Ahrens
 
Opensource approach to design and deployment of Microservices based VNF
Michelle Holley
 
Kernel Recipes 2015 - So you want to write a Linux driver framework
Anne Nicolas
 
20160401 Gluster-roadmap
Gluster.org
 
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
Aj MaChInE
 
Foss Gadgematics
Bud Siddhisena
 
Linux Kernel Debugging
GlobalLogic Ukraine
 
[若渴]Study on Side Channel Attacks and Countermeasures
Aj MaChInE
 
EBPF and Linux Networking
PLUMgrid
 
Sdc 2012-challenges
Gluster.org
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Community
 

Similar to File Systems: Why, How and Where (20)

PDF
Btrfs by Chris Mason
Terry Wang
 
PDF
Extlect03
Vin Voro
 
PPT
OracleHA.ppt
APras2
 
PDF
Advanced File Systems and Logs SYSTEM AND NETWORK ADMINISTRATION
redappleredapple123
 
PDF
Scalable and High available Distributed File System Metadata Service Using gR...
Alluxio, Inc.
 
PPT
Dueling duplications RMAN vs Delphix
Kyle Hailey
 
PPTX
Scalability
Daniel DiPaolo
 
PDF
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
degarden
 
PDF
Why btrfs is the Bread and Butter of Filesystems
degarden
 
KEY
Deployment Strategies (Mongo Austin)
MongoDB
 
PPTX
Geek Sync | Guide to Understanding and Monitoring Tempdb
IDERA Software
 
PPTX
MyHeritage backend group - build to scale
Ran Levy
 
PPTX
Bigdata and Hadoop
Girish L
 
PPTX
SQL Server 2014 Memory Optimised Tables - Advanced
Tony Rogerson
 
PDF
Workshop para diseño de Lustre para sistemas HPC
heckm
 
PPT
NYJavaSIG - Big Data Microservices w/ Speedment
Speedment, Inc.
 
PPTX
Cloud computing UNIT 2.1 presentation in
RahulBhole12
 
PDF
Introducing StorNext5 and Lattus
inside-BigData.com
 
PDF
Distributed Data processing in a Cloud
elliando dias
 
Btrfs by Chris Mason
Terry Wang
 
Extlect03
Vin Voro
 
OracleHA.ppt
APras2
 
Advanced File Systems and Logs SYSTEM AND NETWORK ADMINISTRATION
redappleredapple123
 
Scalable and High available Distributed File System Metadata Service Using gR...
Alluxio, Inc.
 
Dueling duplications RMAN vs Delphix
Kyle Hailey
 
Scalability
Daniel DiPaolo
 
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
degarden
 
Why btrfs is the Bread and Butter of Filesystems
degarden
 
Deployment Strategies (Mongo Austin)
MongoDB
 
Geek Sync | Guide to Understanding and Monitoring Tempdb
IDERA Software
 
MyHeritage backend group - build to scale
Ran Levy
 
Bigdata and Hadoop
Girish L
 
SQL Server 2014 Memory Optimised Tables - Advanced
Tony Rogerson
 
Workshop para diseño de Lustre para sistemas HPC
heckm
 
NYJavaSIG - Big Data Microservices w/ Speedment
Speedment, Inc.
 
Cloud computing UNIT 2.1 presentation in
RahulBhole12
 
Introducing StorNext5 and Lattus
inside-BigData.com
 
Distributed Data processing in a Cloud
elliando dias
 
Ad

More from Kernel TLV (20)

PDF
DPDK In Depth
Kernel TLV
 
PDF
Building Network Functions with eBPF & BCC
Kernel TLV
 
PDF
SGX Trusted Execution Environment
Kernel TLV
 
PDF
Fun with FUSE
Kernel TLV
 
PPTX
Bypassing ASLR Exploiting CVE 2015-7545
Kernel TLV
 
PDF
Present Absence of Linux Filesystem Security
Kernel TLV
 
PDF
Make Your Containers Faster: Linux Container Performance Tools
Kernel TLV
 
PDF
netfilter and iptables
Kernel TLV
 
PDF
KernelTLV Speaker Guidelines
Kernel TLV
 
PDF
Userfaultfd: Current Features, Limitations and Future Development
Kernel TLV
 
PDF
Linux Kernel Cryptographic API and Use Cases
Kernel TLV
 
PPTX
DMA Survival Guide
Kernel TLV
 
PPSX
FD.IO Vector Packet Processing
Kernel TLV
 
PPTX
WiFi and the Beast
Kernel TLV
 
PPTX
Introduction to DPDK
Kernel TLV
 
PDF
FreeBSD and Drivers
Kernel TLV
 
PDF
Specializing the Data Path - Hooking into the Linux Network Stack
Kernel TLV
 
PPTX
Linux Interrupts
Kernel TLV
 
PDF
Userfaultfd and Post-Copy Migration
Kernel TLV
 
PDF
VLANs in the Linux Kernel
Kernel TLV
 
DPDK In Depth
Kernel TLV
 
Building Network Functions with eBPF & BCC
Kernel TLV
 
SGX Trusted Execution Environment
Kernel TLV
 
Fun with FUSE
Kernel TLV
 
Bypassing ASLR Exploiting CVE 2015-7545
Kernel TLV
 
Present Absence of Linux Filesystem Security
Kernel TLV
 
Make Your Containers Faster: Linux Container Performance Tools
Kernel TLV
 
netfilter and iptables
Kernel TLV
 
KernelTLV Speaker Guidelines
Kernel TLV
 
Userfaultfd: Current Features, Limitations and Future Development
Kernel TLV
 
Linux Kernel Cryptographic API and Use Cases
Kernel TLV
 
DMA Survival Guide
Kernel TLV
 
FD.IO Vector Packet Processing
Kernel TLV
 
WiFi and the Beast
Kernel TLV
 
Introduction to DPDK
Kernel TLV
 
FreeBSD and Drivers
Kernel TLV
 
Specializing the Data Path - Hooking into the Linux Network Stack
Kernel TLV
 
Linux Interrupts
Kernel TLV
 
Userfaultfd and Post-Copy Migration
Kernel TLV
 
VLANs in the Linux Kernel
Kernel TLV
 
Ad

Recently uploaded (20)

PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Tally software_Introduction_Presentation
AditiBansal54083
 

File Systems: Why, How and Where