Questions tagged «btrfs»

B树文件系统,下一代Linux文件系统

2
btrfs进行分区和subvol策略
我是btrfs的新手,我希望获得有关分区和子卷策略的一些建议。该系统是轻型Web服务器,并假定它只有一个磁盘。 使用ext文件系统,我总是为/,/ var,swap(可能还有/ boot和/ home)创建了单独的分区。对我而言,/ var始终包含所有有价值的Web服务器数据(例如MySQL数据库),却不包含任何代码。这使我可以轻松地将数据移动到其他系统(移动或复制/ var)或重新安装操作系统,而不会破坏数据(重新格式化/)等。 使用btrfs,我可以做相同的事情,使用相同的分区方案,并且在每个分区上都有单独的btrfs文件系统。或者,我可以有一个分区,并为/,/ var等使用btrfs子卷。这样做的利弊是什么? 在我看来,例如拥有/ -only和/ -var-only快照可能会有一些优势(例如“将所有数据还原到以前的检查点”与“还原所有代码”与“同时还原两个”)。是这样吗,还是只是那样出现? 额外的问题:在btrfs文件系统下面使用lvm有什么好处? 奖励问题2:如果系统有两个相同大小的磁盘,您的建议将如何改变? 任何指向“这是我的工作以及它对我的工作方式”的指示,也将不胜感激。我可以找到很多关于我可以做的事情的资料,但是我却没能说“这就是我尝试过的,这就是它起作用或不起作用的原因”。

2
Btrfs:3台以上设备上的RAID 1
我目前有一个Btrfs分区,其中包含四个设备:三个3 TB驱动器和一个4 TB驱动器。数据和元数据是RAID 10,所以我有6 TB的可用空间,几乎已满。我曾预计Btrfs中对RAID 5的支持将在我的存储空间用尽时成熟,但是显然这不是优先事项。 我的问题是:有没有理由比RAID 1更喜欢RAID 10?我知道当前硬件上的真实RAID 1应该为我提供3 TB的可用空间,每个块有4个副本,但是Btrfs显然不会这样。从Btrfs常见问题解答: btrfs首先将所有设备组合到一个存储池中,然后在创建文件数据时复制这些块。RAID-1当前定义为“不同设备上所有数据的2个副本”。这与MD-RAID和dmraid不同,因为它们可以为n个设备精确复制n个副本。在三个1 TB设备上的btrfs RAID-1中,我们获得了1.5 TB的可用数据。因为每个块仅复制到2个设备,所以写给定的块仅需要精确地将2个设备写入。只能从一个阅读。 从Jens Erat的Stack Overflow来看: Btrfs按块分配数据(及其RAID 1副本),因此可以很好地处理不同大小的硬盘。您将收到所有硬盘的总和,然后除以2 –无需考虑如何将它们成对放置。 如果一个以上的磁盘发生故障,则始终有丢失数据的危险:RAID 1无法同时处理两个磁盘的丢失。在上面给出的示例中,如果错误的两个磁盘消失了,您总是会丢失数据。 这是否意味着由于4 TB驱动器,从RAID 10到RAID 1的重新平衡将为我额外提供500 GB的数据(6.5 TB而不是6 TB)?我是否有理由坚持使用RAID 10?
10 linux  raid  btrfs 

2
是在mdadm raid10顶部的Btrfs,还是在裸机上的btrfs raid10?
我有一个由管理的RAID10,mdadm并且在它上面有EXT4文件系统。但是,我喜欢BTRFS,并且想将EXT4文件系统转换为BTRFS,但是我在考虑性能和可维护性。对于使用BTRFS的示例,我无法像使用mdadm一样轻松地查看将磁盘移除/添加到阵列中时的状态(或者也许我只是不知道如何-我搜索了BTRFS文档,但找不到该状态)。 因此,根据您的经验,更好的选择是: 只需转换EXT4文件系统并让mdadm管理RAID10? 要摆脱mdadm,让BTRFS做所有事情?
9 linux  mdadm  btrfs 

