linux 下一代文件系统btrfs简介

发布: 2013-10-01 10:55

Btrfs被称为下一代文件系统。相对于ext2/ext3/ext4这系列特性已经非常稳定的文件系统来说,
btrfs具有很多先进的文件系统设计特性。
最近内核的每个新版本发布,都有btrfs的影子,开发活跃,令人很期待。
btrfs具体有哪些特性让人如此期待?它内部是如何实现的?
适用什么样的场景?怎么使用btrfs命令管理btrfs文件系统?
本文以当前最新的3.11内核的btrfs版本研究btrfs文件系统的功能特性。
1、btrfs发展史
B-tree 文件系统,通常念成Butter FS,Better FS或者 B-tree FS。
采用GPL协议。
由Oracle于2007年发起并进行的COW(写入时复制)文件系统。
btrfs的目标是取代ext2/ext3文件系统,改善现有功能限制并提供更多优秀特性。
2、btrfs特性简介
软件raid实现
类似lvm的卷管理
透明压缩zlib,lzo,(snappy,lz4)
可读/写快照
高磁盘空间利用率的小文件打包
高磁盘空间利用率的索引目录
动态inode分配
在线文件系统整理
基于子卷的磁盘配额
子卷差异的发送与接收,文件系统级的类diff/patch功能。
3、btrfs命令简介
之前的btrfs管理命令包含一系统btrfs-*命令。
现在的btrfs-progs包改进为唯一的btrfs命令与子命令模式。
除了管理用的btrfs命令工具,相关的还有:
创建btrfs文件系统: mkfs.btrfs
检查、修复btrfs文件系统:btrfschk/fsck.btrfs
现在就主要的管理命令btrfs详细说明所有参数:
[gzleo@myubuntu ~]$ btrfs version
Btrfs v0.20-rc1-253-g7854c8b
[gzleo@myubuntu ~]$ btrfs
usage: btrfs [--help] [--version] [...] []

btrfs subvolume create [/]
创建一个子卷。必须在一个已经挂载的btrfs目录执行。Create a subvolume
btrfs subvolume delete [...]
删除子卷。Delete subvolume(s)
btrfs subvolume list [-agopurts] [-G [+|-]value] [-C [+|-]value] [--sort=gen,ogen,rootid,path]
列出子卷。List subvolumes (and snapshots)
btrfs subvolume snapshot [-r] [/]
创建子卷的一个快照。Create a snapshot of the subvolume
btrfs subvolume get-default
获取btrfs文件系统的默认子卷。返回子卷ID。Get the default subvolume of a filesystem
btrfs subvolume set-default
设置btrfs文件系统的默认子卷。Set the default subvolume of a filesystem
btrfs subvolume find-new
查找子卷中的新文件。List the recently modified files in a filesystem
btrfs subvolume show
列出所有子卷。Show more information of the subvolume

btrfs filesystem df
显示挂载的文件系统的空间使用信息。Show space usage information for a mount point
btrfs filesystem show [--all-devices] [|


原文: http://qtchina.tk/?q=node/767

Powered by zexport