问题标签 [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 RAID 上的驱动器?
我目前正在运行 BTRFS RAID5,出于空间要求,我移至此。
我知道 RAID56 目前不稳定。
是否可以在任何 BTRFS RAID(RAID 1 / RAID5 / RAID6)上对发生故障的驱动器进行热交换或断开驱动器而不进入只读状态?我不确定该怎么做。
我目前的设置,看起来 /dev/sdc 可能会失败。我已经运行了一次擦洗,它已经纠正了所有错误。我的想法是断开驱动器,擦除并运行坏块并重新连接,但我希望在所需的时间内保持挂载。
btrfs-progs v5.10.1
任何建议将不胜感激!
installation - Arch Linux 安装:错误:根设备挂载成功,但 /sbin/init 不存在
我对 linux 还很陌生,但我决定直接使用 arch-linux 来熟悉一切。不幸的是,我什至无法完成安装——真丢脸。
设置拱门后启动时的错误是:
我在 lvm 上的 luks 上找了 btrfs
布局看起来像这样
这些是我用来设置 arch 的命令和配置:
dd status=progress if=/dev/zero of=/dev/sda
擦除磁盘
gdisk /dev/sda
o
清除 gpt 表
引导分区
lvm分区
w
写入分区更改
设置 lvm
设置加密
制作文件系统
创建 btrfs 子卷
挂载 btrfs 子卷和 BOOT 分区
pacstrap /mnt base linux linux-firmware lvm2 btrfs-progs amd-ucode vim
安装必需品
genfstab -L /mnt > mnt/etc/fstab
生成 fstab
arch-chroot /mnt
基本配置
vim /etc/mkinitcpio.conf
mkinitcpio.conf
内容:
mkinitcpio -p linux
bootctl install
echo "default arch" > /boot/loader/loader.conf
vim /boot/loader/entries/arch.conf
arch.conf
内容_
exit
umount -a
poweroff
从计算机中拉出拱形安装介质并启动它。
开机输出
显然我还没有设置 cryptswap 和 crypttmp。这些将使用 crypttab 和 fstab 进行设置。我只是提到这一点,并且高度怀疑这是问题的一部分,因为它们只是目前没有被任何东西识别的分区,不是吗。
我希望我没有错过我所做的任何命令或配置 - 我正在输入我观看的视频,因为我发现没有一个视频具有我使用的 btrfs、luks、lvm 配置。感谢您的时间/帮助并阅读此内容。
linux - “usebackuproot”挂载选项在 BTRFS 上生效后我该怎么办?
更改 BCache 缓存设备后,如果没有“usebackuproot”选项,我无法挂载我的 BTRFS 文件系统;我怀疑没有任何磁盘故障的损坏。我尝试重新创建以前的缓存设置,但似乎没有帮助。
那么问题来了,现在呢?两者都btrfs rescue chunk-recover
失败btrfs check
了,但是使用“usebackuproot”选项我可以以r/w方式挂载它,数据看起来很好,并且btrfs rescue super-recover
没有报告任何问题。我目前正在执行清理操作,但还需要几个小时。
我可以信任存储在该文件系统上的数据吗?我在损坏发生前不久制作了一个只读快照,但仍在同一个文件系统中;我可以相信吗?是否会btrfs scrub
或任何其他操作真正检查我的任何文件是否损坏?我是否应该将“usebackuproot”添加到我的 /etc/fstab(和 update-initramfs)中并收工?
linux - CoW 是否适用于具有相同内容但不是由 `cp --reflink` 创建的文件?
我认为 CoW 可以解决这个问题。
那么这个呢?
在这种情况下,他们是否使用了两个文件的磁盘空间?
在我的用例中,我的磁盘上没有很多复制的文件。但是,程序会生成许多相同内容的文件。
我希望 CoW 对此类文件有效,但如果没有,压缩不是更有效吗?这就是我问这个问题的原因。
backup - btrfs 在旋转的增量文件夹上发送/接收
我正在使用增量备份,rsnapshot
结合自定义
cmd_cp
和cmd_rm
使用 btrfs 快照,这会产生多个每日 btrfs 子卷:
.sync
是使用 SSH 从我备份的服务器同步到的文件夹。完成后会发生这种情况:
cp 命令转换为btrfs subvolume snapshot -r .sync daily.0
.
这一切都很好。但现在我也想将所有备份同步到另一台服务器,所以我拥有所有备份的完整镜像。此同步应该始终有效,即使它会在一周后同步(可能是由于 SSH 连接问题)。
通常同步会很容易使用 btrfs 发送和接收父快照,如 wiki 所述: https ://btrfs.wiki.kernel.org/index.php/Incremental_Backup#Doing_it_by_hand.2C_step_by_step
我想象了一个循环,它只发送所有日常文件夹并维护旧备份以供父参考。
但在这种情况下,daily.0
移动到daily.1
,从 1 移动到 2,依此类推。所以这行不通。
我可以向远程服务器发送一个简单mv
的,但我不能相信这一点,因为如果出现任何错误,一天后文件夹结构将不正确。我想要一个真正的镜像,但要使用 btrfs 工具。
有没有人处理过类似的情况或知道将所有子卷克隆到另一台服务器的最佳方法?
非常感谢!
encryption - 加密和压缩 BTRFS 文件系统的延迟问题
我在 Pop OS 20.04 下的 BTRFS 文件系统配置存在很大的延迟问题。
当我进行更新时,它会冻结我的计算机,有时我必须等待 5 秒钟才能刷新浏览器上的网页。
要在 Windows 10 虚拟机上启动 iTunes,最多可能需要 6 分钟!运行 Windows 10 虚拟机对我的 POP OS 响应能力来说简直是太可怕了。
这是我的配置:
该分区也使用 LUKS 加密(版本 2)加密:
延迟问题更多来自 zstd 压缩还是来自 Luks 加密?
我应该更改所有磁盘的压缩类型吗?
filesystems - fsync(fd) 会意外刷新整个文件系统吗?
根据 API,它只接受文件fd
,但是此操作是否有可能意外地将整个文件系统刷新到磁盘?
例如,如果文件系统正在记录日志并且我在此 fd 上执行 fsync,它是否可以只刷新整个日志,此时所有文件都将被刷新(不仅仅是这个)?
我特别想知道 fsync(fd) 是否可以为 ext4、zfs 和 btrfs 同步整个文件系统。
linux - 无法删除任何文件上的 C(写入时不复制)属性
所以多年来我一直在使用 btrfs 没有任何问题,直到最近我注意到我所有的新文件似乎都有 +C 属性,有些没有,我一直无法弄清楚是什么原因文件属性有 +C
根据我的理解,如果我运行:
它应该删除 C 属性,但即使使用 sudo 该命令似乎也没有做任何事情,尽管我可以添加/删除其他属性,而不是 C。
我认为它可能是 fstab 但似乎很好,我什至在最后添加了 datacow
有什么方法可以修复我的文件系统,以便可以在写入时再次复制文件?
docker - 来自守护进程的错误响应:stat /var/lib/docker/btrfs/subvolumes/[...]: no such file or directory
我手动删除了一个 docker 管理的子卷
但是当我尝试重新创建时,它给了我这个错误,如果不核化 docker 安装,我将无法解决
已经尝试stop
/rm -f
容器,docker system prune -f
但systemctl restart docker.service
无济于事
ubuntu - ext4 和 btrfs - gui 和 df 显示不同的容量
我正在将 ext4 的可用空间与 btrfs 和驱动器容量的 df 输出与 Ubuntu 20.10 上的 gui 磁盘属性进行比较。
跑完之后
我问df /dev/sdy1
驱动器的容量是多少:
或df -h /dev/sdy1
查看人类可读的:
但是,如果我在 Ubuntu 20.10 的 gui 中打开驱动器的属性,它显示的已用空间几乎是 df 的两倍:
我想拥有更多可用空间,所以我也尝试使用 btrfs 格式化驱动器。
跑完之后
我问 df /dev/sdy1 驱动器的容量是多少:
或df -h /dev/sdy1
查看人类可读的:
但是,如果我在 Ubuntu 20.10 的 gui 中打开驱动器的属性,它会显示 2.2GB,是 df 显示的 628 倍。
- 如果我想查看驱动器的实际可用空间,我应该看什么?
- 是什么导致了 gui 和 df 之间的这种差异,为什么 btrfs 比 ext4 更重要?