AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题

问题[btrfs](computer)

Martin Hope
MonkeyKing
Asked: 2024-11-14 03:57:40 +0800 CST

无法读取超级块-btrfs

  • 5

救命!无法读取超级块

我像往常一样使用我的电脑(arch)运行 Android Studio,突然它损坏了,并要求重新启动 IDE,因为文件系统变为只读,我重新启动了整个电脑,现在我无法安装 btrfs 系统。使用 Linux 6.6.60-1-lts、btrfs-progs v6.11

我是这个方面的新手,我使用 btrfs 因为它已成为新的默认设置。

我该如何解决这个问题,请帮忙!到目前为止,我尝试过:

liveuser@localhost-live:~$ sudo btrfs rescue super-recover /dev/sdb3
All supers are valid, no need to recover

liveuser@localhost-live:~$ sudo btrfs rescue zero-log /dev/sdb3
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
WARNING: could not setup csum tree, skipping it
parent transid verify failed on 711655424 wanted 368940 found 368652
parent transid verify failed on 711655424 wanted 368940 found 368652
ERROR: could not open ctree

liveuser@localhost-live:~$ sudo btrfs scrub start /dev/sdb3
ERROR: '/dev/sdb3' is not a mounted btrfs device

liveuser@localhost-live:~$ sudo btrfs scrub status /dev/sdb3
ERROR: '/dev/sdb3' is not a mounted btrfs device

liveuser@localhost-live:~$ sudo mount -o usebackuproot /dev/sdb3 /mnt
mount: /mnt: fsconfig system call failed: File exists.
       dmesg(1) may have more information after failed mount system call.

liveuser@localhost-live:~$ sudo btrfs check /dev/sdb3
Opening filesystem to check...
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
Ignoring transid failure
ERROR: root [7 0] level 0 does not match 2

ERROR: could not setup csum tree
ERROR: cannot open file system

也参与了救援

liveuser@localhost-live:~$ sudo btrfs rescue chunk-recover /dev/sdb3
Scanning: DONE in dev0                        
corrupt leaf: root=1 block=713392128 slot=0, unexpected item end, have 16283 expect 0
leaf free space ret -3574, leaf data size 0, used 3574 nritems 11
leaf 713392128 items 11 free space -3574 generation 368940 owner ROOT_TREE
leaf 713392128 flags 0x1(WRITTEN) backref revision 1
fs uuid 6d8d36ba-d266-4b34-88ad-4f81c383a521
chunk uuid 52ed2048-4a76-4a75-bb75-e1a118ec8118
ERROR: leaf 713392128 slot 0 pointer invalid, offset 15844 size 439 leaf data limit 0
ERROR: skip remaining slots
corrupt leaf: root=1 block=713392128 slot=0, unexpected item end, have 16283 expect 0
leaf free space ret -3574, leaf data size 0, used 3574 nritems 11
leaf 713392128 items 11 free space -3574 generation 368940 owner ROOT_TREE
leaf 713392128 flags 0x1(WRITTEN) backref revision 1
fs uuid 6d8d36ba-d266-4b34-88ad-4f81c383a521
chunk uuid 52ed2048-4a76-4a75-bb75-e1a118ec8118
ERROR: leaf 713392128 slot 0 pointer invalid, offset 15844 size 439 leaf data limit 0
ERROR: skip remaining slots
Couldn't read tree root
open with broken chunk error

并在救援后恢复

liveuser@localhost-live:~$ sudo btrfs restore /dev/sdb3 /dev/sda5
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
Ignoring transid failure
ERROR: root [7 0] level 0 does not match 2

WARNING: could not setup csum tree, skipping it
parent transid verify failed on 711655424 wanted 368940 found 368652
parent transid verify failed on 711655424 wanted 368940 found 368652
parent transid verify failed on 711655424 wanted 368940 found 368652
Ignoring transid failure
ERROR: root [5 0] level 0 does not match 2

Could not open root, trying backup super
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
parent transid verify failed on 711704576 wanted 368940 found 368652
Ignoring transid failure
ERROR: root [7 0] level 0 does not match 2

WARNING: could not setup csum tree, skipping it
parent transid verify failed on 711655424 wanted 368940 found 368652
parent transid verify failed on 711655424 wanted 368940 found 368652
parent transid verify failed on 711655424 wanted 368940 found 368652
Ignoring transid failure
ERROR: root [5 0] level 0 does not match 2

Could not open root, trying backup super
ERROR: superblock bytenr 274877906944 is larger than device size 209715200000
Could not open root, trying backup super

根据 smartctl 的检查,硬盘运行正常。没有重新分配的扇区,其他 ntfs/ext4 分区运行正常。

至少可以恢复数据。谢谢!

我很伤心,丢失了多年来努力积累的数据。我唯一有的备份是几个月前的,之后我做了很多修改。:'(

btrfs
  • 1 个回答
  • 24 Views
Martin Hope
shmu
Asked: 2024-03-13 13:00:26 +0800 CST

如何在 BTRFS 系统上卸载 /home?

  • 5

为了在 NixOS 上恢复 /home 的 BTRFS 快照,Wiki 表示首先要卸载 /home。

“此操作必须卸载 home” https://nixos.wiki/wiki/Btrfs

所以我的问题是如何做到这一点?我必须启动到不同的系统吗?

也许有一种更简单的方法来恢复家庭快照?

btrfs
  • 1 个回答
  • 19 Views
Martin Hope
Chameleon
Asked: 2023-03-10 16:05:24 +0800 CST

btrfs 关于可用空间开销和版本控制的问题

  • 5

我第一次敢于在我的 NAS 中格式化 18TB 磁盘,作为 btrfs。所以我有一些问题和担心,我希望我们的社区能够回答。

文件系统将在客户端计算机上与 smbd 一起使用。这是否遗漏了 btrfs 的一些重要功能?(显然 root 可以通过 ssh 访问 NAS 以在 btrfs 文件系统上进行操作)。

我听说它是​​一个版本控制文件系统。想到 Git。如果我删除了一个文件,我能 100% 地再次找到它吗?

我听说即使所有文件的累积大小为 5TB,由于版本控制,18TB 的可用空间很快就会用完,并且需要 root 命令来释放它(如果我理解正确的话,可能是通过删除以前的快照进行压缩) ). 这适用吗?现在除了文件中的实际数据,还有什么占用了大量空间?这个额外的东西包含什么信息?在空间有限的时候,现在是否可以轻松地完全删除与文件实际数据无关的任何信息?

btrfs
  • 1 个回答
  • 23 Views
Martin Hope
wuppi
Asked: 2022-04-05 23:22:13 +0800 CST

为什么 btrfs 清理处理的数据多于分配的数据?

  • 5

为什么“要擦洗的总数”比“分配的设备”大很多。

29.1TiB与21.24TiB是一个巨大的差异。

设置:我有一个 btrfs RAID 阵列。由于转换不完全,它具有 RAID1 和 RAID5 的混合数据块。但正如我所读到的,这并没有什么坏处。

btrfs f u -T .
Overall:
    Device size:                  54.57TiB
    Device allocated:             21.24TiB
    Device unallocated:           33.33TiB
    Device missing:                  0.00B
    Used:                         20.52TiB
    Free (estimated):             31.00TiB      (min: 8.99TiB)
    Data ratio:                       1.10
    Metadata ratio:                   4.00
    Global reserve:              512.00MiB      (used: 64.00KiB)
btrfs scrub status .
UUID:             yaya
Scrub started:    Sun Apr  3 01:15:01 2022
Status:           running
Duration:         55:56:56
Time left:        12:46:52
ETA:              Tue Apr  5 21:58:54 2022
Total to scrub:   29.10TiB
Bytes scrubbed:   23.69TiB
Rate:             123.33MiB/s
Error summary:    no errors found
btrfs fi df .
Data, RAID1: total=10.58TiB, used=10.21TiB
Data, RAID5: total=8.68TiB, used=8.58TiB
System, RAID1C4: total=32.00MiB, used=2.42MiB
Metadata, RAID1C4: total=23.00GiB, used=22.02GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
Ubuntu 20.04 LTS
Versions: btrfs-progs v5.4.1
Kernel: 5.13.0-39-generic #44~20.04.1-Ubuntu SMP
linux btrfs
  • 1 个回答
  • 86 Views
