LVM/ 上访问 btrfs 速度慢

LVM/ 上访问 btrfs 速度慢

我们的服务器上有这样的设置:

  • Ubuntu 14.04(以前是12.04)
  • 10TB RAID-6系统
  • LVM(1个VG,2个LV)
  • ext4 分区(~2TB)
  • Btrfs 分区(~8TB)

上个月重新启动后,系统速度很慢。首先,我们认为这是因为 RAID 正在重新同步(一个驱动器未添加并被重新激活)。但最终完成后(12-13 天),访问 Btrfs 的速度仍然明显缓慢。 ext4访问似乎正常。

设置此功能的系统管理员(今年夏天离开的)已经在 Btrfs 挂载上使用了 autodefrag,noatime。

我们可以做什么来让 Btrfs 再次提速?

答案1

我无法发表评论,如果这不是一个好的答案,我很抱歉。您应该检查您的驱动器。我认为 10Tb 的 12 天 rsync 时间太长,应该更像是 12-24 小时。使用 smartctl 查看不同的驱动器,检查是否有很多错误:

for i in a b c d e f g h i j k l; do echo $i ; smartctl -x /dev/sd$i | grep occurred | head -1 ; done

我发现 RAID 工作因此而变慢。 IIRC Btrfs 比 ext4 需要更多的磁盘访问来进行目录查找,这可以解释访问速度的差异。

答案2

您刚刚堆叠了三层磁盘 I/O 间接,您想知道为什么它的性能很差?

计算机科学中有一句老话,归因于大卫·惠勒:

计算机科学中的任何问题都可以通过另一层间接解决。

这不是真的。有一个问题你无法用这种方式解决:系统太慢。 (无论如何都需要添加更多硬件。在这种情况下需要更多主轴,或集群,或负载平衡等)

Btrfs包括 LVM 功能,但您已经将其堆叠在Linux的LVM2层并把在硬件 RAID-6 系统之上。您还做了什么,在这个摇摇欲坠的抽象堆上托管虚拟机,以便您可以添加另一层或两层文件系统间接?

您已寻求建议,所以这是我的:折断其中一些层。

如果是我,我会配置硬件磁盘子系统JBOD并将 Btrfs 直接放在它上面。

更广泛地说,您不应期望 Btrfs 能够实现与ext[234].你不是在比较苹果与苹果。 Btrfs 为您带来了更高级别的数据完整性,因此它的运行速度自然会慢一些。坦斯塔足球俱乐部

相关内容