From 56af714629b6dc7a0606797b050a9e0f75483ce1 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Fri, 6 Jan 2017 10:15:07 +0100 Subject: [PATCH] add with-local-disks option for live storage migration As Fabian as required, add an extra flag "with-local-disks" to enable live storage migration with localdisk. default target storage is same sid than source, this can be overrided with "targetstorage" option. I will try improve this later, with optionnal mapping, disk by disk. Signed-off-by: Alexandre Derumier --- PVE/API2/Qemu.pm | 12 +++++++++--- PVE/QemuMigrate.pm | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 288a9cd..33b8f5a 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -2723,10 +2723,16 @@ __PACKAGE__->register_method({ description => "CIDR of the (sub) network that is used for migration.", optional => 1, }, - targetstorage => get_standard_option('pve-storage-id', { - description => "Target storage.", + "with-local-disks" => { + type => 'boolean', + description => "Enable live storage migration for local disk", optional => 1, - }), + }, + targetstorage => get_standard_option('pve-storage-id', { + description => "Default target storage.", + optional => 1, + completion => \&PVE::QemuServer::complete_storage, + }), }, }, returns => { diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index a5de8d0..cd1fc2b 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -348,6 +348,7 @@ sub sync_disks { if ($local_volumes->{$vol} eq 'storage') { $self->log('info', "found local disk '$vol' (via storage)\n"); } elsif ($local_volumes->{$vol} eq 'config') { + die "can't live migrate attached local disks without with-local-disks option\n" if $self->{running} && !$self->{opts}->{"with-local-disks"}; $self->log('info', "found local disk '$vol' (in current VM config)\n"); } elsif ($local_volumes->{$vol} eq 'snapshot') { $self->log('info', "found local disk '$vol' (referenced by snapshot(s))\n"); -- 2.39.2