BTRFS是一种功能强大的新型文件系统,下面我们来了解一下它的特性及常用操作   

核心特性:
        多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”、“移除”,“修改”;
        写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新;
        数据及元数据校验码:checksum检测完整性
        子卷:sub_volume
        快照:支持快照的快照;
        透明压缩:存储时执行压缩操作,并且支持不解压查看,节省空间

案例流程:

  1. 创建BTRFS:

    使用mkfs.btrfs
                -L 'LABEL':指定LABEL创建文件系统
                -d <type>: 指明数据的跨磁盘存放形式,用于提升IO效率或数据安全性,支持raid0, raid1, raid5, raid6, raid10, single
                -m <profile>: 指明元数据的跨磁盘存放形式,用于提升IO效率或数据安全性,支持raid0, raid1, raid5, raid6, raid10, single, dup
                -O <feature>:指明开启某些文件系统特性
                    -O list-all: 列出支持的所有feature;

BTRFS特性及常用操作

    2.BTRFS文件系统的使用

    支持诸多子命令来实现它强大的功能

创建btrfs文件系统:

BTRFS特性及常用操作

查看:

BTRFS特性及常用操作

查看label

BTRFS特性及常用操作

使用blkid查看,发现sdb1和sdc1的UUID一样,SUB_UUID不一样:

BTRFS特性及常用操作

挂载:

BTRFS特性及常用操作

到挂载目录下创建文件:

BTRFS特性及常用操作

还可以使用透明压缩机制挂载:

BTRFS特性及常用操作

在线调整文件系统大小:

BTRFS特性及常用操作

BTRFS特性及常用操作

增加,移除,扫描设备等功能:

增加一个设备到当前指定的btrfs文件系统

BTRFS特性及常用操作

将先前数据均衡到新加的盘上

BTRFS特性及常用操作

数据量特别大时,还可以在IO高峰期暂停平衡操作,取消暂停,打断等,这里不再缀余

BTRFS特性及常用操作

拆除物理卷之前,btrfs会自动挪走上面的数据再拆除,不会像LVM那样还需要手动移走数据

BTRFS特性及常用操作

发现只剩下sdb2sdc1了,sdb1被移除了

BTRFS特性及常用操作

查看数据还在;

BTRFS特性及常用操作

重现组织数据跨磁盘存储形式

-m 代表元数据

-d 代表数据

BTRFS特性及常用操作

子卷功能:

创建子卷并查看:

BTRFS特性及常用操作

挂载子卷:

BTRFS特性及常用操作

查看子卷信息:

BTRFS特性及常用操作

子卷中文件可以通过父卷访问到:

BTRFS特性及常用操作

删除子卷:

BTRFS特性及常用操作

快照:注意子卷的快照必须与子卷在同一个父卷中

BTRFS特性及常用操作

删除快照:

BTRFS特性及常用操作

针对单个文件做快照并检验:

BTRFS特性及常用操作

ext系列文件系统和 btrfs文件系统无损转换:

首先创建一个ext4文件系统:

BTRFS特性及常用操作

然后挂载,并且在挂载目录下创建文件,用btrfs-convert转换为btrfs

BTRFS特性及常用操作

查看:

BTRFS特性及常用操作

文件还在:

BTRFS特性及常用操作

回滚为ext4文件系统:使用-r选项

BTRFS特性及常用操作