1
调整作为多设备卷一部分的BTRFS分区的大小是否安全?
我有一个多设备BTRFS卷,我想重新调整一个分区的大小。更准确地说: 我的/ home分布在两个单独的BTRFS分区中。我缩小了另一个分区,以允许其中一个BTRFS分区增长。我知道并且曾经使用过的一种方法来创建新的BTRFS分区并将其添加到池中。 一种更干净的方法是使用我创建的未分配空间来扩展BTRFS分区。我只是弹出一张GParted live CD并扩大分区本身,而不是在未分配的空间上创建一个全新的分区。 问题是:这样安全吗?操作系统会找到分区上已经存在的文件吗?操作系统是否仍将分区识别为多设备卷的一部分?

6
是否有使用btrfs的稳定Linux发行版?
我是FreeBSD上ZFS的忠实拥护者(自从稳定之前就一直在家庭服务器上使用它;最前沿的功能,宝贝!),我想尝试btrfs来了解它的发展情况。 由于它仍在开发中,因此通常的主流发行版都没有btrfs作为选择。我已经有好几年没有使用Linux了,所以我真的不知道尝试btrfs的最佳选择是什么。 要求: 易于安装 支持btrfs,而无需重建内核 谢谢!


0
使用btrfs重复数据删除创建备份系统
我正在考虑制作自己的存档/备份解决方案。这听起来不错,但我看不到另一种方式来满足我的要求。 我有三台我想要备份的Windows PC。它们包含我的工作数据和家庭照片。总量约为2 TiB并且在增加。我担心直接数据丢失(磁盘驱动器崩溃),但也担心数据损坏(勒索软件)。 我想用btrfs分区制作一个linux服务器。每周,我都会将所有数据复制到新目录,然后运行脱机btrfs重复数据删除操作以节省磁盘空间。然后布局看起来像 backup_pictures 20170601 file1.jpg file2.jpg 20170608 file1.jpg file2.jpg file3.jpg Dedup可以找出file1.jpg并且file2.jpg是相同的,因此它们不会占用更多的磁盘空间。btrfs分区仅对linux可见; 将有另一个驱动器与Windows PC共享,可以接收新的备份集。 这将给我一个相当低成本(低于500美元)的解决方案,具有大量空间和无限的保留时间。在线服务每月40美元起。我甚至可以使用btrfs sync将所有文件同步到另一个服务器,位于不同的物理位置。 我错过了什么?

1
如何使用内部SSD缓冲写入外部驱动器
这个问题有点奇怪,我会尽量详细说明。 我正在重新利用旧计算机作为家庭备份解决方案。数据的最终安放位置是通过USB 2.0连接的外部G-Drive(我告诉你它是一台旧计算机。)我想弄清楚如何在计算机的新闪亮SSD驱动器上使用一些空间来缓冲写入到外部驱动器。我正在使用OpenSUSE Leap 15,安装了服务器。 到目前为止,我已经找到了bcache,我可以将其设置为回写模式并获得类似于我正在寻找的东西。问题是我将缓冲的分区使用btrfs(透明压缩),并且已经报告了使用这两者一起报告的问题。该牌坊维基说,这是固定在3.9,但我不觉得在链接的来源,任何地方。 还有lvmcache。我看到的唯一的回写参考是手册页中的简短昙花一现,没有进一步解释。我也已经在使用lvm将SSD分成带有精简池的各个分区,所以我担心使用lvmcache会要求我在两个驱动器上创建一个新的专用lvm-vg,以防止精简池传播到外部。此外,在BTRFS维基中有一些注释,在任何块级别上使用BTRFS都可能导致问题。 DM-Cache是另一个高度可配置的选项,我仍在学习中。由于它在块级别上工作,它仍然可能与btrfs冲突。 最后一个选项是使用zfs设置基于SLOG的ZIL。该消息来源表示,对于1Gbps连接,最大的SLOG必须是.625 GB,因为它会每5秒刷新一次。但是,基于广泛的测试,我可以获得的最高持续写入速度是30MB / s。这意味着将一个.625GB的slog转储到ZFS驱动器需要20秒。(更新:基于此源和此源,SLOG设备不是为了提高吞吐量,只是为了减少延迟。)(更新到更新:在评论中Dan澄清了这是什么意思。它仍然可能是ZIL可以在这种情况下使用。) 我知道大写会不可避免地受到外部连接的瓶颈。我认为大约几十GB的任何东西最终都会达到30MB / s。我的目标不是解决这个问题。我可能会使用rsync将数据发送到外部,所以我想加快大多数小于10GB的传输速度。 我基本上好奇是否有其他人做过与此类似的事情,并提出建议,或者可以指出某个特定选项比其他人更好。现在我正在考虑ZFS / SLOG选项是最好的选择,使用10GB的slog驱动器,但我不知道那么大的驱动器将如何使用5秒刷新。 tl; dr:在内部驱动器上缓冲大约10GB的数据然后将其传输到外部驱动器的最佳方法是什么(虽然我知道并非所有这一切都是完全推荐的)?
3 ssd  cache  opensuse  lvm  btrfs 