Martin Hope
endolith
Asked: 2021-01-17 11:55:50 +0800 CST

将硬链接转换为重新链接

  • 5

我有嵌套的文件夹,里面有一堆相互硬链接的文件。我想断开硬链接(将它们转换为单独的文件),然后立即将每一对转换为 reflink(因此它们具有不同的 inode 但使用磁盘的同一部分)。

find -type f -links +1

会找到所有的硬链接,而像这样的命令

cp --reflink=always my_file.bin my_file_copy.bin

将在不使用更多磁盘空间的情况下复制文件,将其创建为 reflink。

如何将这些组合起来通过一整套嵌套文件夹并将每个硬链接转换为引用链接,用相同的文件名替换它们?

ubuntu btrfs
  • 2 个回答
  • 256 Views
Martin Hope
Christian
Asked: 2020-10-29 06:55:18 +0800 CST

btrfs 损坏的文件系统 - 如何继续

  • 6

我的 btrfs 文件系统以某种方式损坏(父 transid,内部错误,...)。我尝试了修复选项,但我认为某些文件系统现在只是搞砸了。btrfs 卷用于备份。因此,丢失一些备份并不是什么大问题。但我只想让文件系统恢复健康状态。

如何?

root@openmediavault:/home/christian# btrfs check /dev/sdf
Opening filesystem to check...
Checking filesystem on /dev/sdf
UUID: dc7ca9ad-6af0-47e9-9c3a-860127d2c362
[1/7] checking root items
[2/7] checking extents
ref mismatch on [739855515648 16384] extent item 0, found 1
tree backref 739855515648 parent 2 root 2 not found in extent tree
backpointer mismatch on [739855515648 16384]
...
ref mismatch on [1407768510464 16384] extent item 1, found 0
backref 1407768510464 root 2 not referenced back 0x5642911036f0
incorrect global backref count on 1407768510464 found 1 wanted 0
backpointer mismatch on [1407768510464 16384]
owner ref check failed [1407768510464 16384]
ERROR: errors found in extent allocation tree or chunk allocation
[3/7] checking free space cache
cache and super generation don't match, space cache will be invalidated
[4/7] checking fs roots

更新

root@openmediavault:/home/christian# btrfs rescue super-recover /dev/sdf
All supers are valid, no need to recover

root@openmediavault:/home/christian# btrfs rescue zero-log /dev/sdf
Clearing log on /dev/sdf, previous log_root 0, level 0
Failed to find [1407768215552, 168, 16384]
btrfs unable to find ref byte nr 1407768248320 parent 0 root 2  owner 0 offset 0
transaction.c:195: btrfs_commit_transaction: BUG_ON `ret` triggered, value -5
btrfs(+0x3b748)[0x5588027c3748]
btrfs(btrfs_commit_transaction+0x12a)[0x5588027c3bcc]
btrfs(+0x5ae38)[0x5588027e2e38]
btrfs(main+0x1f3)[0x55880279be63]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)[0x7f0ef5be609b]
btrfs(_start+0x2a)[0x55880279beaa]
Abgebrochen
btrfs
  • 1 个回答
  • 1096 Views
Martin Hope
timppu
Asked: 2020-10-21 01:29:25 +0800 CST

在 btrfs 硬盘之间复制文件时检查 btrfs 错误?

  • 5

如果我有两个带有 btrfs 的单独 USB 硬盘(单模,无 DUP 或 RAID)并将文件从一个硬盘复制到另一个硬盘,btrfs 是否确保复制的文件仍然与原始文件相同,基于其 btrfs 文件校验和?

所以我可以放心,如果将一堆文件从一个 btrfs HDD 复制到另一个 btrfs HDD 时没有报错,它们都可以吗?

请注意,我不确定例如“cp”命令本身是否会进行一些基本检查,以确保在复制过程中没有任何变化,无论是 RAM 错误还是 USB 行为不端或其他原因,在复制过程中,有一点只是因为某种原因而被翻转或其他。我在其他地方了解到,例如 scp(通过网络复制文件)会进行此类内部检查,但如果 btrfs 也自动执行此操作,那么这是一个额外的保证。

