Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a...
Transcript of Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a...
![Page 1: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/1.jpg)
Copyright 2014 FUJITSU LIMITED
BtrfsCurrent Status and Future Prospects
Oct 13 2014Satoru Takeuchi <[email protected]>
Fujitsu LTD.
![Page 2: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/2.jpg)
Copyright 2014 FUJITSU LIMITED
Background
Core Features
Developments Statistics
Future Prospects
Agenda
1
![Page 3: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/3.jpg)
Copyright 2014 FUJITSU LIMITED
Background
Core Features
Developments Statistics
Future Prospects
Agenda
2
![Page 4: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/4.jpg)
Copyright 2014 FUJITSU LIMITED
Fujitsu has developed Btrfs for Mission Critical (MC) systems since 2010
Requirements of MC systems
High robustness
• Don’t crash: data duplication
• Error detection: checksum
• Repair, recovery: snapshot, backup/restore, repairing tools
High availability: Should work 365days/24h
• Limited maintenance time: enlarge storage size and backup online
Btrfs is designed for such the requirements
Background
3
![Page 5: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/5.jpg)
Copyright 2014 FUJITSU LIMITED
Background
Core Features
Developments Statistics
Future Prospects
Agenda
4
![Page 6: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/6.jpg)
Copyright 2014 FUJITSU LIMITED
Multi-volumes
Copy-on-Write Style Update
Data/Metadata Checksum
Subvolume
Snapshot
Transparent Compression
Core Features
5
![Page 7: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/7.jpg)
Multi-volumes
Btrfs file system can consists of multiple volumes
Low layered and low overhead than LVM
Many features: RAID, online {add/remove/replace} devices
Copyright 2014 FUJITSU LIMITED
VFS
File system
(XFS, ext4 and so on)
LVM
Block device
VFS
Block device
Btrfs
XFS or ext4 + LVM Btrfs
# mkfs.btrfs /dev/sd{a,b,c}1
6
![Page 8: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/8.jpg)
Copy-on-Write(CoW) style update
Btrfs uses CoW style data/metadata update Safer than overwrite style update by design
Overwrite style: Update the data in place
CoW style: Copy, update, and replace pointer
Copyright 2014 FUJITSU LIMITED
file
data
file
data
file
data
file
data
file
data data
file
data data
file
data
7
Will be deleted later
System crash => data keep consistency
System crash => data become inconsistent
![Page 9: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/9.jpg)
CoW versus Overwrite
1,000 surprising power failure test Linux File System Analysis for IVI system, Mitsuharu Ito, Fujitsu
http://events.linuxfoundation.jp/sites/events/files/slides/linux_file_system_analysis_for_IVI_systems.pdf
Result
Ext4: Metadata was corrupted
Btrfs: Worked fine without any problem
In my internal similar testing, XFS corrupted too.
Copyright 2014 FUJITSU LIMITED8
![Page 10: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/10.jpg)
Copyright 2014 FUJITSU LIMITED
Btrfs has checksum for each data/metadata extent to detect and repair the broken data
When Btrfs reads a broken extent, it detects checksum inconsistency
With mirroring: RAID1/RAID10
• Read a correct copy
• Repair a broken extent with a correct copy
Without mirroring
• Dispose a broken extent and return EIO
With “btrfs scrub”, Btrfs traverses all extents and fix incorrect ones
Online background job
Data/Metadata Checksum
9
![Page 11: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/11.jpg)
Subvolume
A subvolume is a file system inside file system
Can be treated as a file system root
• Mountable: most mount options are shared
• Own inode namespace and quota limit
Efficient: Available space is shared
Copyright 2014 FUJITSU LIMITED
/
sub
10
# btrfs subvolume create sub
![Page 12: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/12.jpg)
Snapshot
Copy of a subvolume
Far faster than LVM
• Not a full copy, but only update metadata in CoW style
Readonly snapshot: with –r option
Incremental snapshot: snapshot of snapshot
Copyright 2014 FUJITSU LIMITED
snapsub
2
22
22 2
# btrfs subvolume snapshot [-r] ./sub ./snap
A B C
11
sub
1
11
11 1
A B C
Reference count
snapsub
1
12
12 2
A B C C’
1
1
1
Capture a snapshot Update data C in a snapshot
![Page 13: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/13.jpg)
Performance of Snapshot: Btrfs versus LVM
1. Copy the following data to a volume
Consists of 100 directories and 100 files for each directory
• File size: 1MB
2. Capture a snapshot of the volume
Copyright 2014 FUJITSU LIMITED12
Hardware Environment Software Environment
• PRIMERGY RX300 S6
• CPU: Intel Xeon X5690
3.47GHz x12 core
• Memory: 16GiB
• Storages: 100GB HDD x 2
• Red Hat Enterprise Linux 7.0
• File systems
• Btrfs
• Data/metadata: RAID1
• Other options: default
• XFS: default options
• Volume manager for XFS
• dm-thinp: chunksize is 256KiB
• LVM: RAID1
![Page 14: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/14.jpg)
Result
Copy: Btrfs > LVM >>> dm-thinp
Snapshot: Btrfs > dm-thinp >>> LVM
Copyright 2014 FUJITSU LIMITED13
Volume type Copy Snapshot
Without page cache With page cache
Btrfs 106s 0.126s 11.7s
XFS on dm-thinp 209s 0.260s 15.5s
XFS on LVM 133s 1.03s 45.2s
![Page 15: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/15.jpg)
Transparent compression
Automatically compress/expand file data on I/O
Low space consumption and high I/O performance
• Need some extra CPU time
Usage: mount -o compress={lzo,zlib} <device> <mnt point>
• Can also be enabled/disabled for each file
Copyright 2014 FUJITSU LIMITED14
compress/expandsystem
storage
Page cache
without compression with compression
![Page 16: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/16.jpg)
Copyright 2014 FUJITSU LIMITED
Background
Core Features
Developments statistics
Future Prospects
Agenda
15
![Page 17: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/17.jpg)
Copyright 2014 FUJITSU LIMITED
Patch statistics
Performance
Summary
Developments statistics
16
![Page 18: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/18.jpg)
Patch Statistics
17 Copyright 2014 FUJITSU LIMITED
![Page 19: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/19.jpg)
Patch Statistics: Tips of v3.17
18 Copyright 2014 FUJITSU LIMITED
Rejected by Linus
![Page 20: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/20.jpg)
Patch statistics: Main changes
19 Copyright 2014 FUJITSU LIMITED
Inode properties
offline dedup
Improve sync write ~60%
RAID5/6
replace subcommand
quota
send/receive
btrfsck
repair
auto defrag
scrub
Inode propertiesImprove error handling
Inode properties
![Page 21: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/21.jpg)
Fujitsu’s contribution
20 Copyright 2014 FUJITSU LIMITED
• btrfsck, error handling
• fast {random/async} write
• LZO compression
• read only snapshot
• random Bug fixes
• enrich xfstests
![Page 22: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/22.jpg)
Copyright 2014 FUJITSU LIMITED
Fujitsu’s contribution: btrfs-progs
21
• fsck
• error handling
• random bug fixes
• enrich xfstests
• documentation
![Page 23: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/23.jpg)
Performance measurement
22 Copyright 2014 FUJITSU LIMITED
Hardware Environment Software Environment
• PRIMERGY TX300 S6• CPU: Xeon x5670 x 2
• 12 core
• HT is disabled
• Memory: 4GB
• HDD: 300GB x 1
• MegaRAID SAS,
HITACHI
HUS156030VLS600
• Benchmark software: filebench
• Kernel: 3.14.11, 3.15.4, 3.16.3, and 3.17-rc2• I/O scheduler: deadline
• File systems: Btrfs(single volume), XFS, and
ext4
• default mkfs options and mount options
![Page 24: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/24.jpg)
Copyright 2014 FUJITSU LIMITED
The result: Compare with other file systems
23
Kernel version: v3.17-rc2
![Page 25: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/25.jpg)
The result: Compare with old Btrfses
24 Copyright 2014 FUJITSU LIMITED
![Page 26: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/26.jpg)
VFS has also improved performance
25 Copyright 2014 FUJITSU LIMITED
Accomplished by VFS layer performance enhancement
![Page 27: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/27.jpg)
Summary
Ready to use without RAID5/6
Performance: OK
Stability: OK
• # of new features has decreased
• Test coverage has increased
Features: almost OK
• RAID5/6: Lack of scrub and replace subcommands
RAID1 and RAID10 are the best choice Especially safe and stable
26 Copyright 2014 FUJITSU LIMITED
![Page 28: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/28.jpg)
Copyright 2014 FUJITSU LIMITED
Background
Core Features
Developments statistics
Future Prospects
Agenda
27
![Page 29: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/29.jpg)
Future Prospects: Fujitsu’s plan
RAID 5/6 enhancement
Add scrub and replace subcommands
• We’re testing patches now and will post it to linux-btrfs ML soon
Add five tests for these features to xfstests
Further enhancement of robustness and performance
Repairing tools and so on
Education and documents for this purpose
Operation know-how
• Btrfs operations are different from other file systems
• e.g. Btrfsの基礎 part1 機能編(It’s in Japanese. Now translating to English…)
http://www.slideshare.net/fj_staoru_takeuchi/btrfs-part1
File system structure
Code logicCopyright 2014 FUJITSU LIMITED28
![Page 30: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/30.jpg)
Future Prospects: Btrfs users are increasing
Will be used by OpenSuSE13.2 as its default
Supported by Ubuntu
Available with RHEL7 as tech-preview
Will be used for In Vehicle Infortaiment(IVI) system Linux File System Analysis for IVI system, Mitsuharu Ito, Fujitsu
http://events.linuxfoundation.jp/sites/events/files/slides/linux_file_system_analysis_for_IVI_systems.pdf
Copyright 2014 FUJITSU LIMITED29
![Page 31: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/31.jpg)
Conclusion
Please try Btrfs
It’s ready to use
RAID1/10 are the best choice
RAID5/6 need some more work
Recommend the newest stable kernel
30 Copyright 2014 FUJITSU LIMITED
![Page 32: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/32.jpg)
References
Linux File System Analysis for IVI system, MitsuharuIto, Fujitsu
http://events.linuxfoundation.jp/sites/events/files/slides/linux_file_system_analysis_for_IVI_systems.pdf
Btrfsの基礎 part1 機能編http://www.slideshare.net/fj_staoru_takeuchi/btrfs-part1
Linux-btrfs [email protected]
Btrfs wikihttps://btrfs.wiki.kernel.org/index.php/Main_Page
31 Copyright 2014 FUJITSU LIMITED
![Page 33: Btrfs Current Status and Future Prospects - Fujitsu...sub snap 1 2 1 2 1 A B C C’ 1 1 1 Capture a snapshot Update data C in a snapshot Performance of Snapshot: Btrfs versus LVM 1.](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f44493bb98b3873784cc74c/html5/thumbnails/33.jpg)
Copyright 2014 FUJITSU LIMITED32