Articles of libvirt

libvirt – 断电后重启虚拟机?

有什么办法可以让KVM自动重启因电源故障而closures的虚拟机? 这里是我的场景:我运行一个小型的虚拟机,主要是开发虚拟机。 我现在有一个虚拟机设置为自动启动系统启动,这是工作。 我已经在该虚拟机上安装了apcupsd,从主机上的守护进程读取,并configuration为在电池达到75%时closures。 当电池达到15%时,主机将closures。 我的问题是,如果在此窗口期间电源恢复(即主机保持),我可以重新启动已closures的虚拟机? 我知道我可以硬编码到'virsh start [VM name]'的调用,但是我打算启动标记为'autostart'的任何虚拟机,有点像'mount -a'来挂载所有定义的文件系统。 这可能吗?

'virsh save'后VM的状态

virsh save vm_name memdump ,然后virsh restore memdump恢复(运行)虚拟机好吧。 但是, virsh save后,VM将被closures。 我正在为KVM虚拟机编写一个“实时”备份和恢复脚本,所以在备份部分,我显然需要在备份后运行一个虚拟机。 备份后立即执行virsh restore memdump并不是问题,但它本质上是不必要的 – 我“应该”能够暂停一个虚拟机,将其内存保存到一个文件,然后简单地恢复/取消暂停虚拟机。 这对于内存很less的虚拟机来说并不是一个问题,但是如果虚拟机具有相当大的工作内存,那么它就会不必要地延长备份。 不幸的是,即使我在virsh save之前先virsh suspend ,虚拟机也会closures。 有没有办法做到这一点? (即暂停,保存,取消暂停)

如何启用kvm guest的L3caching?

我在一台Intel机器(centos6.5)上启动一个kvm guest(centos6.5),使用libvirt,客户的xml如下 <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>test-1</name> <uuid>9377bce1-ae83-e356-ed15-919c8625fb4b</uuid> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static' current='2'>8</vcpu> <os> <type arch='x86_64' machine='rhel6.5.0'>hvm</type> <boot dev='hd'/> <boot dev='cdrom'/> <bootmenu enable='yes'/> <bios useserial='yes' rebootTimeout='0'/> </os> <features> <acpi/> <apic/> <pae/> </features> <cpu mode='host-passthrough'> </cpu> <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='qcow2' cache='none'/> <source file='/data/vhosts//test-1.disk'/> <target dev='vda' bus='virtio'/> […]

克隆具有快照的KVM虚拟机

我已经使用virt-manager创build了一个虚拟机,并保存了当前状态的快照。 现在我想用第一台机器的所有快照创build一个完全重复的机器。 我怎么能做到这一点?

OpenStack Juno Live-Migration从未完成高负载和大小大于64GB的实例

我遇到了实时迁移似乎没有完成或错误的情况。 这是我如何能够重现这个问题。 这是我正在迁移的实例: [root@osc1-mgmt-001 tmp]# nova show gb72-net-002-org-001 +————————————–+———————————————————————+ | Property | Value | +————————————–+———————————————————————+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-SRV-ATTR:host | osc1-net-002.example.com | | OS-EXT-SRV-ATTR:hypervisor_hostname | osc1-net-002.example.com | | OS-EXT-SRV-ATTR:instance_name | gb72-net-002-org-001 | | OS-EXT-STS:power_state | 1 | | OS-EXT-STS:task_state | migrating | | OS-EXT-STS:vm_state | active | […]

针对kvm / centos7的CPU固定策略

我正在从Xen迁移到Kvm。 在Xen中,我能够轻松地将主机cpus连接到guest虚拟机,并将主机cpus固定到“dom0” 。 在Kvm中,我也可以轻松地将主机cpus固定到guest虚拟机vms,但是据我所知,没有任何东西阻止在主机操作系统上运行的应用程序使用这些cpus。 我想防止在主机上运行的程序挨饿/增加客人的等待时间的情况。 我可以手动做一个详细的cgroup政策,但也许我只是缺lesslibvirt / centos7中的设置? 另外还有一个“模拟器”设置为客人。 我应该将“模拟器”固定在专用主机cpus上,还是应该将其限制在guest cpus ? 目标是尽可能地限制客人的等待时间 。

LibVirt:磁盘映像在guest虚拟机中有错误的大小

我正在使用下面的命令*创build一个新的虚拟磁盘: $ virsh vol-create-as –format=qcow2 guest-disks disk_instid.24_diskid.30 8192M Vol disk_instid.24_diskid.30 created “guest-disks”池是一个简单的“dir”types池。 正如你看到的,命令成功了,但是当我试图在新的域中安装一个操作系统时,它只显示为一个兆字节大小的一小部分: # fdisk -l /dev/sda Disk /dev/sda: 0 MB, 262144 bytes 1 heads, 1 sectors/track, 512 cylinders, total 512 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes […]

使用KVM和libvirt进行持久networkingconfiguration

我们的环境将有一个KVM主机设置dynamic使用kickstart(很简单)。 最困难的部分是处理networkingconfiguration,并保持VLANconfiguration(以及可能的网桥/主机configuration)在重新启动时保持不变。 我们有一个dynamic的环境,我希望能像configuration典型的交换机那样configuration虚拟交换机端口,在交换机重启后configuration保持不变(可能会自动添加到configuration文件中) 又名: 思科:交换机端口模式访问; 交换机端口访问VLAN 4 锦缎:vlan 4; 无标记的e 0/1/2 我不确定这个“正确的”决定是什么,openvswitch是否正在寻找它可以完成使用linux网桥和libvirt。 我很迷茫,很难find可用的东西。 我知道OpenStack可以做到这一点,对我来说,虽然知道OpenStack如何做,所以我们可以实现它的部分 所以我的问题是什么是在KVM上坚持vlan /networkingconfiguration的最好/最简单的方法?

在mnt中挂载一个根磁盘

我如何从CentOS上的另一个虚拟机挂载根虚拟磁盘? 为了改变它的一些文件,不要把它用作真正的根磁盘。 我的虚拟磁盘上有2个分区:/ boot(Linux分区)和/(LVM) 我已经使用virsh attach-disk将它添加到我的虚拟机中,然后我可以在CentOS上看到它,但是我无法使用它: mount /dev/vdx /mnt/test mount: unknown filesystem type 'LVM2_member' 而一些非常奇怪的,如果我的磁盘添加到我的虚拟机模板,我centOS使用/ boot分区(/ dev / vdc1),而不是/ boot分区(/ dev / vda1),它必须使用… 感谢帮助 [编辑]: 这是实际情况和我的问题: VM1具有由pipe理程序(逻辑卷LVM)提供的虚拟驱动器#1。 这个VM是KO,由于I / O错误,我无法启动它。 VM2具有由虚拟机pipe理程序(LVM)提供的虚拟驱动器#2。 它工作正常。 2个虚拟驱动器在虚拟机上被切割: – / dev / vda1 = / boot(Linux分区) – / dev / vda2 = /(LVM分区) 问题:我需要从VM1恢复数据。 所以我已经将vd#1附加到VM2。 在VM2上,我可以看到该驱动器为/ dev / vdc,但是如何装入并读取它? 谢谢。 […]

在不引导虚拟机的情况下将XML导入libvirt

是否有可能导入一个XML文件到libvirt没有libvirt启动虚拟机? 如果我做: virsh create centos63.xml 然后libvirt将导入XML文件,并立即尝试启动图像,这不是我想要的。 (我有几个脚本作为一个libvirt域的参数,这个域对应于一个当前没有运行的虚拟机,这就是为什么我要这么做的原因)。