+ All Categories
Home > Documents > Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf ·...

Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf ·...

Date post: 07-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
28
 Chunkfs: Repair-driven file system design Val Henson [email protected] VAH Consulting
Transcript
Page 1: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Chunkfs:Repair­driven file system design

Val [email protected]

VAH Consulting

Page 2: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Fsck time is growing

Disk hardware improvements, 2006 ­ 2013

Capacity: 16.0x

Bandwidth:       5.0x

Seek time:        1.2x

  => 10x increase in fsck time!

Page 3: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Why is fsck O(file system size)?

Page 4: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Fsck optimization● xfs_repair: 75% improvemnt● e2fsck: 50% improvement● Erased in 1­2 years

Page 5: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Repair­driven file system design● On­disk format designed with repair in mind● Simple data structures● Optimizations for reading data for repair (e.g., 

metadata bitmap)● Fast, incremental file system check● Checksums, redundancy, scrubbing, etc.● Metadata isolation

Page 6: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Need fast check AND repair

Page 7: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Double allocation bug

Page 8: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Double allocation bug

Page 9: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Double allocation bug

Page 10: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

 

Chunkfs

Page 11: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Divide fs into metadata isolation groups ­ chunks

Page 12: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Page 13: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Page 14: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

How to glue it back together?

Page 15: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Problem: File data outgrows chunk

Page 16: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Solution: Continuation inodes

Page 17: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Problem: Directory outgrows chunk

Page 18: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Solution: Continuation inodes

Page 19: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Problem: Hard link to inode in full chunk

Page 20: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Solution: Continuation inodes

Page 21: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Problem: Too many continuation inodes

Page 22: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Solution: Smart allocation & sparse files

Page 23: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Problem: Quickly finding file offset

Page 24: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Solution: Embedded lookup structure in continuation inode

struct chunkfs_inode {...struct continuation_data;

}

struct continuation_data {...struct tree_node;

}

Page 25: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Implementing chunkfs● Options:

  ­ Hack into existing file systems

  ­ Layer on top of existing file systems

  ­ Design into fancy new file system ­ btrfs:

http://oss.oracle.com/projects/btrfs/

Page 26: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Demo

Page 27: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Thanks!● Funding: Intel, EMC2, VAH Consulting● Design: Arjan van de Ven, Zach Brown, 

Theodore Y. T'so● Code: Amit Gud, Karuna Sagar● Making file systems seem cool: Jeff Bonwick

Page 28: Chunkfs: Repairdriven file system designvalerieaurora.org/chunkfs/chunkfs_presentation.pdf · Repairdriven file system design Ondisk format designed with repair in mind Simple data

   

Chunkfs code, docs, etc.

http://valhenson.org/chunkfs

Q &A

[email protected]


Recommended