btrfs-filesystem(8) btrfs-文件系统(8) 

SYNOPSIS 概要 

btrfs filesystem <subcommand> <args>
btrfs 文件系统 <子命令> <参数>

DESCRIPTION 描述 

btrfs filesystem is used to perform several whole filesystem level tasks, including all the regular filesystem operations like resizing, space stats, label setting/getting, and defragmentation. There are other whole filesystem tasks like scrub or balance that are grouped in separate commands.
btrfs 文件系统用于执行多个整个文件系统级别的任务,包括所有常规文件系统操作,如调整大小、空间统计、标签设置/获取和碎片整理。还有其他整个文件系统任务,如检查或平衡,它们被分组在单独的命令中。

SUBCOMMAND 子命令 

df [options] <path> df [选项] <路径>

Show a terse summary information about allocation of block group types of a given mount point. The original purpose of this command was a debugging helper. The output needs to be further interpreted and is not suitable for quick overview.
显示给定挂载点的块组类型分配的简要摘要信息。该命令的原始目的是调试助手。输出需要进一步解释,不适合快速概览。

An example with description:
一个带有描述的示例:

  • device size: 1.9TiB, one device, no RAID
    设备大小:1.9TiB,一个设备,无 RAID

  • filesystem size: 1.9TiB 文件系统大小:1.9TiB

  • created with: mkfs.btrfs -d single -m single
    使用以下命令创建:mkfs.btrfs -d single -m single

$ btrfs filesystem df /path
Data, single: total=1.15TiB, used=1.13TiB
System, single: total=32.00MiB, used=144.00KiB
Metadata, single: total=12.00GiB, used=6.45GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
  • Data, System and Metadata are separate block group types. GlobalReserve is an artificial and internal emergency space, see below.
    数据、系统和元数据是不同的块组类型。GlobalReserve 是一个人工的内部紧急空间,请参见下文。

  • single -- the allocation profile, defined at mkfs time
    单个 -- 在 mkfs 时间定义的分配配置文件

  • total -- sum of space reserved for all allocation profiles of the given type, i.e. all Data/single. Note that it’s not total size of filesystem.
    总计 -- 为给定类型的所有分配配置文件保留的空间总和,即所有 Data/single 的空间。请注意,这不是文件系统的总大小。

  • used -- sum of used space of the above, i.e. file extents, metadata blocks
    已使用 -- 上述已使用空间的总和,即文件范围,元数据块

GlobalReserve is an artificial and internal emergency space. It is used e.g. when the filesystem is full. Its total size is dynamic based on the filesystem size, usually not larger than 512MiB, used may fluctuate.
GlobalReserve 是一种人为的内部紧急空间。例如,在文件系统已满时使用。其总大小是根据文件系统大小动态确定的,通常不大于 512MiB,已使用可能会波动。

The GlobalReserve is a portion of Metadata. In case the filesystem metadata is exhausted, GlobalReserve/total + Metadata/used = Metadata/total. Otherwise there appears to be some unused space of Metadata.
GlobalReserve 是元数据的一部分。如果文件系统元数据用尽,GlobalReserve/总量 + 元数据/已使用 = 元数据/总量。否则,元数据中似乎有一些未使用的空间。

Options

-b|--raw -b|--原始

raw numbers in bytes, without the B suffix
以字节为单位的原始数字,不带 B 后缀

-h|--human-readable

print human friendly numbers, base 1024, this is the default
打印人类友好的数字,基数为 1024,这是默认设置

-H

print human friendly numbers, base 1000
打印人类友好的数字,基数 1000

--iec

select the 1024 base for the following options, according to the IEC standard
根据 IEC 标准,为以下选项选择 1024 进制

--si

select the 1000 base for the following options, according to the SI standard
根据 SI 标准,为以下选项选择 1000 进制

-k|--kbytes -k|--千字节

show sizes in KiB, or kB with --si
以 KiB 显示大小,或者使用--si 选项显示 kB

