使用什么KVM磁盘types?

我正在设置一些KVM虚拟客户端,我正在讨论使用哪种磁盘types。 我一直没有find一个很好的资源在网上,每个人的利弊得失。

你能帮我创build一个不同磁盘types的列表和每个的优缺点吗? 以下是我所知道的磁盘types:

  • 原始图像
  • qcow2
  • 专用分区(例如,在LVM中)

我很好奇这些标准:

  • 易于设置(创build每种types有多容易)
  • 性能
  • 轻松克隆
  • 易于扩展(使更大,所以虚拟客户端有更多的磁盘空间)
  • 特定于该磁盘types的function
  • 易于备份
  • 迁移到其他主机

你能帮我评估我的select吗?

我将专注于原始图像和LVM。

原始图像更容易备份和复制,因为它只是一个文件,你可以用它做任何你可以做一个简单的文件。 此外,避免使用特定的格式,例如将其安装在循环设备上,以便在发生崩溃或问题时(甚至在没有虚拟化的备份服务器上)访问文件。 另一方面,原始图像文件受内核文件caching的影响,所以在处理崩溃和closures时必须非常小心,因为VM sync()并不意味着主机服务器sync()将文件到磁盘。 我遇到了很多问题。

LVM绕过caching问题,比文件(AFAIK,它可能在过去几个月已经改变)有更好的性能,并具有备份快照的优势。 改变磁盘的大小也并不复杂,但比原始文件稍微小一些。 此外,借助LVM,您可以设置DRBD进行实时迁移/故障切换。

在我看来,除非你有非常特殊的文件需求,否则请使用LVM。

考虑到您给出的考虑清单,绝对要和LVM一起去。 使用qcow2的唯一好处是允许创build快照。 这些快照远远优于LVM快照。 RAW当然没有快照选项,但是RAW图像可以作为qcow2快照的基础。

  • 易于设置(这是多么容易 – 创build每种types):所有相同的,由qemu-img使用的raw / qcow2,由fdisk / lvm api使用的分区/ LV
  • 性能:原始LV或块设备最快,RAW文件接下来,qcow2有最多的开销,但它是最丰富的function丰富
  • 轻松克隆:qemu-img用于这一点,它可以考虑已经拍摄的快照。 与LV其他块开发,你可能需要使用DD
  • 易于扩展(使 – 更大,所以虚拟客户端有更多的磁盘空间):如果这是重要的,LV是最好的select。 通常情况下不是这样,因为您只需添加另一个虚拟磁盘或任意大小,并且您还可以使用稀疏磁盘过度使用存储
  • 特定于该磁盘types的function:qcow2是function最丰富的格式,正如我已经提到的。 它可以与一个原始图像btw结合,使用raw作为基础图像,qcow2作为快照
  • 轻松备份:复制文件,或dd / cpio – 不是一个真正的问题
  • 迁移到其他主机:对于实时迁移,您通常会使用集中存储,无需移动映像。 块迁移也是可能的。 至于在离线模式下将虚拟机从主机移动到主机 – 与虚拟机的备份/恢复相同

更容易有它的好处,但是我最近发现了KVM 中唯一的磁盘格式,允许快照集成内存,虚拟机的运行状态在qcow2上运行几分钟。