1. 首页 > Linux教程 > 正文

Linux教程FG138-mkfs.btrfs命令Btrfs文件系统格式化

内容大纲

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

1. Btrfs文件系统概述

Btrfs(B-tree file system)是一种现代的文件系统,设计用于解决传统文件系统的局限性。它提供了许多高级功能,如快照、压缩、校验和等。

Btrfs文件系统的主要特点包括:

更多学习教程公众号风哥教程itpux_com

  • 支持快照和克隆
  • 内置数据压缩
  • 数据和元数据校验和
  • 支持RAID配置
  • 在线扩容和缩容
  • 子卷支持

2. mkfs.btrfs命令基本用法

mkfs.btrfs命令用于在分区上创建Btrfs文件系统。

风哥提示:

# 基本语法
# mkfs.btrfs [选项] 设备

# 简单格式化
# mkfs.btrfs /dev/vdb1
btrfs-progs v5.16.2
See http://btrfs.wiki.kernel.org for more information.

Label: (null)
UUID: 12345678-90ab-cdef-1234-567890abcdef
Node size: 16384
Sector size: 4096
Filesystem size: 50.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 1.00GiB
System: DUP 8.00MiB
SSD detected: no
Zoned device: no
Incompat features: extref, skinny-metadata
Runtime features: auto-defrag
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 50.00GiB /dev/vdb1

# 查看文件系统信息
# btrfs filesystem show /dev/vdb1
Label: none uuid: 12345678-90ab-cdef-1234-567890abcdef
Total devices 1 FS bytes used 112.00KiB
devid 1 size 50.00GiB used 2.01GiB path /dev/vdb1

3. 常用选项详解

mkfs.btrfs命令支持多种选项,用于定制文件系统的创建过程。

# 常用选项

# -f:强制格式化,即使设备已经有文件系统
# mkfs.btrfs -f /dev/vdb1

# -L:指定卷标
# mkfs.btrfs -L data1 /dev/vdb1

# -m:指定元数据配置
# mkfs.btrfs -m single /dev/vdb1 # 单副本元数据
# mkfs.btrfs -m dup /dev/vdb1 # 双副本元数据

# -d:指定数据配置
# mkfs.btrfs -d single /dev/vdb1 # 单副本数据
# mkfs.btrfs -d dup /dev/vdb1 # 双副本数据
# mkfs.btrfs -d raid1 /dev/vdb1 /dev/vdb2 # RAID1配置

# -n:指定节点大小
# mkfs.btrfs -n 16384 /dev/vdb1

# 查看所有可用选项
# mkfs.btrfs –help

4. 高级配置选项

对于特殊场景,mkfs.btrfs命令提供了更多高级配置选项。

学习交流加群风哥微信: itpux-com

# 高级配置

# 创建RAID1配置
# mkfs.btrfs -d raid1 -m raid1 /dev/vdb1 /dev/vdb2

# 创建RAID5配置
# mkfs.btrfs -d raid5 -m raid5 /dev/vdb1 /dev/vdb2 /dev/vdb3

# 创建RAID6配置
# mkfs.btrfs -d raid6 -m raid6 /dev/vdb1 /dev/vdb2 /dev/vdb3 /dev/vdb4

# 创建RAID10配置
# mkfs.btrfs -d raid10 -m raid10 /dev/vdb1 /dev/vdb2 /dev/vdb3 /dev/vdb4

# 设置压缩
# mkfs.btrfs -O compress /dev/vdb1

# 启用校验和
# mkfs.btrfs -c crc32c /dev/vdb1

5. 实战案例

下面通过一个完整的实战案例来演示mkfs.btrfs命令的使用。

# 场景:创建Btrfs文件系统并配置子卷

# 1. 查看分区
# lsblk /dev/vdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 252:16 0 100G 0 disk
├─vdb1 252:17 0 50G 0 part
└─vdb2 252:18 0 50G 0 part

# 2. 创建RAID1配置的Btrfs文件系统
# mkfs.btrfs -d raid1 -m raid1 -L data /dev/vdb1 /dev/vdb2
btrfs-progs v5.16.2
See http://btrfs.wiki.kernel.org for more information.

Label: data
UUID: 12345678-90ab-cdef-1234-567890abcdef
Node size: 16384
Sector size: 4096
Filesystem size: 50.00GiB
Block group profiles:
Data: RAID1 2.00GiB
Metadata: RAID1 1.00GiB
System: RAID1 8.00MiB
SSD detected: no
Zoned device: no
Incompat features: extref, skinny-metadata
Runtime features: auto-defrag
Checksum: crc32c
Number of devices: 2
Devices:
ID SIZE PATH
1 50.00GiB /dev/vdb1
2 50.00GiB /dev/vdb2

# 3. 挂载Btrfs文件系统
# mkdir -p /data
# mount /dev/vdb1 /data

# 4. 创建子卷
# btrfs subvolume create /data/home
Create subvolume ‘/data/home’

# btrfs subvolume create /data/var
Create subvolume ‘/data/var’

# btrfs subvolume create /data/opt
Create subvolume ‘/data/opt’

# 5. 查看子卷
# btrfs subvolume list /data
ID 256 gen 5 top level 5 path home
ID 257 gen 6 top level 5 path var
ID 258 gen 7 top level 5 path opt

# 6. 配置永久挂载
# echo ‘/dev/vdb1 /data btrfs defaults 0 0’ >> /etc/fstab

# 7. 验证挂载
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 9.0M 3.8G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 45G 3.5G 42G 8% /
/dev/vda1 1014M 194M 821M 20% /boot
tmpfs 781M 0 781M 0% /run/user/0
/dev/vdb1 50G 17M 49G 1% /data

# 8. 查看文件系统详细信息
# btrfs filesystem show /data
Label: data uuid: 12345678-90ab-cdef-1234-567890abcdef
Total devices 2 FS bytes used 144.00KiB
devid 1 size 50.00GiB used 2.01GiB path /dev/vdb1
devid 2 size 50.00GiB used 2.01GiB path /dev/vdb2

风哥经验总结

1. Btrfs是一种现代文件系统,提供了许多高

学习交流加群风哥QQ113257174

级功能,适合需要快照、压缩或RAID功能的场景。

2. 对于不同的使用场景,选择合适的RAID级别:

  • RAID1:适合需要数据冗余的场景
  • RAID5/6:适合需要数据冗余和较大容量的场景
  • RAID10:适合需要高性能和数据冗余的场景

3. Btrfs的子卷功能非常强大,可以在一个文件系统中创建多个逻辑卷,方便管理不同类型的数据。

4. Btrfs支持在线扩容和缩容,这是它相比XFS的一个优势。

5. 在生产环境中使用Btrfs时,建议定期进行文件系统检查和平衡,以保持良好的性能。

from PG视频:www.itpux.com

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息