Describe the following information.
- Background (Why Fujitsu has contributed to Btrfs)
- Introduction to core features
- Development statistics
- Future prospects
This slide is almost the same as my presentation at LinuxCon Europe 2014. The difference is just minor fixes.
4. Copyright 2014 FUJITSU LIMITED
Fujitsu has developed Btrfsfor 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
Btrfsis designed for such the requirements
Background
3
7. 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, ext4and so on)
LVM
Block device
VFS
Block device
Btrfs
XFS or ext4 + LVM
Btrfs
# mkfs.btrfs/dev/sd{a,b,c}1
6
8. 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
9. CoW versus Overwrite
1,000 surprising power failure test
LinuxFileSystemAnalysisforIVIsystem,MitsuharuIto,Fujitsu
http://events.linuxfoundation.jp/sites/events/files/slides/linux_file_system_analysis_for_IVI_systems.pdf
Result
Ext4: Metadata was corrupted
Btrfs:Workedfinewithoutanyproblem
Inmyinternalsimilartesting,XFScorruptedtoo.
Copyright 8 2014 FUJITSU LIMITED
10. 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
11. Subvolume
A subvolumeis a file system inside file system
Can be treated as a file system root
•Mountable: most mount options are shared
•Own inodenamespace and quota limit
Efficient: Available space is shared
Copyright 2014 FUJITSU LIMITED
/
sub
10
# btrfs subvolumecreate sub
12. 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
snap
sub
2
2
2
2
2
2
# btrfs subvolumesnapshot [-r] ./sub ./snap
A
B
C
11
sub
1
1
1
1
1
1
A
B
C
Reference count
snap
sub
1
1
2
1
2
2
A
B
C
C’
1
1
1
Capture a snapshot
Update data C in a snapshot
13. 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 12 2014 FUJITSU LIMITED
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
•Filesystems
•Btrfs
•Data/metadata: RAID1
•Other options: default
•XFS:default options
•Volumemanager for XFS
•dm-thinp:chunksizeis 256KiB
•LVM:RAID1
15. 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><mntpoint>
•Can also be enabled/disabled for each file
Copyright 14 2014 FUJITSU LIMITED
compress/expand
system
storage
Page cache
without compression
with compression
26. VFS has also improved performance
25 Copyright 2014 FUJITSU LIMITED
Accomplished by VFS layer performance enhancement
27. 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
29. 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-btrfsML 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
•Btrfsoperations are different from other file systems
•e.g.Btrfsの基礎part1機能編(It’sinJapanese.NowtranslatingtoEnglish…)
http://www.slideshare.net/fj_staoru_takeuchi/btrfs-part1
File system structure
Code logic
Copyright 28 2014 FUJITSU LIMITED
30. 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
LinuxFileSystemAnalysisforIVIsystem,MitsuharuIto,Fujitsu
http://events.linuxfoundation.jp/sites/events/files/slides/linux_file_system_analysis_for_IVI_systems.pdf
Copyright 29 2014 FUJITSU LIMITED