Articles of libvirt

减lessCPU分配到正在运行的客户端Windows服务器

我使用Ubuntu 16.04作为主机和Windows Server 2012作为使用KVM中的Virtio驱动程序安装的guest虚拟机。 我能够增加客户端运行时的CPU,但我不能减lessCPU的。 分配给客户端的最大CPU数为20.我在客户端启动时分配了10个CPU,我试图执行以下命令将CPU减less到8。 virsh setcpus –live –guest generic 8 但是这会导致以下错误: error: internal error: 'can-offline' missing in reply of guest-get-vcpus 我试图看看guest-get-vcpus命令,但结果如下所示: $virsh qemu-agent-command generic '{"execute":"guest-get-vcpus"}' –pretty { "return": [ { "online": true, "logical-id": 0 }, . . . { "online": true, "logical-id": 9 } ] } 结果然而只有两个参数“在线”和“逻辑ID”。 不过,我希望客人也可以返回值“can-offline”。 我已经安装了QEMU版本2.5和最新的virtio驱动程序版本0.1.126和libvirtd版本1.3.1。

通过kvmpipe理程序的Windows客户机操作系统不会在连接networking接口后保留磁盘状态

我有基于openstack的云环境。 我有基于kvm/qemu的pipe理程序。 我在其中一个pipe理程序上创build了Windows guest虚拟机操作系统虚拟机。 我把卷(vhd)附加到vm。 我在客户操作系统中将磁盘状态更改为online 。 然后,我将(hotplugged)networking接口连接到vm。 在虚拟机pipe理程序中,我可以看到vm的xml文件中添加了networking接口。 我重新启动虚拟机,我仍然可以在xml文件中看到所有的磁盘和networking接口。 但他们的插槽重新排列。 然后我检查来宾操作系统上的磁盘状态,并显示Offline 。 我不明白这个问题在哪里。 如果我只是重新启动虚拟机,而不附加额外的networking接口,则磁盘状态将被保留。 有人知道为什么发生? 它不会发生在Linux客户操作系统上,所以我假设这是来宾操作系统级别的问题,可能是与virtIO驱动程序有关的问题。 这个问题与hotplugging没有任何关系,因为即使我closuresvm后连接networking接口,它仍然会发生。

如何在使用libvirt或`xl`时将ignition.json传递给Xen CoreOS DOMU

我有一个用Xen和Debian 9作为DOM0的裸机服务器。 这个服务器有libvirt,我可以通过使用xl , virsh或远程使用virt-manager来愉快地创buildPV域。 我想简化coreos虚拟机的创build,在创build时将它们传递给点燃的 JSON,以便获得正确的名称,networkingconfiguration和基本服务。 到目前为止,我设法通过使用config-2分区将SSH密钥join到新的coreos实例中,但是使用的是不推荐使用的coreos-cloudinit ,而networking没有configuration。 我必须进入VM并创build/etc/systemd/network/00-eth*文件并重新启动。 在创build时,找不到正确的方法,使虚拟机的configuration在DOM0上。 任何指针?

与firewalld和libvirt / KVM的多个networking

在过去,我有一个使用libvirt / KVM和IPtables的虚拟机pipe理程序,以便通过IPv4上的NAT(在iptables中转发和伪装don)并直接在IPv6(libvirt中configuration的路由networking)上使虚拟机可达。 (例1)。 因为我想切换到CentOS 7,现在默认使用firewalld,我认为使用firewalld而不是iptables是合理的。 我可以使用firewalld作为“drop in replacement”用于这个目的,还是libvirt有限制或问题?

为什么不启动libvirt“用户模式networking”?

运行Ubuntu 16.04,默认情况下,默认的virbr0界面在启动时并不是默认启动的,这意味着我必须使用命令手动启动它, $ sudo virsh net-start default 也许没有什么大不了的,我知道如何解决这个问题,但是下面的命令的输出表明virbr0被configuration为自动启动: $ virsh net-list –all Name State Autostart Persistent ———————————————————- default active yes yes 有没有人有任何指望,看看旁边帮助debugging? 更新: 在启动后在/ var / log / syslog中看到的一些选定的行不帮助我,但可能对某人有意义: systemd-udevd[368]: Could not generate persistent MAC address for virbr0: No such file or directory NetworkManager[862]: <info> [1508409794.6955] device added (path: /sys/devices/virtual/net/virbr0, iface: virbr0): no ifupdown configuration […]

KVM和libvirt:如何configuration一个新的光盘设备到现有的虚拟机?

我有一台运行两台虚拟机的Ubuntu 9.04服务器。 在/etc/libvirt/qemu/machine1.xml中这两个磁盘设备是这样定义的: <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <source file='/vserver/machine1/disk0.qcow2'/> <target dev='hda' bus='ide'/> </disk> <disk type='file' device='disk'> <source file='/vserver/machine1/disk1.qcow2'/> <target dev='hdb' bus='ide'/> </disk> 我至less在其中一个设备上需要更多的存储空间,并考虑添加第三个hdc设备,只需添加一个与上面相同的样式并重新组织我的安装结构(不幸的是,当前qcow2文件的虚拟大小是有限的。 我的问题是,重新加载libvirtd并重新启动虚拟机不会导致新的可见设备(使用fdisk进行检查)。 我知道扩展现有的qcow2文件(转换为原始格式,捕捉/添加新的,使用smth。像gparted) – 但只能作为最后的手段。 希望这是非常简单的我失踪了?

使用virsh来控制KVM和openvz

在不同的服务器上,我使用virsh来pipe理openvz容器或KVM来宾。 不,我有一台服务器,安装了KVM 和 openvz,并希望用virsh来控制它们。 我无法弄清楚如何在openvz和KVM之间切换。 目前(也许是因为我第一次安装openvz) # virsh list 只显示我的vz容器。 任何提示?

php-libvirt在centos上的安装失败

我正在尝试在centos 6.4 64x上安装php-libvirt ,并在./configure步骤中出现错误: checking for LIBVIRT… configure: error: Package requirements (libvirt >= 0.6.2) were not met: No package 'libvirt' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBVIRT_CFLAGS and LIBVIRT_LIBS to avoid the need to call pkg-config. See the pkg-config […]

客人不能通过名称访问KVM主机服务器,尽pipenslookup和dig会返回正确的logging

所以我有一个KVM主机,也运行一个Apache的服务器与一些YUM回购。 VM guest虚拟机已连接到默认虚拟networking,该虚拟networking被configuration为在virbr0(192.168.12.1)上提供DHCP并使用NAT进行转发。 客人可以通过IP地址成功访问主机上的yum repos,例如curl 192.168.122.1/repo1毫无问题地返回内容。 但是,我希望客人能够通过名称而不是IP地址访问主机上的Web服务器。 我将所需的名称logging添加到主机的/etc/hosts文件,并且libvirt的dnsmasq服务似乎正在向guest虚拟机正确提供服务,因为nslookup和dig成功parsing了guest虚拟机上的名称: [root@localhost ~]# nslookup repo Server: 192.168.122.1 Address: 192.168.122.1#53 Name: repo Address: 192.168.122.1 [root@localhost ~]# dig repo ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> repo ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55938 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, […]

通过libvirt访问来宾操作系统的界面

是否有任何可能的(不是本地的)方式来访问(例如,terminal使用是我的主要目的)访客操作系统与*nix使用libvirt / LXC (而不是libvirt模块)function? 我不是故意使用lxc-console命令。