这意味着我不必手动将复制文件的 md5 或 sha256 校验和与原始文件进行比较,以确保它们仍然相同,因为 btrfs 已经自动使用它自己的校验和?

linux btrfs
  • 1 个回答
  • 188 Views
Martin Hope
stufuller
Asked: 2019-11-21 12:31:03 +0800 CST

BTRFS Balance 占用 100% cpu 和 100% I/O

  • 5

我们有一个 SuSE 12、sp3 服务器(SLES,不是 openSuSE)。系统上只有一个磁盘在使用,根磁盘有几个文件系统,下面挂载了 BTRFS。

我们看到“btrfs 平衡”作业在生产日中间开始的问题。这似乎锁定了服务器,尽管似乎正在发生的是平衡过程正在消耗 100% 的 cpu 和 100% 的 I/O。

由于我们只有一个磁盘,并且由于平衡操作的原因是平衡所有设备上的块组,所以我们真的需要运行平衡操作吗?

linux btrfs
  • 1 个回答
  • 1014 Views
Martin Hope
exebook
Asked: 2019-09-18 08:34:32 +0800 CST

增加 LXD/LXC Btrfs 循环文件存储池大小

  • 7

我们的生产容器崩溃了,因为它的 LXC 存储池空间不足。

这是dh -h从容器内部:

Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       82G   78G  2.0G  98% /

这里来自主机系统的相同挂载:

/dev/loop0       82G   78G  2.0G  98% /var/lib/lxd/storage-pools/default

我记得一年前当我设置这个时,它问我 80GB 是否足够用于听起来不熟悉的东西,因为它没有说“容器磁盘大小”并说其他东西,我只是觉得我最好相信默认值选项。现在我知道这是磁盘空间限制。我现在如何提高这个限制?

此刻,我只是紧急清理了一些空间。主机实际上有 TB 的磁盘空间。

PS 很抱歉抱怨,但 LXC 的文档是我见过的最糟糕的文档之一。对于像我这样的用户来说,这没有任何意义。

PPS 我忘了我实际上使用的是 LXD,doh。lxc我打字做任何事情的事实让我感到困惑。

更新: 直观地说,我认为这个命令可以调整存储池的大小:

# lxc storage set default size 200GB

但它失败了:

Error: The [size] properties cannot be changed for "btrfs" storage pools

有任何想法吗?

filesystems btrfs
  • 1 个回答
  • 3283 Views
Martin Hope
U. Windl
Asked: 2019-08-21 22:42:25 +0800 CST

如果我删除 BtrFS 快照中的文件会发生什么?

  • 6

我有一台 openSUSE 计算机,它很早就开始使用 BtrFS(比如 Leap 42.2)。在过去的某个时刻,/tmp 子卷已满(一个大文件),我无法恢复空间,直到重新启动(rm触发了一个No space left on device)。然后一切看起来都很好至少一年。

但是最近(同时在 Leap 15.1)BtrFS 又满了,我不知道该怎么办:我有很多这样的快照:

# ls -l /.snapshots/
total 4
drwxr-xr-x 1 root root  32 Dec 18  2015 1
drwxr-xr-x 1 root root  32 May 14 09:45 1820
drwxr-xr-x 1 root root  66 May 14 09:46 1821

...

drwxr-xr-x 1 root root  32 Aug  8 08:08 1926
drwxr-xr-x 1 root root  38 Aug  8 08:09 1927
drwxr-xr-x 1 root root  38 Aug  8 08:12 1928

在成功检查了所有块的校验和(没有问题)后,我开始“平衡”,希望出现一些可用空间。但平衡似乎永远不会结束,所以我试图中止它。等待至少 15 分钟平衡中止后,我重新启动计算机尝试其他操作。当时文件系统已满 99%。

我想我会使用清理最旧的快照 ( 1) rm -rf /.snapshots/1。不幸的是,完成后,必要的程序/usr消失了,我的系统变得无法启动!

所以我的问题是:这是预期的行为,还是我做错了什么?如果我做错了什么,删除旧快照的正确步骤是什么?

btrfs snapshot
  • 1 个回答
  • 925 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve