Questions tagged «libvirt»

libvirt是用于开发应用程序的API和工具包,这些应用程序管理虚拟机管理程序,在其下运​​行的虚拟机以及虚拟机存储。

1
将USB驱动器直接映射到libvirt KVM虚拟机?
我正在搜索有关使用libvirt将现有驱动器(USB驱动器)映射到KVM虚拟机的信息。我一直在浏览http://libvirt.org/formatstorage.html#StoragePoolTarget。但是我不太了解将现有设备公开到VM所需的选项(甚至可能的话)。 从我正在阅读的target内容来看,该元素期望该path元素到计算机上的文件夹中以存储基于文件的图像。可以是path这样的设备/dev/sdc1吗?用type的raw?


2
有什么方法可以在virt-manager中释放对KVM guest虚拟机的关注,而无需单击Ctrl_L + Alt_L?
有没有一种方法可以将鼠标移入和移出KVM guest虚拟机,virt-manager而无需单击以获取窗口焦点并通过按Ctrl_L+ 释放焦点Alt_L? 背景 我通常从Fedora 14系统连接,virt-manager以管理在CentOS 5系统上运行的来宾KVM 。要查看是否有问题,我尝试使用其他版本的virt-manager&libvirt来查看是否是版本问题: OS virt-manager libvirt Steals focus? -- ------------ ------- ------------- Fedora 14 0.8.7-2 0.8.3-10 Yes CentOS 5 0.6.1-16 0.8.2-25 Yes CentOS 6 0.9.0-14 0.9.10-21 Yes 不知道这是否重要,但是guest虚拟机是Win2008R2,但作为guest ,我在其他操作系统上也遇到过同样的问题。 这是我单击访客虚拟机之前和之后的屏幕截图,显示该访客正在窃取焦点。 编辑#1 我只是尝试了@tpow推荐的解决方案,这似乎是问题所在。手动添加平板电脑输入设备可以解决该问题,现在我可以将鼠标移入和移出KVM客户机,而不必先获得焦点。 这是具有焦点的客户机VM的屏幕截图。

3
短期专用VM的技术
我正在尝试构建一个将运行软件组件的短期(CI和测试版本)的系统,根据我的要求,每个组件都必须驻留在专用主机上,这是强制性的。我正在将该定义也包括半虚拟化选项,因为这似乎会让我头疼。 我在Mac上工作,所以几乎每种技术都失效了,libvirt和quemu等等对我都不起作用。但是我正在计划部署到Debian。因此,只要我可以编写主机及其来宾域的配置脚本,就可以将在Debian上运行的所有内容放回桌面上。 我想要的设置是,我可以用来引导Debian安装程序,这意味着在启动时,机器会自动进行预配置(Chef,Puppet,Babushka,不要介意),并且该预配置的一部分应该构建一个可用于引导容器的模板rootfs。还需要提供容器本身,以便在容器出现时知道要执行的工作,可以执行该工作,然后退出。 简而言之,这是我需要的工作流程: 启动计算机(虚拟或其他),并准备好进行工作。 该工作应由Chef / puppet / babushka / etc安装的脚本执行 进行工作时,应启动虚拟机进行工作。 VM应该完成工作,退出并将其资源释放给父/主机。(重要的是,在合理的硬件上,它至少可以扩展到数百个来宾VM) 我已经尝试过以下内容,并出于以下原因放弃了它们: 对于主机 带有Instalinux(支持LinuxCOE)的预种子Debian微型ISO映像(不好: 根本没有用(“未找到内核模块”(因为Instalinux映像与FTP存储库不同步,显然该解决方案非常脆弱,它也没有太大的余地安装空间,并且无法将已知的SSH密钥,主机密钥等放置到计算机上,这简直是火如虹,最终我会拥有一台正在运行的计算机,但无法访问它) 种子前Debian netinst ISO(不好:与上述问题相同,但至少安装通常会完成,因为ISO和FTP存储库之间没有内核差异。安装后的范围仍然有限。 良好:绝对可靠且可重复,易于在Mac或裸机上的任何VM技术堆栈上使用,可以在任何地方使用,但是我无法对其进行足够的后期安装) 各种构建rootfs并将其编译为可启动硬盘映像的方法(不好:我所能做的工作很少,就像地狱一样,很难安装到真实的机器上,而且构建过程很复杂。 良好: 如果我可以使它工作,这似乎为使用ssh密钥,主机密钥,主机名,从Git安装的软件以及其他任何东西将机器预配置为给定规格提供了最大的范围,但是问题是如何打包进行分发,或编写脚本来娱乐。) 老实说,我不确定人们应该使用什么技术将虚拟机从无到有,带到正在运行,运行和有用的系统中。在我看来,这就像三个步骤:a)操作系统,b)系统配置(用户等),然后c)文件系统更改。 对于来宾(虚拟)计算机: 很多事情,大多数情况下,我认为答案是用创建的只读rootfs debootstrap和LXC容器上的特殊分区,其中包含为此特定实例(作业清单)要完成的工作。插入所有有关构建操作系统,引导,创建用户,从git中签出软件以及进行工作的一般警告。 我真的不确定要使用什么工具,看来问题应该得到很好解决。但是我只是找不到真正开始的地方。 多数人似乎建议主机,我应该选择一种虚拟化技术,将计算机引导至工作状态,然后对其进行快照(libvirt似乎是逻辑上的最爱)。使用快照启动任何后续安装以进行测试或投入生产。 对于来宾计算机,lxc似乎提供了最简单的选项,除了在现有的所有内核中中断容器的后台运行并稍后通过控制台连接到该容器之外,稳定的Debian可用的最新版本的lxc已有18个月以上的历史了。 ,并且缺少许多广泛使用的功能。 通常,我是一名应用程序开发人员,并且我不经常使用服务器级技术(并且我确信SF会将这个问题标记为“过于主观”),但是我确实不确定要使用哪些工具。 最后一句话是,我知道一个类似的堆叠项目(travis-ci.org)正在为此使用Vagrant框。这似乎是一种比较钝的工具,它是大型,慢速,面向红宝石的工具,专门用于对用于关键服务基础架构的测试VM进行小型桌面配置,但我也知道其中一些人,他们比我聪明,所以也许他们只是放弃了。 任何帮助表示赞赏。

2
可以在关闭电源并重新启动iscsi存储阵列时暂停VM
不幸的是,我可能必须重新启动存储阵列。 在将KVM与libvirt一起使用以管理需要重新启动存储阵列的虚拟机的情况下,是否可能甚至建议: 暂停虚拟机 刷新并关闭多路径 注销iSCSI会话 更新并重新启动存储阵列。 然后按照相反的方向 重新建立iISCSI会话 恢复多路径 恢复虚拟机 欢迎任何建议。

2
更改QEMU-KVM虚拟机的引导设备
我正在尝试更改VM的启动设备。我进入/etc/libvirt/qemu并设置了VM的XML文件<boot dev='cdrom' />。尽管如此,它还是尝试从硬盘驱动器而不是从cdrom启动。 我知道我已经在CD-ROM虚拟设备上加载了ISO映像。 我这样做不正确吗?我尝试完全关闭VM,然后将其重新启动却无济于事。也许我需要以某种方式重新加载设置? 编辑: 根据@Selivanov的要求: $ libvirtd --version libvirtd (libvirt) 0.8.7 和XML文件: <domain type='kvm'> <name>nimmy.example.com</name> <uuid>(SNIP)</uuid> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu>1</vcpu> <os> <type arch='x86_64' machine='rhel6.1.0'>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/var/lib/libvirt/images/nimmy.img'/> <target …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.