Questions tagged «btrfs»

Oracle包含在Linux内核中的写时复制(COW)文件系统。

2
用零清除未使用的空间(btrfs)
如何用零清除未使用的空间?(我正在要求用于btrfs文件系统的工具) 我在寻找比...更聪明的东西 cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero 就像FSArchiver一样,它正在寻找“已用空间”,而忽略了未使用但相对的站点。 目的:我想压缩分区映像,因此强烈建议使用零填充未使用的空间。 顺便说一句。对于ext3,ext4:用零清除未使用的空间(ext3,ext4)。在这里我要求btrfs 澄清“更智能的算法”:正如我所看到的那样,“更智能的算法”会引起混乱,在这里我最终决定添加一些内容。亲爱的读者,请考虑将文件系统视为数据结构。为简化起见,让我们想象一下自平衡的红黑树保存图,它用作关联键->值数组,其中值是整数。目标是清除所有带有零的负值。“非智能”算法将对其进行迭代,并将key:value对添加到新映射(最终将负数更改为零)。智能算法将仅检测存储负值的位置并就地清除它们。

2
写入缓存如何与跨越不同速度的磁盘的文件系统一起工作?
在具有多个磁盘和跨越慢速(HDD)和快速(SSD)驱动器的软件RAID的现代Linux系统上,如何缓存对文件系统的写入? 对于md-raid RAID1,可以为磁盘配置磁盘,--write-mostly并且--write-behind表明从较快的磁盘执行读取,而对较慢的磁盘进行写入可能会滞后。但是如何在内核级别缓存呢?内核是否在md-raid层之前或之后缓存磁盘写入的内容?在write()调用结束时,是否保证将数据写入其中一个非--write-behind磁盘? 对于btrfsRAID1,相同的情况如何发生?没有--write-behind功能,因此脏页是在设备级别还是在文件系统级别进行计数的?什么时候会返回write()? vm.dirty_*ratio可调参数如何影响这些设置?

4
如何使btrfs假装为ext4?
Dropbox刚刚宣布他们的Linux客户端将来仅支持ext4。我目前在btrfs分区上使用Dropbox(没有任何问题)。显然,xattr支持是必不可少的。ext4和btrfs都支持此功能,实际上我不知道btrfs也不支持的ext4功能。 我不知道Dropbox打算如何检测文件系统,但是有什么办法可以让btrfs假装为ext4?


2
如何删除具有多个btrfs子卷的目录?
我的根文件系统在btrfs分区上。我的/chroot目录中包含许多btrfs子卷,这使我无法使用删除它rm -rf /chroot。在试图删除所有子卷,我想上市仅低于子卷/chroot使用-o,该男子页说,它“只打印下面指定的路径子卷”。 # btrfs subvolume list -o /chroot ID 593 gen 6616 top level 5 path chroot/base-devel/root ID 594 gen 6618 top level 5 path chroot/multilib-devel/root ID 595 gen 6620 top level 5 path chroot/base/root ID 597 gen 6624 top level 5 path chroot/twm/root ID 599 gen 6628 top …
9 rm  btrfs 

2
btrfs是否适合作为备份文件系统?
现在,我在ext4之上有一个非常传统的备份文件系统结构。每次进行备份时,backup-DATE都会创建一个新文件夹,将文件rsync到该文件夹​​(使用rsync的--link-dest选项进行硬链接)。 由于我已经阅读了有关bitrot的文章,因此我希望透明地为所有文件提供一个校验和。显然ext4无法做到这一点,但是btrfs确实提供了对数据校验和的支持(甚至内置RAID1模式)。首先,我想btrfs用作支持数据校验和的“哑”文件系统,而不使用RAID,子卷快照,发送/接收等高级功能。 但是,他们的Wiki并没有真正激发人们对文件系统进行备份的信心: “尽管许多人可靠地使用它,但是仍然发现问题。您应该保留并测试数据备份,并准备好使用它们。” - 入门 “ btrfs是否稳定?长答案:[..]无论您做什么,我们都建议保留良好的,经过测试的系统外(和异地)备份。” - 常见问题解答。 我的用例是进行脱机备份。因此,该磁盘将很少使用(以小时为单位),并且会频繁插入/拔出(eSATA或USB 3.0)。必须拥有可靠的文件系统。它一定不能比ext4 wrt更糟。停电,不正常关机等 实际上是否建议将btrfs用作文件系统以进行备份?btrfs是否还有其他属性可能使它不太适合(或更多)?

