Commit bfb899cf authored by Dietmar Maurer's avatar Dietmar Maurer

load new LXC vzdump plugin

parent 4cae76c5
...@@ -28,15 +28,19 @@ my $logdir = '/var/log/vzdump'; ...@@ -28,15 +28,19 @@ my $logdir = '/var/log/vzdump';
my @plugins = qw(); my @plugins = qw();
# Load available plugins # Load available plugins
my $pveplug = "/usr/share/perl5/PVE/VZDump/QemuServer.pm"; my @pve_vzdump_classes = qw(PVE::VZDump::QemuServer PVE::VZDump::LXC);
if (-f $pveplug) { foreach my $plug (@pve_vzdump_classes) {
eval { require $pveplug; }; my $filename = "/usr/share/perl5/$plug.pm";
if (!$@) { $filename =~ s!::!/!g;
PVE::VZDump::QemuServer->import (); if (-f $filename) {
push @plugins, "PVE::VZDump::QemuServer"; eval { require $filename; };
} else { if (!$@) {
warn $@; $plug->import ();
} push @plugins, $plug;
} else {
warn $@;
}
}
} }
# helper functions # helper functions
...@@ -849,12 +853,29 @@ sub exec_backup_task { ...@@ -849,12 +853,29 @@ sub exec_backup_task {
$self->run_hook_script ('backup-start', $task, $logfd); $self->run_hook_script ('backup-start', $task, $logfd);
if ($vmtype eq 'lxc') {
# pre-suspend rsync
$plugin->copy_data_phase1($task, $vmid);
}
debugmsg ('info', "suspend vm", $logfd); debugmsg ('info', "suspend vm", $logfd);
$vmstoptime = time (); $vmstoptime = time ();
$self->run_hook_script ('pre-stop', $task, $logfd); $self->run_hook_script ('pre-stop', $task, $logfd);
$plugin->suspend_vm ($task, $vmid); $plugin->suspend_vm ($task, $vmid);
$cleanup->{resume} = 1; $cleanup->{resume} = 1;
if ($vmtype eq 'lxc') {
# post-suspend rsync
$plugin->copy_data_phase2($task, $vmid);
debugmsg ('info', "resume vm", $logfd);
$cleanup->{resume} = 0;
$self->run_hook_script('pre-restart', $task, $logfd);
$plugin->resume_vm($task, $vmid);
my $delay = time () - $vmstoptime;
debugmsg('info', "vm is online again after $delay seconds", $logfd);
}
} elsif ($mode eq 'snapshot') { } elsif ($mode eq 'snapshot') {
$self->run_hook_script ('backup-start', $task, $logfd); $self->run_hook_script ('backup-start', $task, $logfd);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment