kvm 安装 win10,winserver2008 使用 virtio 驱动而不是 ide
virtio 比 ide 更快的原因
kvm 因为使用了硬件虚拟化,所以其 cpu 方面的运行效率是很高的。不过,kvm 在 I/O 虚拟化方面,传统的方式是利用 QEMU 纯软件的方式来模拟 I/O 设备,这样每次虚机发起 I/O 请求的时候,KVM 内核模块会捕获这次请求,然后处理后将其放入 I/O 共享页,并通知用户空间中运行的 QEMU 程序。QEMU 获得 I/O 操作,交由硬件模拟代码(Emulation)来模拟出本次 I/O 操作之后,将结果放回 I/O 共享页,同时通知 KVM 内核模块读取 I/O 共享页的操作结果,把结果返回给虚机。由于这种方式每次 I/O 操作经过的路径很复杂,其效率很低。
所以就提出了 virtio 这种方案,virtio 其实就是一个运行于 Hypervisor 之上的 api 接口,让客户机知道自己运行于虚拟化环境中,进行 I/O 操作的时候通过 virtio 与 Hypervisor 通信,从而是虚机有更好的性能。
下载 virtio 驱动
笔者在 centos7.4 上安装的 kvm,所以使用下面的命令下载 virtio 驱动镜像
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virtio-win -y
rpm -ql virtio-win | grep iso
kvm 创建虚拟机
qemu-img create -f qcow2 win-2c8g150g.img 150G
使用 virtio 驱动安装虚拟机:
virt-install -n win-2c8g150g --vcpus=2 --ram=8192 --os-type=windows --os-variant=win2k8 \
-c /vm/iso/cn_windows_server_2008_r2_sp1_x64.iso \
--disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy \
--disk path=/vm/win-2c8g150g.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 \
--noautoconsole
笔者在安装虚拟机时没有使用 virtio,所以直接将 ide 改为 virtio
在开始之前,你需要保证能通过 virt-manager 连接到你的虚拟机。
然后编辑你的虚拟机配置
编辑虚拟机配置
新增一块测试硬盘
qemu-img create -f qcow2 test.qcow2 1G
virsh edit win2008
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/kvm/ps/test.qcow2'/>
<target dev='hdc' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/usr/share/virtio-win/virtio-win.iso'/>
<target dev='hdb' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于