我正在寻找一个解决方案来获取使用libvirt在qemu/kvm上运行的VM的ipv4地址或其他元数据?我还调查了ovirt客户代理和qemu客户代理,但我想知道是否有更好/更简单的方法来获取这些数据?
基本上我有几台运行KVM的主机,对于每个特定的私有IP地址,我需要能够知道哪个VM正在运行该IP地址(由DHCP服务器提供).
我可以从libvirt中提取以下CPU值:
virsh domstats vm1 --cpu-total
Domain: 'vm1'
cpu.time=6173016809079111
cpu.user=26714880000000
cpu.system=248540680000000
virsh cpu-stats vm1 --total
Total:
cpu_time 6173017.263233824 seconds
user_time 26714.890000000 seconds
system_time 248540.700000000 seconds
Run Code Online (Sandbox Code Playgroud)
cpu_time数字到底代表什么?
我想用这个数据计算CPU利用率百分比.
谢谢
我autoport=yes
在域("libvirt中的虚拟机")配置文件中设置,因此在运行时自动分配VNC端口.
我需要获取此端口,以便我可以从外部连接到vm,但我找不到合适的API来执行此操作.更好的python因为我正在使用libvirt-python绑定.
使用libvirt/virsh时,如何在KVM上设置启动顺序?(通过配置或命令)
这似乎只有在我使用generic/arch
盒子时才会发生。我已经尝试了几个 ubuntu 盒子,一切正常。
主机操作系统是 Manjaro。
输出冻结:
INFO interface: info: ==> default: Waiting for domain to get an IP address...
==> default: Waiting for domain to get an IP address...
INFO retryable: Retryable exception raised: #<Fog::Errors::TimeoutError: The specified wait_for timeout (2 seconds) was exceeded>
Run Code Online (Sandbox Code Playgroud)
libvirt/virsh 版本 3.10.0 vagrant 版本 2.0.1
操作系统 4.9.76-1-MANJARO
流浪文件:
Vagrant.configure("2") do |config|
config.vm.box = "generic/arch"
end
Run Code Online (Sandbox Code Playgroud)
以下是我认为相关输出的内容 VAGRANT_LOG=debug vagrant up
==> default: Creating shared folders metadata...
INFO warden: Calling IN action: #<VagrantPlugins::ProviderLibvirt::Action::CreateNetworks:0x0000560dfaea3450>
INFO create_networks: Using …
Run Code Online (Sandbox Code Playgroud) 我使用QEMU/KVM和libvirtd在Fedora 18主机上的VM上运行Ubuntu 12.04.现在,当我启动virsh并给出list命令时,虽然我的VM运行得很好,但它并没有显示任何正在运行的域.知道我做错了什么吗?
我正在尝试使用VirtualBox作为虚拟化解决方案开始使用libvirt.我安装了所有东西,VirtualBox本身在使用他们的VBoxHeadless命令时正在运行.但是,libvirt无法连接到VirtualBox:
# virsh -c vbox:///session
libvir: error : could not connect to vbox:///session
error: failed to connect to the hypervisor
Run Code Online (Sandbox Code Playgroud)
我在libvirt文档中找不到任何提示,指出在使用virsh之前是否必须进行任何特定于域的配置.
有人有提示吗?或者甚至更好,也许是一个从头开始使用libvirt,virsh或它的API(我后来的目标)的方法.
安装了virt-manager,目标虚拟机是debian jessie,spice-vdagent安装了共享剪贴板,无延迟鼠标输入工作
显示:Spice Video:QXL Channel spice:spicevmc,virtio,com.redhat.spice.0(确认/ dev设备存在于目标vm中)
我正在尝试使用 Terraform 在 KVM 上配置虚拟机。安装的步骤之一是下载并安装提供程序,购买命令:
去安装 github.com/dmacvicar/terraform-provider-libvirt@latest
但它错误:
提供命名包的模块的 go.mod 文件包含一个或多个替换指令。它不得包含会导致其解释方式与主模块不同的指令。
我没有找到解决办法,有人遇到过吗?谢谢
如何使用libvirt创建瞬态域?(使用QEMU/KVM作为后端)
该文档讨论了此链接上的瞬态域和持久域之间的区别:http://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains
尽管如此,我还没有找到任何关于如何创建一个的具体例子.
我找到的唯一指针是在这封电子邮件中:https://www.redhat.com/archives/libvirt-users/2011-August/msg00057.html,其中维护者建议在XML的描述字段中添加<transient/>
标记<disk>
.
当我尝试时,我得到了这个令人失望的答案:"libvirtError: unsupported configuration: transient disks not supported yet"
.
这个功能真的"还不支持",还是我错过了什么?该文档让我觉得应该支持这一点.
任何与C或Python绑定,virsh或virt-manager相关的答案都将受到高度赞赏!