1. 简介
1.1 Btrfs(B-tree,Butter FS,Better FS)
1.2. 遵循GPL,由oracle在2007年研发,支持CoW
1.3. 主要为了替代早期的ext3/ext4,红帽在RHEL6上开始尝试使用xfs
1.4. 特性:
支持raid
多物理卷支持:btrfs可由多个底层物理卷组成
联机“增加”“删除”“修改”
写时复制更新机制(CoW):复制,更新及替换指针,而非就地更新;
数据及元数据校验码:checksum
子卷:sub_volume
快照:支持快照的快照,类似增量备份
透明压缩:
2. 命令详解:
2.1. mkfs.btrfs
-L 'LABEL'
-d <type>:raid0,raid1,raid5,raid6,raid10,single
-m <profile>:raid0,raid1,raid5,raid6,raid10,single,dup
-O <feature>
-O list-all:列出支持的所有feature
2.2. 属性查看:btrfs filesystem show
3.3. 挂载文件系统:mount -t btrfs /dev/sdb MOUNT_POINT #挂载任何其中的一个设备即可
3.4. 透明压缩机制:mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
3.5. 调整文件系统大小:btrfs filesystem resize {+NUM|-NUM|MAX} MOUNT_POINT #需要使用df命令才能看到结果
3.6. 添加设备:btrfs device add DEVICE MOUNT_POINT
3.7. 平衡数据:btrfs balance {start|pause|status} MOUNT_POINT
3.8. 删除文件设备:btrfs filesystem delete /dev/sdb /mydata #在设备被拆除前会自动移动其中的数据到其他盘中
3.9. 改变源数据raid级别:btrfs balance start -mconvert={raid1|raid0|raid5} MOUNT_POINT
3.10. 查看子卷信息:btrfs subvolume list MOUNT_POINT #如果父卷挂载,则子卷全部被挂载
3.11. 创建子卷:btrfs subvolume create MOUNT_POINT/SUB_POINT
3.11. 挂载子卷:mount -o subvol=logs /dev/sdb MOUNT_POINT
3.12. 删除子卷:btrfs subvolume delete MOUNT_POINT
3.13. 创建子卷快照:btrfs subvolume snapshot SUB_POINT SNAP_POINT
3.14. 删除子卷快照:btrfs subvolume delete SNAP_POINT
3.15. 创建文件快照:
3.16. ext3/ext4转成btrfs:btrfs-convert EXT4_FILESYSTEM