为什么建议在 BTRFS 上的虚拟机映像中添加 nodatacow,但使用 QCOW2 磁盘就可以了?

为什么建议在 BTRFS 上的虚拟机映像中添加 nodatacow,但使用 QCOW2 磁盘就可以了?

据我所知,建议禁用 VM 映像的写入时复制,以避免 BTRFS 性能下降。然而,没有人建议不要使用qcow2磁盘映像格式,尽管它是写磁盘上的副本。

这背后的原因是什么? BTRFS的CoW和qcow2CoW在技术上有什么区别?

答案1

这是因为,由于 btrfs 的工作方式,文件内部的非顺序写入可能会导致大量碎片,而碎片通常会降低性能。这不仅适用于虚拟机映像,也适用于发生非顺序文件内写入的其他文件类型,例如数据库。

我不知道具体细节,但我想,由于 QCOW2 是专门为非顺序文件内写入而设计的,因此它专门为此目的进行了优化(“文件”在这里是虚拟磁盘;实际上是一样的)。

相关内容