Btrfs 简介

一、btrfs文件系统简介

btrfs通常解释为b-tree filesystem、better filesystem等,目标是用来解决 ext3文件系统的一些缺陷,例如单一文件系统的限制、总文件系统的限制。btrfs加入了一些核心特性:

核心特性:
1、可由底层多个物理卷进行支持
2、数据存储形式支持RAID,同时在联机的情况下进行“添加硬盘”、“移除硬盘”、“修改文件系统的大小”
3、支持写时复制更新机制,即当我们修改文件时,btrfs先复制一份原文件,对新文件进行修改,结束时,原文件名指向新文件。
4、快照,支持卷的快照和快照的快照
5、透明压缩,即当文件系统存储文件时,文件系统会自动将文件进行压缩再存储,当提取时,文件系统自动进行解压缩,但是用户看不到此过程。
6、子卷和校验码

安装

1
$ sudo apt update
1
2
3

$ sudo apt install btrfs-progs -y # 20.04 18.04

创建btrfs文件系统

1
2
3
4
5
6
7
8
9
$ sudo mkfs.btrfs -L data /dev/sdb1

$ sudo mkfs.btrfs -d single -m raid1 /dev/part1 /dev/part2 ..

-d signle data signle
-m raid1 raid1
-L data label


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ sudo mkfs.btrfs -m raid5 -d raid5 -f /dev/disk/by-partlabel/usbdisk{0,1,2,3,4}

btrfs-progs v4.15.1
See http://btrfs.wiki.kernel.org for more information.

Label: (null)
UUID: d32cdc1e-e539-40ca-9d05-7259ba56cfac
Node size: 16384
Sector size: 4096
Filesystem size: 18.19TiB
Block group profiles:
Data: RAID5 4.00GiB
Metadata: RAID5 4.00GiB
System: RAID5 12.75MiB
SSD detected: no
Incompat features: extref, raid56, skinny-metadata
Number of devices: 5
Devices:
ID SIZE PATH
1 3.64TiB /dev/disk/by-partlabel/usbdisk0
2 3.64TiB /dev/disk/by-partlabel/usbdisk1
3 3.64TiB /dev/disk/by-partlabel/usbdisk2
4 3.64TiB /dev/disk/by-partlabel/usbdisk3
5 3.64TiB /dev/disk/by-partlabel/usbdisk4

$

挂载

1
2
3
4
$ sudo mkdir -v /data

$ sudo mount -t btrfs /dev/sdb1 /data

https://developer.aliyun.com/article/15224