-m|--mbytes -m|--兆字节

show sizes in MiB, or MB with --si
以 MiB 显示大小,或使用 --si 选项显示 MB

-g|--gbytes

show sizes in GiB, or GB with --si
以 GiB 显示大小,或使用 --si 选项显示 GB

-t|--tbytes

show sizes in TiB, or TB with --si
以 TiB 显示大小,或者使用 --si 选项显示为 TB

If conflicting options are passed, the last one takes precedence.
如果传递了冲突的选项,则以最后一个为准。

defragment [options] <file>|<dir> [<file>|<dir>…]
碎片整理 [选项] <文件>|<目录> [<文件>|<目录>…]

Defragment file data on a mounted filesystem. Requires kernel 2.6.33 and newer.
在已挂载的文件系统上对文件数据进行碎片整理。需要内核 2.6.33 及更新版本。

If -r is passed, files in dir will be defragmented recursively (not descending to subvolumes, mount points and directory symlinks). The start position and the number of bytes to defragment can be specified by start and length using -s and -l options below. Extents bigger than value given by -t will be skipped, otherwise this value is used as a target extent size, but is only advisory and may not be reached if the free space is too fragmented. Use 0 to take the kernel default, which is 256KiB but may change in the future. You can also turn on compression in defragment operations.
如果传递了 -r,目录中的文件将被递归地进行碎片整理(不会下降到子卷、挂载点和目录符号链接)。可以通过下面的 -s 和 -l 选项指定起始位置和要进行碎片整理的字节数。大于 -t 给定值的范围将被跳过,否则此值将用作目标范围大小,但仅供参考,如果空闲空间过于碎片化,则可能无法达到。使用 0 来采用内核默认值,即 256KiB,但将来可能会更改。您还可以在碎片整理操作中启用压缩。

Warning 警告

Defragmenting with Linux kernel versions < 3.9 or ≥ 3.14-rc2 as well as with Linux stable kernel versions ≥ 3.10.31, ≥ 3.12.12 or ≥ 3.13.4 will break up the reflinks of COW data (for example files copied with cp --reflink, snapshots or de-duplicated data). This may cause considerable increase of space usage depending on the broken up reflinks.
使用 Linux 内核版本 < 3.9 或 ≥ 3.14-rc2 以及 Linux 稳定内核版本 ≥ 3.10.31、≥ 3.12.12 或 ≥ 3.13.4 进行碎片整理会破坏 COW 数据的 reflinks(例如使用 cp --reflink 复制的文件、快照或去重数据)。这可能会导致由于破坏的 reflinks 而造成空间使用量显著增加。

Note 注意

Directory arguments without -r do not defragment files recursively but will defragment certain internal trees (extent tree and the subvolume tree). This has been confusing and could be removed in the future.
不带 -r 的目录参数不会递归地对文件进行碎片整理,但会对某些内部树(范围树和子卷树)进行碎片整理。这一点一直让人困惑,可能会在未来被移除。

For start, len, size it is possible to append units designator: K, M, G, T, P, or E, which represent KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
对于 start、len、size,可以附加单位标识符:K、M、G、T、P 或 E,分别表示 KiB、MiB、GiB、TiB、PiB 或 EiB(大小写不敏感)。

Options

-c[<algo>]

compress file contents while defragmenting. Optional argument selects the compression algorithm, zlib (default), lzo or zstd. Currently it’s not possible to select no compression. See also section EXAMPLES.
在碎片整理时压缩文件内容。可选参数选择压缩算法,zlib(默认)、lzo 或 zstd。目前无法选择不压缩。另请参阅示例部分。

-r

defragment files recursively in given directories, does not descend to subvolumes or mount points
递归地对给定目录中的文件进行碎片整理,不会下降到子卷或挂载点。

-f

flush data for each file before going to the next file.
在转到下一个文件之前刷新每个文件的数据。

