解决VirtualBox嵌套虚拟化KVM子机启动超慢的问题

本文介绍了如何解决VirtualBox中KVM虚拟机启动速度慢的问题。通过将虚拟磁盘格式从raw转换为qcow2,并将磁盘接口由ide改为virtio,成功减少了启动时间。经过调整,启动时间从原来的二三十分钟缩短到了四分钟左右。
      之前在virtualbox嵌套安装KVM虚拟化的时候,使用VNC Viewer安装子机的时候,速度还行,但是安装系统后启动子机的时候速度超慢。从启动到出现登录界面大约需要二三十分钟。该调整的都调整了,还把virtualbox升级到最新的5.0,还是不行。 后来又发现如果使用默认的虚拟磁盘格式raw的话,系统会一次性将指定的磁盘大小全部分配出来,而使用qcow2的话,是动态分配虚拟磁盘大小。我就将现有的虚拟磁盘进行了一次转换:

qemu-image convert -f raw -O qcow2 /kvm/vm/vm1.img /kvm/vm/vm1.qcow2

然后修改配置文件:

virsh edit centos

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/kvm/vm/vm1.qcow2'/>
      <target dev='hda' bus='ide'/>
</disk>

重启libvirtd
service libvirtd restart
然后启动虚拟机
virsh start centos

监测后发现启动时间用了十分钟,比之前的少了一半的时间,不过还是有些慢

今天看铭哥之前发的一个比较详细的KVM的帖子,最后一段克隆虚拟机里的配置文件有一个修改磁盘接口的地方不是ide而是virtio。突然脑子灵光一现,会不会是接口的问题导致启动速度慢呢?然后我就做了如下修改:
virsh edit centos
“centos”是虚拟机的名称

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/kvm/vm/vm1.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
当时倒数都二行,我是删除掉的,这一行是子系统启动时系统自动写入的。由此可见修改KVM硬件配置时,如果遭到address这一行不会写的时候,可以直接把这行删除掉,系统会自行分配相关的信息给这个设备。
个性后,保存退出

重启libvirtd
service libvirtd restart
然后启动虚拟机
virsh start centos

我监测了一下启动,这次的启动时间才4分多一点,如下图:
 

总结一下,如果使用virtual box在虚拟机里做嵌套虚拟化实验的话,在使用默认的配置安装完系统后,还需要进行以下二步:
1,将现有的虚拟磁盘从raw格式转换成qcow2格式
2,修改配置文件中虚拟磁盘接口,将ide修改成virtio

更多Linux方面的资料请访问: http://www.aminglinux.com/bbs/?fromuid=4297
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值