标签: btrfs

如何 btrfs 检查根分区

我确定我脑放屁的原因是因为太晚了,但是我如何对根分区执行 btrfs 检查?

需要卸载设备,这不可能发生,因为它是根分区...

谢谢

partition mount root btrfs

6
推荐指数
1
解决办法
6080
查看次数

btrfs 通过更换磁盘(而不是添加磁盘!)来增加 raid 容量

我对 btrfs 的新功能感到非常兴奋,并想开始测试它。在开始之前,我想问一下 btrfs 是否支持通过用更大的磁盘替换磁盘(而不是添加额外的磁盘)来增加 raid 容量。示例:由 8 个 2TB 驱动器组成的 RAID10 的容量为 8 TB。然后,每个 2TB 驱动器将替换为 6 TB 驱动器。每次更换磁盘后,都会执行重建/重新平衡。我想知道,在上次更换磁盘并重新平衡后,容量是否从 8TB 跃升至 24TB?

网上有一些关于它的讲座,但没有 100% 的说法,比如“是的,重新平衡后,容量增加了!”。 https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices#Adding_new_devices

Synology 的 NAS 设备完全支持我所询问的功能:https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/StorageManager/volume_diskgroup_expand_replace_disk 但是,我不确定,如果这该功能是 btrfs 的本机功能,或者是 Synology 的开发人员专门为其 Disk Station 操作系统创建的功能。

raid hard-drive capacity btrfs

6
推荐指数
1
解决办法
5529
查看次数

如何在 btrfs 子卷上显示配额限制?

我无法确定如何获得当前在 btrfs 子卷上设置的配额限制。 关于配额的 btrfs wiki似乎没有显示这一点。

这就是我认为我知道的:

  • 设置配额: btrfs qgroup limit 21G /path
  • 检查已用空间: btrfs qgroup show /path

但是如何检查已经设置的限制?

quota btrfs

6
推荐指数
2
解决办法
6429
查看次数

BTRFS单数据FS还是条带化的?

更新

所以经过长时间研究官方文档,我发现btrfs以每个1Gb为单位的块来分配空间,并且在使用单一模式时,这些块被分配在当前未分配空间最多的磁盘上。因此,数据在不同磁盘之间进行条带化,正如我所见,丢失一个磁盘将导致大于 1Gb 的文件完全丢失。

我的结论是,使用单一模式相对于 raid0(也受 btrfs 支持)的唯一好处是可以使用不同大小的磁盘。还有其他想法吗?


原帖

因此,我使用以下命令创建了一个由 3 个数据模式为 Single 的设备组成的 btrfs 文件系统:

sudo mkfs.btrfs -f -d single /dev/sdb7 /dev/sdb8 /dev/sdb9
Run Code Online (Sandbox Code Playgroud)

然后我将 fs 安装到文件夹 nonRaid 并使用创建了一个 10G 文件

fallocate -l 10G nonRaid/example
Run Code Online (Sandbox Code Playgroud)

我理解使用 raid0 和 single 之间的区别是,在我的情况下,raid0 会将数据条带化到 3 个设备上,而使用 single 模式,数据不会被条带化,而是像 NTFS 一样作为整个块保存在磁盘上。我的理解正确吗?

如果是这样,如何解释当使用

btrfs filesystem usage nonRaid/
Run Code Online (Sandbox Code Playgroud)

它向我显示以下输出:

Overall:
Device size:                  59.98GiB
Device allocated:             13.02GiB
Device unallocated:           46.96GiB
Device missing:                  0.00B
Used:                         10.05GiB
Free (estimated):             47.91GiB      (min: 24.43GiB)
Data ratio:                       1.00
Metadata ratio:                   2.00
Global …
Run Code Online (Sandbox Code Playgroud)

raid0 btrfs

6
推荐指数
1
解决办法
3743
查看次数

如何格式化 BTRFS Raid 1 挂载?

我正在使用相当普通的 Ubuntu 10.04 服务器安装,并且正在试验 BTRFS。

如何创建 BTRFS RAID1 安装?

我在服务器中弹出了两 (2) 个 1Gig 驱动器,在运行以下命令后,看起来我有一个 2 Gig 分区,而不是我期望的 1 Gig。

$ sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

failed to open /dev/btrfs-control skipping device registration
adding device /dev/sdc id 2
failed to open /dev/btrfs-control skipping device registration
fs created label (null) on /dev/sdb
        nodesize 4096 leafsize 4096 sectorsize 4096 size 1.82TB
Btrfs Btrfs v0.19
Run Code Online (Sandbox Code Playgroud)

好吧……错误。但是,如果我继续前进,我可以安装它,当我执行 a 时 …

linux ubuntu btrfs

5
推荐指数
1
解决办法
1443
查看次数

如何创建 btrfs RAID-1 文件系统(mkfs.btrfs 中的断言错误)?

我尝试按照 btrfs UseCases 说明以“降级模式”创建 btrfs RAID-1 文件系统,但遇到了致命断言错误。为什么会失败,有什么解决方法吗?

我遵循的说明位于:

https://btrfs.wiki.kernel.org/index.php/UseCases#How_can_I_create_a_RAID-1_filesystem_in_.22degraded_mode.22.3F

mkfs.btrfs和命令的输出btrfs filesystem show是:

# mkfs.btrfs -m raid1 -d raid1 /dev/sdd1 /dev/loop1

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

failed to read /dev/sr0
adding device /dev/loop1 id 2
mkfs.btrfs: volumes.c:802: btrfs_alloc_chunk: Assertion `!(ret)' failed.
zsh: abort (core dumped)  mkfs.btrfs -m raid1 -d raid1 /dev/sdd1 /dev/loop1
# btrfs filesystem show
failed to read /dev/sr0
Label: none  uuid: 773908b8-acca-4c30-85c5-6642b06de22b
        Total devices 1 FS bytes used …
Run Code Online (Sandbox Code Playgroud)

filesystems mkfs btrfs

5
推荐指数
1
解决办法
1565
查看次数

如何取消btrfs碎片整理

如何取消 btrfs 碎片整理?有了btrfs fi balance /你就可以用了btrfs balance cancel /。我找不到碎片整理选项。如何安全取消?

defragmentation btrfs

5
推荐指数
0
解决办法
1360
查看次数

Btrfs:删除大文件需要很长时间

我正在运行带有 DSM 6.2.2-24922 的 Synology nas DS1817+,其 RAID5 卷采用 BTRFS 格式化。

使用 DSM FileStation 或直接在 ssh 会话中使用“rm filename”删除大文件需要很长时间。

bash-4.3# ls -al
total 31362720
drwxr-xr-x 1 root root         154 Apr 13 05:09 .
drwxr-xr-x 1 root root          86 Apr 13 05:09 ..
-rw------- 1 root root 42949672960 Apr 13 05:09 Zoll-VM-flat.vmdk

bash-4.3# time rm Zoll-VM-flat.vmdk 

real    7m24.817s
user    0m0.000s
sys     0m6.435s
Run Code Online (Sandbox Code Playgroud)

为什么?看看iotop,它似乎读取和写入整个文件?!?

btrfs synology

5
推荐指数
1
解决办法
2644
查看次数

我应该为 /var/lib/docker 禁用 btrfs CoW 吗?

我发现对于大文件(例如 PostgreSQL 数据库的数据目录)使用 btrfs CoW 功能并不是一个好主意。

由于我使用 docker 作为数据库,我现在问自己,是否应该对整个/var/lib/docker目录禁用 CoW。但我不确定,因为docker的分层文件系统是否利用了这个功能?

或者是否可以仅针对某些特定卷禁用 CoW?

btrfs docker

5
推荐指数
1
解决办法
3762
查看次数

BTRFS 校验和成本

BTRFS(或 ZFS,我没有使用过)具有“内置”校验和功能,这似乎是一个非常好的功能。我的 Synology NAS 为我提供了为任何给定文件夹启用它的选项,因此这就引出了一个问题:我应该为我不太关心的数据启用它吗?

这就引出了一个实际问题:启用 BTRFS 校验和的成本是多少?它占用更多空间吗?如果有的话多少钱?读或写会占用更多的CPU时间吗?

btrfs

5
推荐指数
1
解决办法
709
查看次数