拾遗:btrfs

#扫描 btrfs 文件系统
btrfs device scan

btrfs device scan /dev/sda

#创建子卷或快照

btrfs subvolume create /mnt/btrfs/new_subvol     #删除使用 btrfs subvolume delete /SubVolName

btrfs subvolume snapshot /mnt/btrfs /mnt/btrfs/snapshot_of_root

#获取完整元数据信息

btrfs-debug-tree /dev/sda2 >& big_output_file

#挂载

mount -t btrfs -o subvolid=123 /dev/sda2 /mnt/new_subvol     #subvolid 可使用 btrfs subvolume list [/MountPoint] 查看,根卷的id是0或5

mount -t btrfs -o subvolid=345 /dev/sda2 /mnt/snap

mks.btrfs -m raid1 -d raid1 /dev/sda /dev/sdb ... /dev/sdN    #使用多个磁盘或分区创建 raid1 类型型的冗余备份,-m指 metadata,-d指data

btrfs filesystem show [/dev/sdN]    #可使用卷组中任一成员的名称,显示卷组信息

mount /dev/sdN /MountPoint     #可使用卷组中任一成员的名称,挂载整个卷组

btrfs filesystem df /MountPoint    #显示卷组基础信息

btrfs device add /dev/sdN /MountPoint    #向卷组添加成员

btrfs device delete /dev/sdN /MountPoint    #从卷组中删除成员(不能使删除后的数量小于最低要求,如raid1 至少剩2个成员)

#如下是调整卷组大小

btrfs filesystem resize -100m /MountPoint

btrfs filesystem resize +200m /MountPoint

btrfs filesystem resize max /MountPoint    #调整至最大

#添加新设备后,使数据布署到新设备

btrfs filesystem balance /MountPoint

#转换卷组类型,如下示例将无冗余单成员转换为 raid1

mount /dev/sdb1 /mnt

btrfs device add /dev/sdc1 /mnt

btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt

#清理已断开连接的卷组成员的遗留信息

btrfs device delete missing [/Mountpoint]

#更换坏盘

mount -o degraded /dev/sda1 /mnt    #以 -o degraded选项挂载问题卷组

btrfs replace start 6 /dev/sdf1 /mnt    #开始替换,6 是指btrfs filesystem show 查到的设备编号

btrfs replace status /mnt    #动态查看替换过程

#btrfs raid 在 fstab 中的写法如下(推荐使用 initramfs,官方不建议在 fstab 中写)

/dev/sdb   /mnt   btrfs   device=PARTUUID=...,device=PARTUUID=...     0 0

#子卷挂载在 fstab 中的写法

LABEL=the-btrfs-fs-device / subvol=/root,defaults,noatime,ssd,discard,noacl,compress=lzo  0 0

UUID=..         /home subvol=/home,defaults,noatime 0 0

原文地址:https://www.cnblogs.com/hadex/p/6659739.html