2
回滚带有子子卷的btrfs子卷
是否有回退到具有子子卷的子卷快照的规范方法。因此,例如,这是我的btrfs卷布局: ID 257 gen 59802 top level 5 path __active ID 258 gen 59784 top level 5 path __snapshot ID 259 gen 59802 top level 257 path home ID 260 gen 36538 top level 257 path opt ID 261 gen 59802 top level 257 path var 因此,您可以看到home,opt和var是__active的子子卷。如果我快照__active,这是我的新布局: ID 257 gen …
9 btrfs  snapshot 

4
如何将btrfs文件系统克隆到其他介质中以保留快照的共享数据
我决定尝试btrfs突袭功能。我建立了一个btrfs sudo mkfs.btrfs -m raid10 -d raid10 /dev/sda9 /dev/sdb9 /dev/sdc9 /dev/sdd9 现在,我要克隆我现有的btrfs分区(位于linux-raid之上)。不能使用简单的cp -a,因为有40多个基于快照的备份(我希望保留这些备份),而我只会多次填满我可以多次备份的所有存储。 到目前为止,我可以看到两个选择: partclone.btrfs -s /path/to/original/fs -o /dev/sda9 -b 我想我也需要 btrfs balance start /dev/sda9 和 做到:cp -a尽可能多地增量复制到存储中,然后用于bedup对文件进行重复数据删除并循环。 什么是首选(即最佳实践)方法?我更喜欢第一个。它应该花费更少的时间。也许在任何此过程中都有一些邪恶的“陷阱”(当然,除了btrfs是试验性的事实之外) 第一个问题完全是不可能的。无论partclone.btrfs是多么棒的工具,它显然都不支持多设备文件系统。:-(
9 backup  btrfs 

2
是否有任何将btrfs CoW用作重复数据删除的重复数据删除脚本?
在Linux上寻找重复数据删除工具的地方很多,例如,参见此Wiki页面。 所有脚本几乎都只检测,打印重复的文件名或通过将它们硬链接到单个副本来删除重复的文件。 随着btrfs的兴起,将有另一种选择:创建文件的CoW(写时复制)副本(如cp reflink=always)。我没有找到执行此操作的任何工具,有人知道执行此操作的工具吗?

1
使用btrfs时,为什么df中的“大小”,“已使用”和“可用”值不匹配?
我有一个btrfs分区。当我运行时df -h,它显示: Filesystem Size Used Avail Use% Mounted on /dev/sda2 113G 101G 8.3G 93% /home 为什么呢?是否因为ext2 / 3/4为root保留了空间?或者是别的什么?如果是前者,我该如何更改并回收这些4GB? 根据btrfs Wiki,我知道元数据存储了两次,从而扩大了“已用”数据的大小: user@machine:~$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 894G 311G 583G 35% / ^^^^ user@machine:~$ btrfs fi df / Metadata: total=18.00GB, >>used=6.10GB<< *2= 12.20GB Data: total=358.00GB, …
9 btrfs  df 

2
如何扩展btrfs元数据?
我的btrfs元数据已满。(我正在使用创建每小时快照btrbk。) 如何增加/扩展分配给btrfs文件系统元数据的空间? 还是自动扩展?
9 btrfs 

1
启用btrfs配额如何影响系统?
我经常使用btrfs快照,而我感兴趣的事情之一是给定快照占用了多少空间,或者更具体地说,是btrfs快照占用了多少独占数据,以便知道是否删除快照,我将释放多少空间。 我知道找出此信息的唯一方法是通过启用btrfs配额 # btrfs quota enable / 并运行 # btrfs qgroup show / 这是非常有效的。问题是-除此以外,我实际上没有使用btrfs配额,这意味着我可以选择始终启用btrfs配额,或者在运行“ btrfs qgroup show /”命令之前临时启用它们,然后立即禁用它们。另外,我最后听说btrfs配额仍处于试验阶段(我错了吗?)。 基本上我想知道的是: 保持启用btrfs配额是否会影响系统稳定性? 保持启用btrfs配额是否会影响系统性能? 我意识到“为了安全”的答案是仅在需要时启用配额,但实际上我正在制作一个脚本,该脚本运行“ btrfs qgroup show /”并以更易读的形式打印输出,并添加代码始终启用和禁用配额会大大降低脚本的速度,并增加复杂性,因此我宁愿始终启用配额,但是我不知道它是否有缺点。
9 btrfs 

2
删除btrfs子卷后,如何检查(模拟)多少空间?
这个问题并不简单。BTRFS是COW文件系统,许多文件可以引用存储在硬盘上的一个对象。 我将BTRFS快照用作生产服务器上备份解决方案的一部分。这样,我就可以获得给定子卷的节省空间的可浏览历史记录(我使用了SnapBtr的修改)。 我有几个用于不同目的的独立btrfs子卷,以及每个子卷的备份方案。当可用空间用完时,基于的智能对数时间成本算法,我可以从每个备份池中获取最不需要的备份快照SnapBtr。 我需要一种方法,可以根据旧快照的使用期限及其备份池的重要性来加权删除每个备份后将释放的数据量。我错过了以前的信息。 我了解BTRFS上的可用空间的计算过程既微不足道,也不是很快。我需要一些可以模拟子卷删除的东西,以获取将要释放的空间的大小。 谁能帮我?我应该将此消息发布到linux-btrfs@vger.kernel.org吗?

2
如何删除名称为<FS_TREE>的btrfs子卷
我有一堆这样的btrfs快照: 20:17:37 [root@galaxy /]$ btrfs subvolume list -a / |grep apt ID 271 gen 348 top level 5 path &lt;FS_TREE&gt;/@apt-snapshot-2013-04-17_21:44:30 ID 272 gen 352 top level 5 path &lt;FS_TREE&gt;/@apt-snapshot-2013-04-17_21:46:25 ID 273 gen 361 top level 5 path &lt;FS_TREE&gt;/@apt-snapshot-2013-04-17_21:51:13 ... # lots more 我想摆脱它们。所以我尝试了 20:21:31 [root@galaxy ~]$ btrfs subvolume delete '/&lt;FS_TREE&gt;/@apt-snapshot-2013-04-17_21:44:30' …
9 btrfs  snapshot 

1
如何修复btrfs?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我已经拖曳了邮件列表,最后在Ubuntu的btrfs页面上结束了,我感到btrfs 仍然没有完整的修复工具(如其主页所示)。即使几个月前,它仍被指定为Oracle Linux的默认版本,并且包含在许多发行版中。 因此,替代地,是否存在有关如何修复的故障排除指南btrfs? 如果失败,将备份复制到FS上方是否可以解决问题?(是否需要删除快照以节省空间?还是删除损坏?)我是否应该尝试还原到以前的快照,然后从备份中还原丢失的文件?还是从@和@home快照还原丢失的文件? 注意:这是一个一般性问题。目前,我故意忽略了我的确切FS问题;我想找到常规/规范的工作流程和故障排除指南。 (好吧,好吧-这是更多细节;)): 在挂起的关机期间我关闭了电源,因此出现系统不稳定的情况。系统将启动并运行一段时间,直到写入足够的数据并冻结为止。上次我刚打开Thunderbird。这些需要更多的硬重置,并且可能需要更多的损坏。 sudo btrfsck /dev/sda1在一些错误之间振荡-通常是第一次 root 338 inode 7861227 errors 1000 root 338 inode 7904568 errors 1000 root 338 inode 7955174 errors 400 found 46242054144 bytes used err is 1 total csum bytes: 43112400 total tree bytes: 2074640384 total fs tree …
9 fsck  btrfs 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.