核心特性:
支持多物理卷:btrfs可由多个底层物理卷组成,支持RAID,以联机“添加”、“移除”,“修改”物理卷
写时复制更新机制(CoW):复制、更新及替换指针(即地址指向),而非“就地”更新(即直接更新源文件)
数据及元数据校验码:checksum
支持子卷:sub_volume
快照:支持快照的快照
支持透明压缩
查看btrfs命令及其子命令帮助文档:
# btrfs --help | man btrfs
# man mkfs.btrfs | man btrfs-filesystem | man btrfs-device | man btrfs-balance | manbtrfs-subvolume
创建btrfs文件系统:mkfs.btrfs --> # mkfs.btrfs -L mydata /dev/sdb /dev/sdc
挂载文件系统:# mount -t btrfs /dev/sdb /mnt //此处挂载/dev/sdb和/dev/sdc结果一致
常用选项:
-L LABEL:指定卷标
-d <profile>:指定数据块组的构成方式,包括raid0、raid1、raid5、raid6、raid10、single和dup
-m <profile>:指定元数据块组的构成方式,包括raid0、raid1、raid5、raid6、raid10、single和dup
-O <feature>:创建文件系统时启用的文件系统特性
列出支持的所有特性:# mkfs.btrfs -O list-all
btrfs文件系统常用命令:
查看所有的文件系统属性:# btrfs filesystem show
查看指定的文件系统属性:# btrfs filesystem show /mnt
查看所有设备信息:# btrfs filesystem show --all-devices
查看指定设备信息:# btrfs filesystem show /dev/sdb | /dev/sdc //结果一致
查看块设备属性:# blkid /dev/sdb | /dev/sdc
查看指定设备的卷标:# btrfs filesystem label /dev/sdb | /dev/sdc //结果一致
查看文件系统已挂载设备的信息:# btrfs filesystem show --mounted
使用文件系统的透明压缩机制(支持lzo和zlib压缩方式,需要先卸载设备,挂载后所有在/mnt目录中的文件都会被默认压缩):# mount -o compress=lzo /dev/sdc /mnt
联机调整文件系统的大小:# btrfs filesystem resize +5G /mnt
联机调整文件系统的大小至最大:# btrfs filesystem resize max /mnt
查看指定的文件系统容量信息:# btrfs filesystem df /mnt
添加一块新磁盘用于文件系统的扩容:# btrfs device add /dev/sdd /mnt
删除磁盘:# btrfs device delete /dev/sdb /mnt
开始数据均衡:# btrfs balance start /mnt
查看数据均衡状态:# btrfs balance status /mnt
创建子卷:# btrfs subvolume create /mnt/logs
删除子卷:# btrfs subvolume delete /mnt/logs
列出子卷信息:# btrfs subvolume list /mnt //会显示子卷ID
查看子卷信息:# btrfs subvolume show /mnt
挂载子卷:# mount -o subvol=logs /dev/sdb /mnt 或者 # mount -o subvolid=267 /dev/sdc /mnt
创建子卷快照:# btrfs subvolume snapshot /mnt/logs /mnt/logs_snapshot
删除子卷快照:# btrfs subvolume delete /mnt/logs_snapshot
ext4转换为btrfs:# btrfs-convert /dev/sdd1
btrfs转换为ext4:# btrfs-convert -r /dev/sdd1