一、Btrfs文件系统

Btrfs(B-tree, Butter FS, Better FS), Oracle从2007年开始研发的一种新的文件系统, 目标是用于取代ext3和ext4文件系统, 2014年8月发布稳定版本; 采用GPL授权.

1.1 Btrfs文件系统特性

  • 多物理卷支持: Btrfs可由多个底层物理卷组成; 支持RAID, 以联机“添加”、“移除”和“修改”操作;
  • 写时复制更新机制(CoW): 复制、更新及替换指针, 而非就地修改源文件;
  • 数据及元数据校验码: checksum
  • 子卷: sub_volume
  • 快照: 支持快照的快照
  • 透明压缩:

二、Btrfs文件系统的使用

2.1 Btrfs命令使用

# Btrfs命令的用法: btrfs  []
# command: 子命令; args: 参数

# 创建Btrfs文件系统: mkfs.btrfs
    # -L 'LABEL'
    # -d '': raid0, raid1, raid5, raid6, raid10, single
    # -m : raid0, raid1, raid5, raid6, raid10, single, dup
    # -O : 
        # -O list-all: 列出支持的所有feature
[root@zabbix ~]# mkfs.btrfs -O list-all
Filesystem features available at mkfs time:
mixed-bg            - mixed data and metadata block groups (0x4)
extref              - increased hardlink limit per file to 65536 (0x40, default)
raid56              - raid56 extended format (0x80)
skinny-metadata     - reduced-size metadata extent refs (0x100, default)
no-holes            - no explicit hole extents for files (0x200)

# 创建一个btrfs
[root@zabbix ~]# mkfs.btrfs -L 'mydata00' /dev/sdb /dev/sdc 
btrfs-progs v3.19.1
See http://btrfs.wiki.kernel.org for more information.

Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
Turning ON incompat feature 'skinny-metadata': reduced-size metadata extent refs
adding device /dev/sdc id 2
fs created label mydata00 on /dev/sdb
        nodesize 16384 leafsize 16384 sectorsize 4096 size 4.00GiB

# 查看当前系统btrfs的结构信息: 
# btrfs filesystem show [--mounted|--all-devices||||