On Sep 6, 2011, at 9:57 AM, Alex Lyakas wrote:
> Greetings everybody,
> I have been reading the nova code (pretty close to the latest version) and I
> have a couple of questions regarding it.
>
> Live migration:
> I see that VIR_MIGRATE_NON_SHARED_INC flag is used, meaning that at
> destination, the same backing file should be available. (Indeed, the images
> that are created for instances use backing files in '_base' folder).
> Question 1: how it is ensured that the backing file on the destination really
> exists? I.e., '_cache_image' has to be called there for the same image. It
> looks like this is not ensured at all. If the same image was never spawned
> earlier on destination, the backing file will not exist there. I verified
> this and indeed there was no backing file on the destination.
live migration should have _base in shared storage so it doesn't need to move.
If you are talking about block_migration, then this could definitely be a bug.
> Question 2: even when the backing file does exist, the image created at the
> destination looks incorrect, it is not using the backing file! When querying
> the file on the destination, after live migration, I don't see that it's
> backed by the cached file:
> dst# qemu-img info /var/lib/nova/instances/instance-00000441/disk
> image: /var/lib/nova/instances/instance-00000441/disk
> file format: qcow2
> virtual size: 3.0G (3221225472 bytes)
> disk size: 50M
> cluster_size: 65536
>
> While on the source it is backed:
> src# qemu-img info disk
> image: disk
> file format: qcow2
> virtual size: 3.0G (3221225472 bytes)
> disk size: 50M
> cluster_size: 65536
> backing file:
> /var/lib/nova/instances/_base/af3e133428b9e25c55bc59fe534248e6a0c0f17b
> (actual path:
> /var/lib/nova/instances/_base/af3e133428b9e25c55bc59fe534248e6a0c0f17b)
again, if you are referring to block_migration, this could be a bug.
>
> And indeed, on destination, when I log in into the VM, its image disk is
> corrupted. Various tools like 'less','vi',sudo' fail to run.
> When I changed the flag to VIR_MIGRATE_NON_SHARED_DISK, then the whole image
> was copied, and this time the instance on the destination was fine. So it
> looks there is some bug on that path when using VIR_MIGRATE_NON_SHARED_INC
> flag.
>
> add_fixed_ip_to_instance path:
> From the code it looks like per each network, an instance has exactly one
> virtual interface, meaning exactly one MAC address. However, it looks like
> this is possible to have multiple fixed_IPs per same virtual_interface. This
> is reflected in NetworkManager.get_instance_nw_info(), when adding the
> info['ips'] = [ip_dict(ip) for ip in network_IPs]
> entry.
> (On the other hand, in LibvirtBridgeDriver._get_configurations() only the
> first IP is taken from this list. )
> Although I see that NetworkManager._setup_network() is called on that path,
> and even generates a new MAC address (in case of FlatDHCP), but a new
> virtual_interface is not created.
> What is the purpose of this ability? On the instance we still see a single
> network interface per each network, correct?
tr3buchet. Comments here? Not sure there is a need to have multiple ips on
the same nic.
>
> Offline migration ("resize"):
> I see that when using libvirt, this path is not implemented; it is
> implemented only for Xen. It looks like the following methods need to be
> implemented: migrate_disk_and_power_off() & finish_migration(). Is there any
> special reason for not implementing those methods with libvirt?
Just that no one has done it. We would love to have this supported in libvirt.
>
> Thanks everybody,
> Alex.
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : [email protected]
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp