问题标签 [btrfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1675 浏览

btrfs - 如何恢复一个不会挂载(但挂载返回没有错误)的 btrfs 文件系统,检查正常,恢复时出错?

概要

mount -o 降级,ro /dev/disk/by-uuid/ec3 /mnt/ec3/ && echo noerror

没有错误

说明
mount -t btrfs 失败,但返回时没有错误,并且仅在上次重新启动后才返回。
btrfs 检查对我来说似乎很干净(我是简单的用户)。
btrfs restore errors out with "We have looped trying to restore files in"...
我有一个挥之不去的工件 btrfs 文件系统显示在卷上显示“*** Some devices missing”。这意味着它不会在启动时自动挂载,我一直在手动挂载(+ 搜索解决方案)
我以前使用 rdfind 对硬链接进行重复数据删除(每个文件多达 10 个)
我刚刚使用 btrfs send/ 备份收到但必须检查我是否拥有一切 - 这是主要的 Raid1 服务器

细节

btrfs-find-root /dev/disk/by-uuid/ec3

Superblock 认为生成是 103093
Superblock 认为级别是 1
在 8049335181312 找到树根 gen 103093 级别 1

btrfs restore -Ds /dev/disk/by-uuid/ec3 restore_ec3

我们已经循环尝试恢复文件

df -h /mnt/ec3/

Filesystem Size Used Avail Use% Mounted on
/dev/dm-0 16G 16G 483M 97% /

mount -o 降级,ro /dev/disk/by-uuid/ec3 /mnt/ec3/ && echo noerror

没有错误

df /mnt/ec3/

文件系统 1K-blocks Used 可用 Use% Mounted on
/dev/dm-0 16775168 15858996 493956 97% /

btrfs 文件系统显示 /dev/disk/by-uuid/ec3

标签:无 uuid:ec3
设备总数 使用 3 FS 字节 1.94TiB
devid 6 使用大小 2.46TiB 1.98TiB 路径 /dev/mapper/26d2e367-65ea-47ad-b298-d5c495a33efe
devid 7 使用大小 2.46TiB 1.98TiB 路径 /dev/mapper /3c193018-5956-4637-9ec2-dd5e49a4a412
*** 一些设备缺少#### 注释,这是一个旧的工件,因为之前无法挂载而没有改变

btrfs 检查 /dev/disk/by-uuid/ec3

检查 /dev/disk/by-uuid/ec3
UUID 上的文件系统:ec3
检查范围
检查可用空间缓存
检查 fs 根
检查 csums
检查根 refs
发现 2132966506496 字节使用错误为 0
总 csum 字节:2077127248
总树字节:5988204544
总 fs 树字节:3492638720
总范围树字节:242151424
btree 空间浪费字节:984865976
分配的文件数据块:3685012271104
引用 3658835013632
btrfs-progs v4.1.2

更新:重新启动后(必须等待插槽关闭)系统手动安装但不完全干净。

现在在 irc #btrfs 上提问:

http://pastebin.com/359EtZQX

嗨,我在挠头,徒劳地搜索以删除 *** 缺少一些设备。任何人都可以帮我提供一个清理这个的线索吗?
- 有没有“修复”我看到的文物的好方法?尝试:擦洗,平衡。尝试:调整大小,碎片整理。
- 是否会建议我转移到新的干净卷集?
- 通过 btrfs 发送/接收的修复是否可以避免传播错误?
- 或者(更痛苦地)rsync 到一个干净的卷? http://pastebin.com/359EtZQX (我第一次使用 irc)

0 投票
1 回答
490 浏览

debian - BTRFS 驱动器的启动作业正在运行

我偶尔会遇到这个问题,我的 Debian 系统使用“Control-D to continue/enter root pw”提示进入救援模式。这以前发生过,没有任何后果,因为我发现我需要做的就是重新启动,然后它就消失了。

“开始工作”总是让其余的服务在 20 秒左右开始,但这一次它完成了整整 1 分 30 秒,然后进入救援模式。我已经用 btrfsck 检查了磁盘,除了丢弃的用户空间缓存之外没有任何影响。哪个不应该是一个问题?

Btrfs 的版本是 3.17

错误信息:

正在为 xxx.device 运行启动作业

编辑:链接到 journalctl -xb 的相关部分: http ://pastebin.com/E3XwnmCj BTRFS 卷的“父”磁盘是 /dev/sdb1

0 投票
0 回答
59 浏览

btrfs - btrfs 单配置文件数组中的数据分布:使用文件而不是块级别?

我有一组 3 个不同的驱动器,我在单个配置文件中使用(无 RAID)。我不使用raid,因为数据对于花一些额外的钱购买额外的驱动器并不重要。

但我无法确切弄清楚数据在 3 个驱动器上分布的粒度。

我可以在wiki 页面上找到这个:

当您有不同大小的驱动器并希望使用每个驱动器的全部容量时,您必须对 数据块使用单个配置文件,而不是 raid0

据我了解,这意味着不是整个文件都分布/分配在 3 个驱动器之一上,而是每个文件的数据块上。

这是不幸的,因为仅丢失 1 个驱动器就会破坏整个阵列。是否有可能在文件级别平衡单个配置文件数组?如果 1 个驱动器出现故障,我会承担丢失阵列中 1 个驱动器上所有文件的风险,但不会丢失整个阵列。

0 投票
0 回答
847 浏览

filesystems - Btrfs 从增量备份恢复

我有几个使用 BTRFS 发送创建的备份文件。我可以用这些文件恢复子卷。但是我不能继续使用它们进行增量备份。

这是一个例子:

我做错了什么?

0 投票
1 回答
985 浏览

btrfs - 如何在具有 3 个磁盘的 BTRFS 上获得 3 个无法纠正的错误?

我这样做了:

ospool 是一个带有 3 个 sata 驱动器的池。

我得到了这样的回应:

如何在具有 3 个磁盘的 BTRFS 上获得 3 个无法纠正的错误?

0 投票
1 回答
975 浏览

btrfs - 通过清理后未修改文件上的 btrfs 无法纠正错误

我有两个相对较新的 4T 硬盘驱动器(WD Data Center Re WD4000FYYZ),格式化为 btrfs,带有 raid1 数据和 raid1 元数据。

我将一个大的二进制文件复制到该卷(~76 GB)。复制文件后不久,我运行了 btrfs 清理。没有错误。

几个月后,清理程序在该文件上返回了一个不可恢复的错误。自从它最初被复制以来,它没有被修改过。我可能会补充一点,两个驱动器的 SMART 属性不表示任何错误(Current_Pending_Sector 或其他)。

带有驱动器的系统没有 ECC 内存。

我能想到的唯一可能导致这种错误的事情是,在写入另一个文件,其数据校验和包含在与大文件的某些校验和相同的块中时,内存中发生了一些损坏,允许错误数据污染大文件的一个或多个校验和。

不幸的是,我希望在迁移到 btrfs 时,一旦数据被成功加载和清理,你可以确信如果它没有被写入(当然是在 raid1/5/6 配置中)它会保持不变。显然,事实并非如此。

谁能解释这怎么会发生?另外,如果我对包含大文件的卷进行了快照,我是否仍然可以访问来自快照的原始、未损坏的数据?

0 投票
3 回答
1123 浏览

encryption - 使用 Mandos 自动解密多个 LUKS 设备

我玩过 Mandos 来自动打开一个加密的根设备。我想设置一个加密的 btrfs raid 1(sda1 和 sdb1:LUKS)。第一个设备被正确解密,但第二个设备将被打开。有没有办法做到这一点?

0 投票
1 回答
1974 浏览

rsync - 比较两个目录树

我有一个由几个硬盘驱动器组成的 btrfs 文件系统,其中存储了大约 11 TB 的数据。我的备份包括一个通过 NFS 导出一个路径的 NAS。然后将该路径安装在具有 btrfs-bilesystem 的机器上,并调用 rsync 以保持 nfs 导出与主文件系统同步。我用一个 -v 调用 rsync 并将运行结果发送到我的电子邮件帐户,以确保一切都正确同步。现在纯属偶然,我发现某些目录未正确同步 - 目录存在于 NAS 上,但它们是空的。这很可能不是权限问题,因为 rsync 以 root 身份运行。因此,在我的情况下,rsync 似乎并不完全值得信赖,但我想比较两个目录树以查看 NAS 上是否缺少任何文件和/或 btrfs 上是否存在不再存在的文件并且应该已被 rsync 根据删除。(我使用 --delete 选项)。

因此,我正在寻找可以帮助我检查 rsync 是否正常运行的程序或脚本。我不需要像校验和这样复杂的东西,我只想知道 NAS 是否包含 btrfs 文件系统中的所有文件。

有什么建议从哪里开始寻找?

你的,斯特凡

0 投票
1 回答
1788 浏览

docker - 无法移除死掉的 docker 容器。存储驱动程序:btrfs

我无法移除死容器。当我尝试删除容器时,我得到:

以前从未遇到过这样的问题。有关当前设置的一些信息:

我怎样才能安全地删除它们?

忘了说这些容器是由 docker swarm 和 compose 管理的。

添加死容器的 docker 检查,检查输出

0 投票
1 回答
633 浏览

data-recovery - 具有单一数据模式和磁盘故障的多设备 btrfs

我在没有 raid 的 6 磁盘阵列上有一个 btrfs 分区(raid10 中的元数据,但单个数据),其中一个磁盘刚刚死机。

所以我丢失了一些数据,好吧,我知道。

但是有两个问题:

  • 是否有可能知道(我想使用元数据)我丢失了哪些数据?

  • 是否可以在这种设置上执行某种“btrfs delete missing”,以便恢复对其他数据的 rw 访问,或者我必须将所有数据复制到新分区上?

编辑:为了清楚起见,我可以将它安装为只读mount -o recovery,ro,degraded

和 btrfs fi df /Data