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;

wKiom1XhrA-Q6vpVAAEU291AiUY164.jpg

    2.BTRFS文件系统的使用

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

创建btrfs文件系统:

wKioL1Xhw5Xh85bYAADIGMsc7I4145.jpg

查看:

wKiom1XhwXmxl6wVAAE1YsUdC5Y469.jpg

查看label

wKioL1Xhw5XTA61CAABbqZYIfWA948.jpg

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

wKiom1XhwXmCGVxoAAC-Rcc3qCM342.jpg

挂载:

wKioL1Xhw5Xx6OVkAABTVXj-y04907.jpg

到挂载目录下创建文件:

wKiom1XhwXmCHcFZAABM4cK-e20079.jpg

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

wKioL1Xhw5aipeq0AAAfhgKx0Lw291.jpg

在线调整文件系统大小:

wKiom1XhwXqR4aG6AAEsgqQSBoM047.jpg

wKioL1Xhw5bRKfn_AAEvgCWPBl0327.jpg

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

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

wKiom1XhwXriu_YlAAB4jga0aCI528.jpg

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

wKiom1Xhwq-zr41WAABczNVBWW4892.jpg

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

wKioL1Xhw5bD3FZxAABMYmMoZwE251.jpg

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

wKiom1XhwZ3T2DxXAABgG8Hdyzs594.jpg

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

wKioL1Xhw7rxIkAtAACV5Ffy6dQ609.jpg

查看数据还在;

wKiom1XhwZ6CmoEHAAAsxz57czw951.jpg

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

-m 代表元数据

-d 代表数据

wKiom1XhwZ6Cgie0AABhfaRp9CA278.jpg

子卷功能:

创建子卷并查看:

wKioL1Xhw7riuvCfAABj-noHR8E140.jpg

挂载子卷:

wKiom1XhwZ6g3iQmAABrRoZZ1yU295.jpg

查看子卷信息:

wKioL1Xhw7qghVPwAACcSseQ1bs717.jpg

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

wKiom1XhwZ6QA1SoAABBUScNe3A356.jpg

删除子卷:

wKioL1Xhxfuh9cOSAAB0v5SN2xM274.jpg

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

wKioL1Xhw7vyZFitAAH-x6hUvIc365.jpg

删除快照:

wKiom1XhwZ-i78hYAADbaitW1PY981.jpg

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

wKioL1Xhw7vDXAOjAAEX-OgsQG0755.jpg

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

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

wKioL1XhyHfDBZv4AAGMC6gR7zQ764.jpg

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

wKiom1Xhxlvy_SsXAAFKzNrFMso013.jpg

查看:

wKioL1XhyHfjhlNBAAB-ZlXth4Q585.jpg

文件还在:

wKiom1XhxlvCdB_BAAA7Mf8MvRk224.jpg

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

wKioL1XhyHiQYgyRAABjOdKvVHY074.jpg