查询 BTRFS 文件系统
运行 btrfs filesystem df 命令以显示有关 btrfs 文件系统使用的空间的更准确信息。
# btrfs filesystem df /btrfsTest/ Data, single: total=8.00MiB, used=64.00KiB System, single: total=4.00MiB, used=16.00KiB Metadata, single: total=264.00MiB, used=112.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
我们可以使用普通的df命令查询文件系统,但显示的信息可能不准确。
# df -h /btrfsTest/ Filesystem Size Used Avail Use% Mounted on /dev/xvdb 5.0G 17M 4.8G 1% /btrfsTest
更多信息和选项可以在 mkfs.btrfs 的手册页中找到:
# man mkfs.btrfs
欢迎 on
it
road
创建 BTRFS 文件系统
添加将要配置 btrfs 文件系统的所需磁盘,并确保系统识别该磁盘:
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk ├─xvda1 202:1 0 1G 0 part /boot └─xvda2 202:2 0 19G 0 part ├─ol-root 251:0 0 17G 0 lvm / └─ol-swap 251:1 0 2G 0 lvm [SWAP] xvdb 202:16 0 5G 0 disk
在上面的输出中,我们的磁盘将是“xvdb”。
这些设备可以是简单的磁盘分区、环回设备(即内存中的磁盘镜像)、多路径设备或者在硬件中实现 RAID 的 LUN。
- 如果系统上尚未安装 btrfs-progs 软件包,请安装:
# yum install btrfs-progs
- 使用 mkfs.brtfs 命令创建 Btrfs 文件系统:
# mkfs.btrfs /dev/xvdb btrfs-progs v4.9.1 See http://btrfs.wiki.kernel.org for more information. Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication. Label: (null) UUID: c7d1687d-fe91-4837-b14a-4870466d1a3f Node size: 16384 Sector size: 4096 Filesystem size: 5.00GiB Block group profiles: Data: single 8.00MiB Metadata: single 8.00MiB System: single 4.00MiB SSD detected: yes Incompat features: extref Number of devices: 1 Devices: ID SIZE PATH 1 5.00GiB /dev/xvdb
- 使用 btrfs filesystem show 命令验证文件系统是否已在设备上创建:
# btrfs filesystem show Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f Total devices 1 FS bytes used 112.00KiB devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb
以上命令显示系统中所有的btrfs文件系统
或者
# btrfs filesystem show /dev/xvdb Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f Total devices 1 FS bytes used 112.00KiB devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb
以上命令仅在所需的指定设备 (/dev/xvdb) 上显示有关 btrfs 文件系统的信息
- 挂载对应的文件系统:
# mount /dev/xvdb /btrfsTest
- 确保 btrfs 文件系统现在已挂载:
# mount | grep btrfs /dev/xvdb on /btrfsTest type btrfs (rw,relatime,seclabel,ssd,space_cache)
btrfs 文件系统
btrfs 文件系统旨在满足大型存储子系统不断扩展的可扩展性需求。
由于 btrfs 文件系统在其实现中使用 B 树,其名称源自这些数据结构的名称,尽管它不是真正的首字母缩略词。
B 树是一种树状数据结构,无论树增长多大,它都能使文件系统和数据库有效地访问和更新大数据块。
btrfs 文件系统提供以下重要功能:
- Copy-on-write 功能允许我们创建可读和可写的快照,并将文件系统回滚到以前的状态,即使在我们将它从 ext3 或者 ext4 文件系统转换之后也是如此。
- 校验和功能可确保数据完整性。
- 透明压缩可节省磁盘空间。
- 透明碎片整理可提高性能。
- 集成的逻辑卷管理允许我们实施 RAID 0、RAID 1 或者 RAID 10 配置,并动态添加和删除存储容量。
从 CentOS/RHEL 6 Update 3 开始,引导 ISO 允许我们配置 btrfs 根文件系统。
在 CentOS/RHEL 6 Update 3 之前,我们无法在安装过程中创建 btrfs 根文件系统。
使用 UEK R3,btrfs 支持以下添加功能:
- 发送/接收功能允许我们记录两个子卷之间的差异,它们可以是同一子卷的快照,也可以是父子卷的快照。
- 配额组 (qgroups) 允许我们为卷及其子卷设置不同的大小限制。
- 我们无需卸载或者以其他方式中断对文件系统的访问即可更换设备。
本文档主要讲解如何在 CentOS/RHEL 系统的单台设备上创建 BTRFS 文件系统。
以下步骤是在运行 CentOS/RHEL 7 的虚拟机上执行的,虚拟磁盘大小为 5GB。
日期:2020-09-17 00:14:17 来源:oir作者:oir