This will limit the amount of dirty data to current file, otherwise the amount accumulates from several files and will increase system load. This can also lead to ENOSPC if there’s too much dirty data to write and it’s not possible to make the reservations for the new data (i.e. how the COW design works).
这将限制当前文件的脏数据量,否则脏数据将从几个文件中累积,并将增加系统负载。如果有太多脏数据要写入,并且无法为新数据做出保留(即 COW 设计的工作方式),这也可能导致 ENOSPC。

-s <start>[kKmMgGtTpPeE]

defragmentation will start from the given offset, default is beginning of a file
从给定偏移开始进行碎片整理,默认为文件的开头

-l <len>[kKmMgGtTpPeE]

defragment only up to len bytes, default is the file size
仅对最多 len 字节进行碎片整理,默认为文件大小

-t <size>[kKmMgGtTpPeE]

target extent size, do not touch extents bigger than size, default: 32MiB
目标范围大小,不要触及大于指定大小的范围,默认值:32MiB

The value is only advisory and the final size of the extents may differ, depending on the state of the free space and fragmentation or other internal logic. Reasonable values are from tens to hundreds of megabytes.
该值仅供参考,范围的最终大小可能会有所不同,取决于空闲空间和碎片化或其他内部逻辑的状态。合理的值范围从几十兆字节到几百兆字节。

--step SIZE

Perform defragmention in the range in SIZE steps and flush (-f) after each one. The range is default (the whole file) or given by -s and -l, split into the steps or done in one go if the step is larger. Minimum range size is 256KiB.
在 SIZE 步骤中的范围内执行碎片整理,并在每个步骤后刷新 (-f)。范围默认为整个文件,或由 -s 和 -l 给出,如果步骤较大,则分割成步骤或一次完成。最小范围大小为 256KiB。

-v

(deprecated) alias for global -v option
(已弃用)全局 -v 选项的别名

du [options] <path> [<path>..]
du [选项] <路径> [<路径>..]

Calculate disk usage of the target files using FIEMAP. For individual files, it will report a count of total bytes, and exclusive (not shared) bytes. We also calculate a ‘set shared’ value which is described below.
使用 FIEMAP 计算目标文件的磁盘使用情况。对于单个文件,它将报告总字节数和独占(非共享)字节数的计数。我们还计算一个描述如下的“设置共享”值。

Each argument to btrfs filesystem du will have a set shared value calculated for it. We define each set as those files found by a recursive search of an argument (recursion descends to subvolumes but not mount points). The set shared value then is a sum of all shared space referenced by the set.
btrfs 文件系统 du 的每个参数都将为其计算一个共享值。我们将每个集合定义为通过对参数进行递归搜索而找到的那些文件(递归会下降到子卷,但不包括挂载点)。然后,集合共享值是由集合引用的所有共享空间的总和。

set shared takes into account overlapping shared extents, hence it isn’t as simple as adding up shared extents.
共享集合考虑了重叠的共享范围,因此它并不像简单地累加共享范围那样简单。

Options

-s|--summarize

display only a total for each argument
仅为每个参数显示总数

--raw

raw numbers in bytes, without the B suffix.
以字节为单位显示原始数字,不带 B 后缀。

--human-readable

print human friendly numbers, base 1024, this is the default
打印人类友好的数字,基数为 1024,这是默认设置

--iec

select the 1024 base for the following options, according to the IEC standard.
根据 IEC 标准,选择 1024 为以下选项的基数。

--si

select the 1000 base for the following options, according to the SI standard.
根据国际标准选择以下选项的 1000 进制基数。

--kbytes

show sizes in KiB, or kB with --si.
使用--si 选项以 KiB 或 kB 显示大小。

--mbytes

show sizes in MiB, or MB with --si.
使用--si 选项以 MiB 或 MB 显示大小。

--gbytes

show sizes in GiB, or GB with --si.
以 GiB 显示大小,或使用 --si 以 GB 显示。

--tbytes

show sizes in TiB, or TB with --si.
以 TiB 显示大小,或使用 --si 以 TB 显示。

