试图在linux中使用虚拟机的同学请注意,刚刚测试下来的结果,vmware和kvm在btrfs上的IO效率极端的差。

首先是vmware,win2003,512M的实例,开机大约需要40分钟。这种效率已经远远超出了我的预期,于是我改用libvirt管理的kvm。结果依然出乎意料,debian实例的安装需要超过5分钟。由于怀疑是raw格式而非qcow2格式造成的速度差异,因此新建了一个实例,一时偷懒就放在了/下面,这个分区是ext3而非btrfs。结果安装大约在3分钟内结束,这似乎证明了我的猜想。于是我开始使用btrfs下的raw格式进行安装,结果速度依然异常缓慢。由此我怀疑到是btrfs文件系统的问题。

在ext3上创建一个qcow2格式的实例后,证实了我的猜想。问题在于btrfs的某种机制上。在网络上寻找类似问题,并没有发现。因此在blog上提出警告和问题。

有人知道为什么在btrfs上使用虚拟机会导致极端的效率问题么?hdparm和文件读写测试表明btrfs的平均效率并没有问题,磁盘也没有问题。