0
如何取消删除btrfs多磁盘卷上的目录
我是btrfs的新手,有问题。我最初将其发布为一个相同问题的答案,但有人告诉我应该再问一次。 首先是第一件事。我已经用尽了Google,并尝试了btrfs-undelete脚本。我没有恢复目录的运气。我需要尽快恢复它,因为重要的文件也在驱动器上,并且我们已经将其卸载,直到我们弄清楚了。 我已经尝试了几个街区,但在这里遇到了同样的错误。 我已经尝试过btrfs还原,如您在此处看到的。 $ sudo btrfs restore / dev / sde / media -v -i -t 1060780900352父级Transid验证失败于1060780900352想要39805找到39797父级Transid验证失败于1060780900352想要39805找到39797父级Transid验证失败于1060780900352想要39805发现39797父级Transid验证在1060780900352上失败想要39805找到39797忽略Transid失败无法设置扩展区树无法读取fs根目录:-2扩展区缓冲区泄漏:启动1060780900352 len 16384 我的设置:在RAID 0的单个btrfs群集中有两个4tb驱动器。我知道,无需提及这个想法有多糟糕。因此,我的妻子正在学习Linux,可以说她再也不允许靠近服务器了。她运行命令sudo rm -rf / media / Movies尝试删除单个文件,这就是我们在这里的原因。 好吧,我的那个文件夹中有1.5TB的文件(数百个文件)。我可以花另外2个月的时间再次翻录我的所有DVD或恢复我的目录。我真的很惊讶btrfs没有更好的文件恢复文档。或可用于此目的的工具。当她告诉我这件事时,我做的第一件事是停止所有进程写入该挂载,从fstab中删除btrfs卷,然后重新启动。由于某种原因,umount在btrfs挂载上对我不起作用。 因此,这是部分lsblk。sde和sdb1都在卷中。我仍然不确定为什么sde不显示任何分区。 名称MAJ:MIN RM大小RO类型MOUNTPOINT sdb 8:16 0 3.7T 0磁盘└─sdb18:17 0 3.7T 0 part sde 8:64 0 3.7T 0磁盘sdf 8:80 0 1.8T 0磁盘└─sdf1 …

1
将rsynced的文件夹重命名为BTRFS卷并在那里创建快照所需的空间加倍?
我有一个设置,我通过rsync将一堆文件夹备份到外部服务器到BTRFS卷上,并定期快照卷,以便能够轻松访问备份的不同时间点。 将重命名我的实时系统上的其中一个文件夹会导致此文件夹在我的备份中占用两倍空间,一次在旧名称下,再一次在新名称下? rsync使用--delete标志来完全同步本地和远程目录。
1 backup  rsync  btrfs 

1
btrfs(v0.20-rc1)检查树块失败
我正在尝试恢复一个btrfs文件系统并且已经死路一条 btrfs check --repair --init-csum-tree --init-extent-tree /dev/mapper/VG_00-LV_opt enabling repair mode Creating a new CRC tree` Check tree block failed, want=20975616, have=0 Check tree block failed, want=20975616, have=0 Check tree block failed, want=20975616, have=0 Check tree block failed, want=20975616, have=0 Check tree block failed, want=20975616, have=0 read block failed check_tree_block Couldn't …
1 linux  btrfs 

0
使用partclone克隆btrfs RAID对会产生大量可恢复的错误
我的家庭服务器(Debian Jessie)有一对用于批量存储的1TB磁盘,在原始设备(无分区)上配置为RAID1镜像卷。 当我将这些磁盘换成两个新的3TB驱动器时,我很难找到关于如何移动数据的任何好的指导/示例。 最后,我选择的程序是将机器引导到GParted实时环境中,并使用partclone.btrfs将每个源磁盘复制到其替换中。这很简单但有风险,因为克隆会复制卷/子卷UUID,因此重新启动计算机并将所有磁盘连接起来是不安全的,因为重复的ID会混淆btrfs。 断开旧磁盘后,我重新启动,然后机器启动并重新安装原始UUID上的新磁盘,表明克隆成功。但是当我运行btrfs scrub时,它会产生数千个可恢复的错误。看起来每个块校验和可能有一个错误。 擦洗完成后,卷看起来运行正常,第二次擦洗通道显示没有错误。 我在克隆单个驱动器时遇到同样问题的人在此网站上发现了一篇帖子,因此它似乎并不特定于RAID卷。 有没有人知道在物理设备之间移动数据时这是预期的行为(校验和失效)还是partclone不像它声称的“btrfs意识”?
1 debian  raid  clone  btrfs 

2
为什么系统快照如此之小?
假设有一个名为的文件bob,大小为10GB /home。我制作了快照/home并删除了原始bob文件。但是我仍然可以访问bob文件,因为我有快照。我的问题是,如果我多次这样做,硬盘驱动器怎么会不满?因为快照的大小很小。
1 linux  snapshot  btrfs 

0
btrfs包含更多数据,可以声称
对不起,我知道这个btrfs df问题#1012819281。 我将我的数据从ext4转换为btrfs(由于需要增量备份)。我使用了一个Ubuntu Trusty实时系统,因为有关于使用btrfs 4进行转换的警告。据我所知,一切顺利,查看数据。但是btrfs fi df / data显示 Data, single: total=1.71TiB, used=1.70TiB System, single: total=32.00MiB, used=140.00KiB Metadata, single: total=613.00GiB, used=585.60GiB GlobalReserve, single: total=512.00MiB, used=0.00B 所以元数据是巨大的。我阅读了有关这方面的问题,平衡了元数据(-m,-musage = 0,甚至是完全平衡),并且还进行了清理。没变 让我感到困惑的是: root@home-le:/data# du -hd0 2.3T . 这是来自旧版ext4驱动器的预期数据量,但远远超过上面显示的df。 那么......任何人都可以解释这里发生了什么吗?
btrfs 

2
BTRFS或LVM异构RAID
我正在为我的家人创建一个大型的(3.5TB +)备份服务器。 我已经拥有足够的硬件,并且现在不想再购买任何硬件。我设想的配置如下所示: 两个1TB驱动器 两个750GB驱动器 RAID 5? 分布式奇偶校验 可以容忍一个硬盘故障 BTRFS或LVM +精简配置 优先选择BTRFS 将来可以添加更多驱动器 这可能吗?我知道BTRFS可以将多个驱动器融合在一起成为一个文件系统,而无需奇偶校验,但是我想至少维持一个驱动器故障(我对移动部件一无所知)。 最坏的情况是,我只能在1TB驱动器上创建750GB分区,但是使其完全相同并非易事,而且很浪费。
-1 raid  lvm  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.