label [<device>|<mountpoint>] [<newlabel>]
标记 [<设备>|<挂载点>] [<新标签>]

Show or update the label of a filesystem. This works on a mounted filesystem or a filesystem image.
显示或更新文件系统的标签。这适用于已挂载的文件系统或文件系统镜像。

The newlabel argument is optional. Current label is printed if the argument is omitted.
newlabel 参数是可选的。如果省略该参数,则打印当前标签。

Note 注意

The maximum allowable length shall be less than 256 chars and must not contain a newline. The trailing newline is stripped automatically.
最大允许长度应小于 256 个字符,并且不得包含换行符。尾随换行符会被自动剥离。

mkswapfile [-s size] file
mkswapfile [-s 大小] 文件

Create a new file that’s suitable and formatted as a swapfile. Default size is 2GiB, fixed page size 4KiB, minimum size is 40KiB.
创建一个适合并格式化为交换文件的新文件。默认大小为 2GiB,固定页面大小为 4KiB,最小大小为 40KiB。

A swapfile must be created in a specific way: NOCOW and preallocated. Subvolume containing a swapfile cannot be snapshotted and blocks of an activated swapfile cannot be balanced.
交换文件必须以特定方式创建:NOCOW 和预分配。包含交换文件的子卷不能被快照,已激活的交换文件的块不能被平衡。

Swapfile creation can be achieved by standalone commands too. Activation needs to be done by command swapon(8). See also command btrfs inspect-internal map-swapfile and the Swapfile feature description.
交换文件的创建也可以通过独立命令来实现。激活需要使用命令 swapon(8)。另请参阅命令 btrfs inspect-internal map-swapfile 和交换文件功能描述。

Note 注意

The command is a simplified version of ‘mkswap’, if you want to set label, page size, or other parameters please use ‘mkswap’ proper.
该命令是‘mkswap’的简化版本,如果您想设置标签、页面大小或其他参数,请使用‘mkswap’命令。

Options

-s|--size SIZE -s|--大小 大小

Create swapfile of a given size SIZE (accepting k/m/g/e/p suffix).
创建指定大小 SIZE 的交换文件(接受 k/m/g/e/p 后缀)。

-U|--uuid UUID

specify UUID to use, or a special value: clear (all zeros), random, time (time-based random)
指定要使用的 UUID,或特殊值:clear(全零)、random、time(基于时间的随机)。

resize [options] [<devid>:][+/-]<size>[kKmMgGtTpPeE]|[<devid>:]max <path>
调整大小 [选项] [<devid>:][+/-]<size>[kKmMgGtTpPeE]|[<devid>:]max <path>

Resize a mounted filesystem identified by path. A particular device can be resized by specifying a devid.
调整由路径标识的已挂载文件系统的大小。可以通过指定 devid 来调整特定设备的大小。

Warning 警告

If path is a file containing a BTRFS image then resize does not work as expected and does not resize the image. This would resize the underlying filesystem instead.
如果路径是包含 BTRFS 镜像的文件,则调整大小不会按预期工作,也不会调整图像的大小。这将调整底层文件系统的大小。

The devid can be found in the output of btrfs filesystem show and defaults to 1 if not specified. The size parameter specifies the new size of the filesystem. If the prefix + or - is present the size is increased or decreased by the quantity size. If no units are specified, bytes are assumed for size. Optionally, the size parameter may be suffixed by one of the following unit designators: K, M, G, T, P, or E, which represent KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
如果未指定,则可以在 btrfs 文件系统显示的输出中找到 devid,并且默认为 1。大小参数指定文件系统的新大小。如果存在前缀+或-,则大小将增加或减少指定大小的数量。如果未指定单位,则假定大小为字节。可选地,大小参数可以后缀为以下单位标识符之一:K、M、G、T、P 或 E,分别表示 KiB、MiB、GiB、TiB、PiB 或 EiB(大小写不重要)。

