设为首页 收藏本站
查看: 596|回复: 0

[经验分享] how to configure libvirt to use virtio with KVM guests

[复制链接]

尚未签到

发表于 2015-10-10 13:41:32 | 显示全部楼层 |阅读模式
Contents

[hide]

  • 1
    Virtio

    • 1.1
      Requirements
    • 1.2
      Network driver
    • 1.3
      Disk (block) device driver
    • 1.4
      External links


[edit]
Virtio
  So-called "full virtualization" is a nice feature because it allows you to run any operating system virtualized. However, it's slow because the hypervisor has to emulate actual physical devices such as RTL8139 network cards . This emulation is both complicated
and inefficient.
  Virtio is a virtualization standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. This enables guests to get high performance network and disk
operations, and gives most of the performance benefits of paravirtualization.
  Note that virtio is different, but architecturally similar to, Xen paravirtualized device drivers (such as the ones that you can install in a Windows guest to make it go faster under Xen). Also similar is VMWare's Guest Tools.
  This page describes how to configure libvirt to use virtio with KVM guests.

[edit]
Requirements


  • KVM or recent (not 0.9.1) development QEMU
  • A virtio-compatible guest: any Linux OS with kernel >= 2.6.25 should be OK. Fedora 9 and above are explicitly supported.
  • libvirt >= 0.4.4
  We assume that you have installed the virtio-compatible guest under KVM using libvirt (ie. using something like virt-install or virt-manager).
  For a Windows guest, it is necessary to install the latest
virtio drivers into the guest OS. Additional
network and
disk tips are available, outlining the process for installing drivers.

[edit]
Network driver
  First, shut down the guest and then edit its configuration file:

virsh edit guestname

  In the <interface> section, add a virtio model, like this:

<interface type='network'>
...
<model type='virtio' />
</interface>

  When you boot the guest (virsh start guestname), if it worked you should still have a working network, and you should see (from inside the guest) that you are using the virtio_net driver:

# /sbin/lsmod | grep virtio
[shows virtio_pci, virtio_net and others loaded]
# cat /sys/devices/virtio-pci/0/net/eth0/statistics/rx_bytes
...

  If it doesn't work, then check the following file in the host for errors:

/var/log/libvirt/qemu/[guestname].log

  There are quite a lot of things that could go wrong such as: not using KVM, or not using a sufficiently recent version of KVM.

[edit]
Disk (block) device driver
  Similar to above, except the the configuration file should be changed to e.g.:

<disk type='...' device='disk'>
...
<target dev='vda' bus='virtio'/>
</disk>

  If there remove any

<address .../>

  element for this disk that may exist, allowing libvirt to regenerated it appropriately.
  However, if this is to be the disk which holds the guest's root filesystem, you first need to ensure that the guest will be able to mount the virtio disk during bootup.
  On Fedora 9 or later, you can do this using mkinitrd:

# mkinitrd --with virtio_pci --with virtio_blk -f /boot/initrd-$(uname -r).img $(uname -r)

  Note, this step is only needed in order to transition a guest from IDE or SCSI to virtio. If you initially install the guest using a virtio disk, or if you update the kernel package while booted from a virtio disk, then this step is not needed.

[edit]
External links


  • http://www.linux-kvm.com/content/block-driver-updates-install-drivers-during-windows-installation
  • http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
  • http://www.linux-kvm.com/content/latest-windows-virtio-drivers
  • http://www.linux-kvm.org/page/Virtio
  • http://www.linux-kvm.org/page/Using_VirtIO_NIC
  • Boot from virtio block device
  • How
    to install Windows guest with virtio network and disk controllers
  • How
    to switch Windows guest to virtio network and disk controllers

Retrieved from &quot;http://wiki.libvirt.org/page/Virtio&quot;
Views


  • Article
  • Discussion
  • Edit
  • History

Personal tools


  • Log in / create account

Toolbox


  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Printable version
  • Permanent link

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125142-1-1.html 上篇帖子: kvm使用以及网络设置 解决桥接网络主机不能上网 下篇帖子: Linux江湖20:虚拟机体验之KVM篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表