[Share Experiences] btrfs文件系统的创建、挂载、调整
Tofloor
poster avatar
AMZ
deepin
2024-04-03 21:09
Author

btrfs创建分为命令方式和图形化,其中图形化可以采用 gparted这款磁盘工具

btrfs的开发一直跟随Linux内核主线,因此功能会随内核的升级略有不同,除此之外,btrfs使用 btrfs-progs作为用户端来管理分区

#检查系统是否安装了 btrfs-progs

sudo apt install btrfs-progs
btrfs --help #查阅当前版本btrfs相应的功能和命令

#创建btrfs文件系统

sudo mkfs.btrfs [OPTINOS]

-L  参数指明“卷标”

-d  :指明数据存储类型

(raid0,raid1,raid5,raid6,raid10,single)

-m :指明元数据存储机制(底层物理存储设备空间够用)

(raid0,raid1,raid5,raid6,raid10,single,dup)

-O   #在格式化,指明其他特性

-O list-all  #列出支持的所有特性

用有效的分区工具预先创建分区,图形化或者命令

sudo mkfs.btrfs /dev/sda3  #单独格式化sda3分区为btrfs文件系统
sudo mkfs.btrfs -L 卷标名 /dev/sda3   #格式化sda3分区为btrfs文件系统,并设置卷标

#raid暂不推荐使用,关于 btrfs balance btrfs device 两个相关命令咱不做介绍

btrfs filesystem show #显示创建的btrfs文件系统的信息
    btrfs filesystem show /dev/sda3 #查看指定设备btrfs文件系统的信息
    btrfs filesystem [OPTION] /mnt
                 sync #将文件系统缓存在内存中的数据同步到磁盘中    
                 df   # 查看一个已挂载的btrfs文件系统空间使用情况
                 defragment  #磁盘碎片整理
                 resize  #修改大小, sudo btrfs filesystem resize -10G /mnt
                                #直接向右扩大到磁盘最大处,适合磁盘后面有空闲未格式化空间:sudo btrfs filesystem resize max /mnt
                 label #显示卷标或显示卷标

#对子卷操作

    btrfs subvolume #子卷操作
    create #创建子卷:sudo btrfs subvolume create /mnt/@
    delete #删除子卷:sudo btrfs subvolume dellete /mnt/@
    list  #列出所有的子卷:sudo btrfs subvolume list /mnt
    get-default #查看默认卷:sudo btrfs subvolume get-default /mnt
    set-default #设置默认卷:sudo btrfs subvolume set-default /mnt
    snapshot #快照 sudo btrfs subvolume snapshot /mnt/@ /mnt/@snapshot
    对单个文件创建快照: cp --reflink grub.cfg grub.cfg_snap 
    show #查看子卷详细信息 sudo btrfs subvolume show /mnt

#直接挂载分区

sudo mount /dev/sda3 /mnt

#挂载时使用透明压缩

sudo mount -t btrfs -o compress=zlib:5 /dev/sda3 /mnt #挂载该分区时使用透明压缩,zlib、zstd、lzo等工具可用 5代表压缩等级,默认3,最高15

#挂载子卷

sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt  #@为子卷名称
sudo mount -t btrfs -o subvolid=268 /dev/sda3 /mnt  #268为子卷ID
Reply Favorite View the author
All Replies

No replies yet