If max is passed, the filesystem will occupy all available space on the device respecting devid (remember, devid 1 by default).
如果传递了 max,则文件系统将占用设备上所有可用空间,同时尊重 devid(请记住,默认情况下 devid 为 1)。

The resize command does not manipulate the size of underlying partition. If you wish to enlarge/reduce a filesystem, you must make sure you expand the partition before enlarging the filesystem and shrink the partition after reducing the size of the filesystem. This can be done using fdisk(8) or parted(8) to delete the existing partition and recreate it with the new desired size. When recreating the partition make sure to use the same starting partition offset as before.
调整大小命令不会操作底层分区的大小。如果要扩大/缩小文件系统,请确保在扩大文件系统之前扩展分区,并在缩小文件系统大小后缩小分区。可以使用 fdisk(8)或 parted(8)来删除现有分区,并使用新的所需大小重新创建它。重新创建分区时,请确保使用与以前相同的起始分区偏移量。

The size of the portion that the filesystem uses of an underlying device can be determined via the btrfs filesystem show --raw command on the filesystem’s mount point (where it’s given for each devid after the string size or via the btrfs inspect-internal dump-super command on the specific device (where it’s given as the value of dev_item.total_bytes, which is not to be confused with total_bytes). The value is also the address of the first byte not used by the filesystem.
文件系统使用的底层设备的部分大小可以通过 btrfs 文件系统显示 --raw 命令在文件系统的挂载点上确定(在每个 devid 后面给出,或通过 btrfs inspect-internal dump-super 命令在特定设备上确定(作为 dev_item.total_bytes 的值,不要与 total_bytes 混淆)。该值也是文件系统未使用的第一个字节的地址。

Growing is usually instant as it only updates the size. However, shrinking could take a long time if there are data in the device area that’s beyond the new end. Relocation of the data takes time.
扩展通常是瞬时的,因为它只更新大小。然而,如果设备区域中存在超出新端点的数据,则缩小可能需要很长时间。数据的重定位需要时间。

See also section EXAMPLES.
另请参见示例部分。

Options

--enqueue

wait if there’s another exclusive operation running, otherwise continue
如果有另一个独占操作正在运行,则等待,否则继续

show [options] [<path>|<uuid>|<device>|<label>]
显示 [选项] [<路径>|<uuid>|<设备>|<标签>]

Show the btrfs filesystem with some additional info about devices and space allocation.
显示 btrfs 文件系统的一些附加信息,包括设备和空间分配情况。

If no option none of path/uuid/device/label is passed, information about all the BTRFS filesystems is shown, both mounted and unmounted.
如果没有传递路径/uuid/设备/标签的选项,则会显示有关所有 BTRFS 文件系统的信息,包括已挂载和未挂载的。

Options

-m|--mounted -m|--挂载

probe kernel for mounted BTRFS filesystems
探测内核中已挂载的 BTRFS 文件系统

-d|--all-devices

scan all devices under /dev, otherwise the devices list is extracted from the /proc/partitions file. This is a fallback option if there’s no device node manager (like udev) available in the system.
扫描 /dev 下的所有设备,否则设备列表将从 /proc/partitions 文件中提取。如果系统中没有设备节点管理器(如 udev)可用,则这是一个备用选项。

--raw

raw numbers in bytes, without the B suffix
以字节为单位的原始数字,不带 B 后缀

--human-readable

print human friendly numbers, base 1024, this is the default
打印人类友好的数字,基数为 1024,这是默认设置

--iec

select the 1024 base for the following options, according to the IEC standard
根据 IEC 标准,为以下选项选择 1024 进制

--si

select the 1000 base for the following options, according to the SI standard
根据 SI 标准,为以下选项选择 1000 进制

--kbytes

show sizes in KiB, or kB with --si
以 KiB 显示大小,或者使用--si 选项显示 kB

--mbytes

show sizes in MiB, or MB with --si
以 MiB 显示大小,或使用 --si 选项显示 MB

--gbytes

show sizes in GiB, or GB with --si
以 GiB 显示大小,或使用 --si 选项显示 GB

--tbytes

show sizes in TiB, or TB with --si
以 TiB 显示大小,或者使用 --si 选项显示为 TB

sync <path> 同步 <路径>

Force a sync of the filesystem at path, similar to the sync(1) command. In addition, it starts cleaning of deleted subvolumes. To wait for the subvolume deletion to complete use the btrfs subvolume sync command.
强制同步路径处的文件系统,类似于 sync(1) 命令。此外,它开始清理已删除的子卷。要等待子卷删除完成,请使用 btrfs subvolume sync 命令。

usage [options] <path> [<path>…]
用法 [选项] <路径> [<路径>…]

Show detailed information about internal filesystem usage. This is supposed to replace the btrfs filesystem df command in the long run.
显示有关内部文件系统使用情况的详细信息。从长远来看,这应该取代 btrfs 文件系统 df 命令。

The level of detail can differ if the command is run under a regular or the root user (due to use of restricted ioctl). For both there’s a summary section with information about space usage:
如果在常规用户或 root 用户下运行该命令,详细级别可能会有所不同(由于使用受限的 ioctl)。对于两者,都有一个关于空间使用情况的摘要部分:

$ btrfs filesystem usage /path
WARNING: cannot read detailed chunk info, RAID5/6 numbers will be incorrect, run as root
Overall:
    Device size:                   1.82TiB
    Device allocated:              1.17TiB
    Device unallocated:          669.99GiB
    Device missing:                  0.00B
    Device slack:                  1.00GiB
    Used:                          1.14TiB
    Free (estimated):            692.57GiB      (min: 692.57GiB)
    Free (statfs, df)            692.57GiB
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:              512.00MiB      (used: 0.00B)
    Multiple profiles:                  no
  • Device size -- sum of raw device capacity available to the filesystem, note that this may not be the same as the total device size (the difference is accounted as slack)
    设备大小 -- 可用于文件系统的原始设备容量总和,请注意,这可能与总设备大小不同(差异被视为松弛)。

  • Device allocated -- sum of total space allocated for data/metadata/system profiles, this also accounts space reserved but not yet used for extents
    已分配设备 -- 为数据/元数据/系统配置文件分配的总空间之和,这也包括为范围保留但尚未用于扩展的空间

  • Device unallocated -- the remaining unallocated space for future allocations (difference of the above two numbers)
    未分配设备 -- 未来分配的剩余未分配空间(上述两个数字的差异)

  • Device missing -- sum of capacity of all missing devices
    缺失设备 -- 所有缺失设备容量的总和

  • Device slack -- sum of slack space on all devices (difference between entire device size and the space occupied by filesystem)
    设备空闲空间 -- 所有设备上空闲空间的总和(整个设备大小与文件系统占用空间之间的差异)

  • Used -- sum of the used space of data/metadata/system profiles, not including the reserved space
    已使用空间 -- 数据/元数据/系统配置文件使用空间的总和,不包括保留空间

  • Free (estimated) -- approximate size of the remaining free space usable for data, including currently allocated space and estimating the usage of the unallocated space based on the block group profiles, the min is the lower bound of the estimate in case multiple profiles are present
    空闲空间(估算) -- 剩余可用于数据的空闲空间的大致大小,包括当前分配的空间,并根据块组配置文件估算未分配空间的使用情况,最小值是估算的下限,以防存在多个配置文件

  • Free (statfs, df) -- the amount of space available for data as reported by the statfs/statvfs syscall, also returned as Avail in the output of df. The value is calculated in a different way and may not match the estimate in some cases (e.g. multiple profiles).
    免费(statfs,df)-由 statfs/statvfs 系统调用报告的可用数据空间量,也作为 df 输出中的 Avail 返回。该值以不同方式计算,有些情况下可能与估算不匹配(例如,多个配置文件)。

  • Data ratio -- ratio of total space for data including redundancy or parity to the effectively usable data space, e.g. single is 1.0, RAID1 is 2.0 and for RAID5/6 it depends on the number of devices
    数据比率-数据总空间与包括冗余或奇偶校验的有效可用数据空间的比率,例如,单个为 1.0,RAID1 为 2.0,RAID5/6 取决于设备数量

  • Metadata ratio -- ditto, for metadata
    元数据比率-同上,用于元数据

  • Global reserve -- portion of metadata currently used for global block reserve, used for emergency purposes (like deletion on a full filesystem)
    全局保留 -- 元数据的一部分,目前用于全局块保留,用于紧急情况(如在完整文件系统上删除)

  • Multiple profiles -- what block group types (data, metadata) have more than one profile (single, raid1, …), see btrfs(5) section FILESYSTEMS WITH MULTIPLE PROFILES.
    多个配置文件 -- 块组类型(数据、元数据)具有多个配置文件(单个、raid1,...),请参阅 btrfs(5) 章节 具有多个配置文件的文件系统。

And on a zoned filesystem there are two more lines in the Device section:
在分区文件系统上,设备部分还有两行:

Device zone unusable:          5.13GiB
Device zone size:            256.00MiB
  • Device zone unusable -- sum of of space that’s been used in the past but now is not due to COW and not referenced anymore, the chunks have to be reclaimed and zones reset to make it usable again
    设备区域不可用--过去已使用但现在由于 COW 而不再引用的空间总和,必须回收块并重置区域以使其再次可用

  • Device zone size -- the reported zone size of the host-managed device, same for all devices
    设备区域大小--主机管理设备报告的区域大小,所有设备都相同

The root user will also see stats broken down by block group types:
root 用户还将看到按块组类型细分的统计信息:

Data,single: Size:1.15TiB, Used:1.13TiB (98.26%)
   /dev/sdb        1.15TiB

Metadata,single: Size:12.00GiB, Used:6.45GiB (53.75%)
   /dev/sdb       12.00GiB

System,single: Size:32.00MiB, Used:144.00KiB (0.44%)
   /dev/sdb       32.00MiB

Unallocated:
   /dev/sdb      669.99GiB

Data is block group type, single is block group profile, Size is total size occupied by this type, Used is the actually used space, the percent is ratio of Used/Size. The Unallocated is remaining space.
数据是块组类型,单个是块组概要,大小是此类型占用的总大小,已使用是实际使用的空间,百分比是已使用/大小的比率。未分配是剩余空间。

Options

-b|--raw -b|--原始

raw numbers in bytes, without the B suffix
以字节为单位的原始数字,不带 B 后缀

-h|--human-readable

print human friendly numbers, base 1024, this is the default
打印人类友好的数字,基数为 1024,这是默认设置

-H

print human friendly numbers, base 1000
打印人类友好的数字,基数 1000

--iec

select the 1024 base for the following options, according to the IEC standard
根据 IEC 标准,为以下选项选择 1024 进制

--si

select the 1000 base for the following options, according to the SI standard
根据 SI 标准,为以下选项选择 1000 进制

-k|--kbytes -k|--千字节

show sizes in KiB, or kB with --si
以 KiB 显示大小,或者使用--si 选项显示 kB

-m|--mbytes -m|--兆字节

show sizes in MiB, or MB with --si
以 MiB 显示大小,或使用 --si 选项显示 MB

-g|--gbytes

show sizes in GiB, or GB with --si
以 GiB 显示大小,或使用 --si 选项显示 GB

-t|--tbytes

show sizes in TiB, or TB with --si
以 TiB 显示大小,或者使用 --si 选项显示为 TB

-T

show data in tabular format
以表格格式显示数据

If conflicting options are passed, the last one takes precedence.
如果传递了冲突的选项,则以最后一个为准。

EXAMPLES 示例

$ btrfs filesystem defrag -v -r dir/
$ btrfs 文件系统碎片整理 -v -r 目录/

Recursively defragment files under dir/, print files as they are processed. The file names will be printed in batches, similarly the amount of data triggered by defragmentation will be proportional to last N printed files. The system dirty memory throttling will slow down the defragmentation but there can still be a lot of IO load and the system may stall for a moment.
递归地对 dir/ 下的文件进行碎片整理,处理文件时打印文件。文件名将分批打印,类似于碎片整理触发的数据量与最后 N 个打印文件成比例。系统脏内存节流会减慢碎片整理速度,但仍可能有大量 IO 负载,系统可能会短暂停顿。

$ btrfs filesystem defrag -v -r -f dir/
$ btrfs 文件系统碎片整理 -v -r -f dir/

Recursively defragment files under dir/, be verbose and wait until all blocks are flushed before processing next file. You can note slower progress of the output and lower IO load (proportional to currently defragmented file).
递归地对 dir/ 下的文件进行碎片整理,详细显示并等待直到所有块被刷新后再处理下一个文件。您会注意到输出进度较慢,IO 负载较低(与当前碎片整理的文件成比例)。

$ btrfs filesystem defrag -v -r -f -clzo dir/
$ btrfs 文件系统碎片整理 -v -r -f -clzo 目录/

Recursively defragment files under dir/, be verbose, wait until all blocks are flushed and force file compression.
递归地整理 dir/ 下的文件,显示详细信息,等待直到所有块都被刷新并强制文件压缩。

$ btrfs filesystem defrag -v -r -t 64M dir/
$ btrfs 文件系统碎片整理 -v -r -t 64M 目录/

Recursively defragment files under dir/, be verbose and try to merge extents to be about 64MiB. As stated above, the success rate depends on actual free space fragmentation and the final result is not guaranteed to meet the target even if run repeatedly.
dir/ 下递归地碎片整理文件,详细显示并尝试合并范围约为 64MiB。如上所述,成功率取决于实际的空闲空间碎片化情况,即使重复运行也不能保证最终结果能达到目标。

$ btrfs filesystem resize -1G /path
$ btrfs 文件系统调整大小-1G /路径

$ btrfs filesystem resize 1:-1G /path
$ btrfs 文件系统调整大小 1:-1G /路径

Shrink size of the filesystem’s device id 1 by 1GiB. The first syntax expects a device with id 1 to exist, otherwise fails. The second is equivalent and more explicit. For a single-device filesystem it’s typically not necessary to specify the devid though.
将文件系统设备 id 1 的大小缩小 1GiB。第一种语法期望存在 id 1 的设备,否则会失败。第二种语法是等效且更明确的。对于单设备文件系统,通常不需要指定 devid。

$ btrfs filesystem resize max /path
$ btrfs 文件系统调整大小最大 /路径

$ btrfs filesystem resize 1:max /path
$ btrfs 文件系统调整大小 1:最大 /路径

Let’s assume that devid 1 exists and the filesystem does not occupy the whole block device, e.g. it has been enlarged and we want to grow the filesystem. By simply using max as size we will achieve that.
假设 devid 1 存在且文件系统未占用整个块设备,例如已扩展且我们想要扩展文件系统。通过简单地使用 max 作为大小,我们将实现这一目标。

Note 注意

There are two ways to minimize the filesystem on a given device. The btrfs inspect-internal min-dev-size command, or iteratively shrink in steps.
有两种方法可以最小化给定设备上的文件系统。btrfs inspect-internal min-dev-size 命令,或者逐步缩小步骤。

EXIT STATUS 退出状态 

btrfs filesystem returns a zero exit status if it succeeds. Non zero is returned in case of failure.
如果成功,btrfs 文件系统将返回零退出状态。如果失败,则返回非零值。

AVAILABILITY 可用性 

btrfs is part of btrfs-progs. Please refer to the documentation at https://btrfs.readthedocs.io.
btrfs 是 btrfs-progs 的一部分。请参考 https://btrfs.readthedocs.io 上的文档。

SEE ALSO 参见 

btrfs-subvolume(8), mkfs.btrfs(8)