Articles of libvirt

libvirt,qemu,重启挂钩

是否有可能检测到guest虚拟机已经重新启动并使用libvirt / qemu执行操作? 这里的钩子只支持“开始”和“停止”事件。 我想检测我的虚拟机是否重新启动。 HOST运行的是ubuntu 10.04,GUEST运行的是ubuntu 10.04

错误:连接到监视器时退出内部错误进程:支持的机器是:

我将Ubuntu Server来宾机从Ubuntu服务器主机移动到CentOS 6主机。 我的意图是保持客人作为Ubuntu服务器,只是改变主机的操作系统。 我把逻辑卷和virsh XML定义移到了新的主机上。 当我第一次尝试使用virsh define ldap ,我得到了错误: error: Failed to define domain from ldap.xml error: Cannot find QEMU binary /usr/bin/kvm: No such file or directory 所以我改变了 <emulator>/usr/bin/kvm</emulator> 至 <emulator>/usr/libexec/qemu-kvm</emulator> 在XML文件中,我可以定义机器。 我猜这就是CentOS的等价path。 当我尝试启动虚拟机虽然,我得到这个错误: # virsh start ldap error: Failed to start domain ldap error: internal error process exited while connecting to monitor: Supported […]

取消定义所有不活动的域

我在libvirt中有多个不活动的域,我想全部删除它们: # virsh list –inactive Id Name State ———————————- – instance-0000000c shut off – instance-0000000f shut off – instance-00000010 shut off 有一个简单的方法来告诉libvirt删除所有不活动的域,或者我必须手动执行: # virsh undefine instance-0000000c # virsh undefine …

xen和libvirt桥接configuration

我有一个安装了virt-manager的Xen 3.2和libvirt的Centos 5.5服务器。 在安装libvirt之前,我有如Xen上的文档所述的网桥configuration: xenbr0,eth0和peth0接口。 安装libvirt后,我的configuration得到了: eth0,peth0和virbr0 所以join了virbr0而不是xenbr0,我读了文档,这是libvirt的一个NAT适配器。 所以为了得到一个桥接适配器,我得到了这个指南: http://www.howtoforge.com/how-to-install-kvm-and-libvirt-on-centos-6.2-with-bridged-networking 但是我的peth0还在,所以我认为xen桥还在。 有人可以解释我如何正确设置与Xen和libvirt桥接networking接口,因为我跟着我的指南我有一个新的适配器叫br0这是桥,但它有我的eth0网卡的MAC地址相同。 我会提供任何帮助。

在Libvirt KVM的运行时添加Virtio块设备

我运行的是基于KVM的客户系统,运行相同的操作系统的Debian Wheezy Beta 4。 我正在使用LibVirt来pipe理虚拟化。 我想要做的是通过Virtio将基于LVM的块设备连接到正在运行的访客系统。 如果我通过virsh edit [MACHINE]来configuration它,它将如下所示: <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source dev='/dev/volume_group/logical_volume'/> <target dev='vdb' bus='virtio'/> </disk> 我试图找出如何用virsh attach-disk来做到这一点。 到目前为止,我认为以下几点: virsh attach-disk guest /dev/volume_group/logical_volume vdb –driver qemu –type raw –cache none –persistent 我怎样才能指定目标的bus和司机的io领域? 我真的需要这些选项完全符合XML中的规定。

允许用于libvirt / lxc容器的cgroup设备

我想让我的libvirt / lxc容器使用tun / tap设备。 为了做到这一点,我为一个正在运行的容器,我可以通过以下方式将其添加到允许的设备: # echo "c 10:200 rwm" > /sys/fs/cgroup/devices/libvirt/lxc/client-1/devices.allow 导致: # cat /sys/fs/cgroup/devices/libvirt/lxc/client-1/devices.list c 1:3 rwm c 1:5 rwm c 1:7 rwm c 1:8 rwm c 1:9 rwm c 5:0 rwm c 5:2 rwm c 136:* rwm c 10:200 rwm 但是,我有一些困难,使这个默认设置为每个容器。 谷歌search显示,改变/etc/cgconfig.conf group libvirt/lxc { devices { devices.allow="c 10:200 rwm"; } […]

任何方式来增加libvirt访客networking响应时间?

我们在Ubuntu Servers 12.04.4 / Libvirt 0.9.8-2ubuntu17.17上运行了许多Debian Wheezy虚拟机 主机通过中继连接到networking。 然后分割VLAN,并用下面的conf创build一个桥梁: auto eth4.2 kvmbrtrunk.2 iface eth4.2 inet manual up ifconfig eth4.2 up down ifconfig eth4.2 down iface kvmbrtrunk.2 inet manual bridge-ports eth4.2 bridge-stp no bridge-fd 0 bridge-maxwait 0 虚拟机configuration如下: <interface type='bridge'> <mac address='54:52:00:02:10:70'/> <source bridge='kvmbrtrunk.2'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </interface> 而且他们使用VirtIO 00:09.0 Ethernet […]

如何禁用lbvirtnetworkingDNS

有没有办法在libvirtnetworking中禁用DNS? 我想为本地DNScaching自定义configuration的dnsmasq,但libvirt的dnsmasq保存53端口。

没有共享存储的KVM / qemu / libvirt VM迁移的最佳select

我的团队最近一直负责改善公司的虚拟化基础架构,我们正在研究的一件事是加速迁移。 我们仅在所有VM主机上使用本地存储。 一个挑战是,我们有成千上万的主机运行CentOS,KVM,libvirt和qemu的不同版本(悲伤的面孔)。 所有客人都是CentOS。 我们运行的最低版本是: CentOS 5.6 内核2.6.18 libvirt 1.0.0 qemu 1.1.0 目前用于迁移的工具本质上是使用netcat来发送磁盘镜像文件,并运行相应的virsh命令,将guest虚拟机置于新主机上(除了一些configurationpipe理的调整之外)。 我们正在设法通过任何必要的创造性手段来减less客人停机时间和/或加速转移本身。 我们已经花了好几天的时间从互联网的各个angular落大肆宣传信息,但是好奇的是,Serverfault的好人可以分享一些知识。 如果需要的话,我们可以暂时将共享存储用作中间人,但除了更换虚拟机pipe理程序或为所有主机实施共享存储之外,任何事情都是公平的游戏。 我们需要探索一些当前的工作思路: 快照guest虚拟机,将基本映像复制到新主机,closuresguest虚拟机,将快照复制到新主机,在新主机上提交快照,删除快照,启动 暂时以某种方式探索使用共享存储作为中间人。 不确定在这一点上的细节,使用像临时安装glusterfs股份是一个想法。 在VM处于活动状态时复制磁盘映像文件,closuresguest虚拟机,然后使用rsync复制已更改的位。 我们很乐意提供不同的方法/工具,只支持kvm / qemu / libvirt的新版本,但希望能够以最好的方式移动旧的东西。 希望有些人可以分享他们所做的一些事例! 谢谢。

如何从virsh中现有的基础图像创build一个新的域

有没有一种方法来创build一个从基本图像virsh域? 我环顾四周,发现可以使用virt-install,但是我更喜欢它,如果这完全是通过virsh完成的,因为我使用libvirt语言绑定只是为了使事情更容易。 我想到了这样做的一种方式,这将涉及到将XMLconfiguration转储到临时文件中,编辑一些设置,如名称,内存,vcpus和可能的磁盘大小。 然后使用该XML文件来创build新的图像,这是否是一个可行的方法呢?