问题标签 [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.
linux - 修复 btrfs “btrfs parent transid verify failed on ...”
btrfs fi show
显示所有 btrfs 文件系统,但也显示很多错误,例如:
父 transid 验证失败 109973766144 想要 1823 找到 1821
文件系统仍然可以卸载和重新安装。
backup - 如何将 btrfs 快照发送到多个目标驱动器?
如何对多个源目标进行 BTRFS增量备份,这样我就不必多次运行btrfs send
?
opensuse - open suse 42.3 中的 snapper 飞跃创建大量快照
我使用 openSuse 作为我的桌面,在此之前我使用的是 Ubuntu。我的根 (/) 文件系统是 btrfs 和 /home 的 xfs。
每当我尝试运行 yast 时,即使没有更改,它也会创建一个前后快照。
例如,如果我们在 Yast 中打开硬件信息。除了 /var/lib/smartmontools/ 的硬盘属性文件修改之外,它不会做任何文件系统更改
我的问题是我如何告诉 snapper,仅当某些文件夹(排除列表或包含列表)发生真正变化时才创建快照。因为有更多的快照。什么是最佳快照配置。
我在配置 /etc/snapper/configs/root 中做了一些更改,如果有任何问题,请纠正我。
linux - 如何在 Solus OS (Linux) 下将 btrfs raid 1 添加到加密的 lvm2 卷组?
我有的:
Solus OS 在 56G SSD 上使用加密的 LVM2 安装,不带交换 - 效果很好。我有 32G 内存,所以交换现在不是问题——它是我未来的主要装备,主要用作办公室、网络、daw 和 rust 编程的桌面(不是同时进行所有操作)。
我想做的事:
在 raid 1 配置中添加两个用 btrfs 格式化的 1T hds 到实际的 lvm2 卷组,它们应该包含 /home(所有已经存在的东西)并在引导期间被挂载为 /home,这样我就有 1T 空间用于带有软件镜像的 /home。RAID 级别 1 必须用于数据和元数据。
/home 应使用已使用的关键字保持加密状态。另外,我想使用 -o 压缩力来安装 btrfs,这必须在 fstab 和 fscrypt 中完成。我目前不确定是 fscrypt 还是其他听起来相似的东西。
到目前为止我所理解的:
- 创建 btrfs RAID
- 将 /home 中的所有内容复制到临时挂载的 /home-btrfs
- 做一些魔术来获得:ssd 上的 /home 消失了,卸载 /home-btrfs 将 btrfs-raid 添加到卷组并将 btrfs-raid 安装为 /home - 一切都再次加密,但空间更大
有谁能给我解释一下吗?我不确定我是否理解它足以开始。我不怕终端或任何 cli。我刚刚决定退出 Windows 10 的供应商锁定并转而使用 Linux。而且我知道我会通过该配置获得一些性能命中,但这对我来说没问题。
我的计划目前是这样做的:
- gparted 将创建一个分区表 (gpt) 并使用 btrfs 格式化 /dev/sdb1
- 打开终端/外壳
- sudo mount /dev/sdb1 /home-btrfs
- 使用 cp -var /home /home-btrfs 将所有内容从 /home 复制到 /home-btrfs
- gparted 将在 /dev/sdc -> /dev/sdc1 上创建一个分区表 (gpt)
- btrfs 设备添加 /dev/sdc1 /home-btrfs
- btrfs fi balance start -mconvert=raid1,soft -dconvert=raid1,soft /home-btrfs
- 打开第二个 shell 来观察 raid 转换进度
- btrfs 文件系统平衡状态 /home-btrfs
- btrfs balance start -dusage=0 -musage=0 /mnt/btrfs(摆脱空块)
- 我被困住了,因为现在我无法将 lvextend、pvcreate、vgextend 和 lvm2 中的其他东西纳入我的计划。
我为我糟糕的语法道歉。
operating-system - BTRFS 文件系统
我是btrfs世界的新手。如何找到 BTRFS 的底层设备?就像它是磁盘、LVM 还是分区?我试过像btrfs scan device
. 但它只是给出了设备的一般统计数据,但实际上并不是一种设备。任何建议都是可观的。
rsync - Btrfs 和 rsync
所以我一直在寻找这个上下,但一定是在做一些根本错误的事情。我想做的事:
我已将 NAS 配置为对我的主文件夹进行快照,文件系统是 btrfs。这可以正常工作,并且正在使用硬链接。
我想复制整个快照目录以备份到 ext4 USB 磁盘上,使用 rsync -aH 保留硬链接。但是在 rsync 完成后不会保留硬链接 - 我只是一个最小的例子,我在 btrfs 卷上 rsync 一个包含 2 个不同快照(已验证具有相同 Inode)的文件 - 只是到另一个目录 - 这也创建了 2 个不同的文件。我在这里错过了一个 rsync 选项来完成这项工作吗?还是 rsync 根本无法做到这一点?错误的工作工具?
c++ - 如何使用 C++ 代码中的 BTRFS 写入时复制?
如何使用 C++ 在 BTRFS 文件系统中的文件上从假定支持它的 Linux 系统上的 C++ 代码复制文件?该解决方案是否适用于所有 Unix 系统?
CoW 根本不包含在文件系统的 C++ 标准的任何部分中。它也没有出现在 Linux 的文档中,也不是 POSIX 标准。
事实上,即使 GNU cp 实用程序可以处理写入时复制,它也可能并不总是被执行,因为它需要一个参数,即--reflink=true
强制它的使用
因此,使用 CoW 很可能需要使用低级原语,显然没有为 Linux 或更广泛的 POSIX 准备文档。
btrfs - 2 个发行版的 Btrfs 子卷
我从一年开始就使用 btrfs 作为我的文件系统。我有个问题。我可以使用一个分区和两个不同发行版的两个根子卷吗?例如,/dev/sda2 包含 subvolume root arch (@),如果我在 @arch 中改名 @,我可以在 sda2 中创建新的 subvolume @gentoo 吗?
linux - 无法安装 BTRFS
嘿,在更新期间冻结后,我的 btrfs 分区无法挂载。我尝试了所有我能找到的 Archlinux 和 BTRFS Wiki,但这还不够。
我尝试了什么和输出:
$ sudo mount -t btrfs /dev/sda3 /mnt
$ sudo btrfs 救援超级恢复 /dev/sda3
$ sudo btrfsck --repair /dev/sda3
$ sudo btrfs 拯救零日志 /dev/sda3
$ sudo btrfs check --repair --init-extent-tree --init-csum-tree /dev/sda3
btrfs - BTRFS raid-1:哪个设备读取?
我有一个具有以下配置的 raid-1:
/dev/mmcblk0p4
快又/dev/sda
慢
什么决定了哪个设备会获得 IO 读取,有没有办法控制它?