简介
Btrfs((B-tree,ButterFS ,Better FS通常念成Butter FS),由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。继ext3/4文件系统之后linux又有了比较强大的文件系统(btrfs文件系统),btrfs文件系统不仅可以将ext3/4系列的升级为btrfs文件系统也可以将其降级为ext3/4的文件系统,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。而且btrfs文件系统还具有快照,内建磁盘阵列(RAID)支持,支持子卷等功能,允许在线调整文件系统大小,更为“嚣张”的是btrfs文件系统还支持快照的快照。突破了之前的一些文件系统。
一 btrfs核心特性
1.多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”、“移除”,“修改”;
2.写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新;
3.数据及元数据校验码:checksum
4.子卷:sub_volume,子卷实质上是一个保存文件和目录的命名的B树。它们的inode保存在树根之树中,可以为非根用户和组所有。子卷可选设定块配额。子卷内的所有块和 文件区段都有引用计数以便做快照。和虚拟机存储的动态扩展相似,其只按需使用设备空间,消除了许多半满的分区。用户也可用不同的挂载选项挂载子卷,得到更灵活的 安全性。
5.快照:支持快照的快照;命令:btrfs subvolume snapshot
6.透明压缩:分区里的每个文件都被自动压缩,不仅减小了文件的大小,还提高了性能。
7.Btrfs支持在线碎片整理。命令: btrfs filesystem defragment
二 btrfs 常见命令以及一些命令的子命令
1.文件系统创建:
命令:mkfs.btrfs
选项:-L 'LABEL' #设置卷标
-d< type>: raid0, raid1, raid5, raid6, raid10, single #设置raid级别
-m< profile>: raid0, raid1, raid5, raid6, raid10, single, dup
-O< feature>
-O list-all: 列出支持的所有feature;
2.文件系统命令管理,包括卷标管理,文件系统大小调整,及碎片管理
命令:btrfs filesystem< subcommand> <args>
btrfs filesystem
show : 属性查看
df : 查看挂载点的可使用空间
label : 设置器卷标
resize: 动态调整btrfs大小
3.挂载文件系统:
命令:mount -t btrfs /dev/sdb MOUNT_POINT
4.透明压缩机制:
命令:mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
5. 管理子卷和快照命令
命令:btrfs subvolume< subcommand> [<args>]
btrfs subvlome :
Create: 创建子卷
Delete: 删除子卷
List: 列出子卷
show: 显示子卷的详细信息
syn: 同步内存上的数据到磁盘上
6.设备管理命令
命令:btrfs device< subcommand> <args>
btrfs device:
add : 添加设备
delete : 删除设备
raid label:设置raid级别
7.块组均衡管理
命令:btrfs [filesystem] balance <subcommand>|<args>
btrfs balance :(原有的数据移动一部分到新增的物理卷上)
start: 启用balance
pause: 停止balance
cancle:取消balance
status:查看balance状态
8.btrfs subvolume snapshot 创建快照卷
三 btrfs管理及应用
-
新增2块20磁盘 dev/sdb与/dev/sdc
-
创建btrfs文件系统和显示btrfs文件系统
mkfs.btrfs -L 'mytest' /dev/sdb /dev/sdc
3.挂载文件系统
mkdir /mytest/
mount -t btrfs /dev/sdb /mytest/
3.建立子卷轴
btrfs subvolume create /mytest/mydata
cp -r /etc/grub2.cfg /mytest/mydata/
btrfs subvolum show /mytest/mydata/
4.删除子卷
5.扩展文件系统
6.重新均衡文件系统
7.移除硬盘设备
btrfs device delete /dev/sdb /mytest/
8.修改数据或元数据的RAID级别
btrfs filesystem df /mytest/
btrfs balance start -mconvert=raid5 /mytest/
9.创建快照
btrfs subvolume snapshot /mytest/mydata/ /mytest/mydata_snapshot
我们还能在一般的文件系统和btrfs文件系统之间转换:
btrfs-convert /dev/sdd1 COMMENTS: 一般文件系统转换成btrfs文件系统;
btrfs-convert -r /dev/sdd1 COMMENTS:btrfs文件系统转换回一般文件系统。
原创文章,作者:liangkai,如若转载,请注明出处:http://www.178linux.com/11434
评论列表(1条)
[…] 转载请注明:linux运维部落 » btrfs 文件系统 […]