[SOLVED] Can't perform backup

wojtek

New Member
Aug 7, 2013
1
0
1
I'm facing odd issue. I can't perform backup - neither from web UI nor from termina. I get following error when I try to do it:

Code:
cman_tool: Cannot open connection to cman, is it running ?root@ds0371:~/dump# vzdump --dumpdir /root/dump/ 301
unable to parse worker upid 'UPID:ds0371:00023136:1001D7AE5:5201EC1A:vzdump::root@pam:'
root@ds0371:~/dump# pvecm status
cman_tool: Cannot open connection to cman, is it running ?
root@ds0371:~/dump# service cman start
root@ds0371:~/dump#

When I try to start cman from WebUI I get similar error:
Code:
starting worker failed: unable to parse worker upid 'UPID:ds0371:000232ED:1001D9E34:5201EC75:srvstart:corosync:root@pam:' (500)

I've updated libpve-common-perl (1.0-49) (as per bug https://bugzilla.proxmox.com/show_bug.cgi?id=172) but to no avail.

Any ideas how to solve that?

EDIT: actually I can't perform any action - neither stop nor start any VM...

Some time ago I've run out of space on the root partition (10% of the whole drive) -- could this be the cause of the errors?

EDIT2: ok, restarting the host helped.
 
Last edited:
Has anyone found a way to fix this problem w/out rebooting?


-M@

Hi,

I've been able to fix this problem without rebooting. My solution is based on the discussion here. For some reason the regular expressions no longer match a UPID.

First of all, back up the following files:

/usr/share/perl5/PVE/Tools.pm
/usr/share/pve-manager/ext4/pvemanagerlib.js

Now edit the files. In Tools.pm change:
Code:
if ($upid =~ m/^UPID:([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/) {

to

Code:
if ($upid =~  m/^UPID:([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8,9}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/)  {

In pvemanagerlib.js change:

Code:
var res = upid.match(/^UPID:(\S+):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/);

to:

Code:
var res =  upid.match(/^UPID:(\S+):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8,9}):([^:\s]+):([^:\s]*):([^:\s]+):$/);

After editing these files, restart pvedaemon and apache2, then refresh the web interface. After that you should be able to create VMs again.
 
Hello,

It worked for me but I still have some weird message when trying vzdump from the command line:

Code:
# vzdump 101  --mailto al@terraltech.com --mode snapshot --compress gzip --storage ftpback
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN17> line 1.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN17> line 2.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN17> line 3.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN17> line 4.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765.
INFO: starting new backup job: vzdump 101 --mode snapshot --mailto al@terraltech.com --compress gzip --storage ftpback
INFO: Starting Backup of VM 101 (openvz)
INFO: CTID 101 exist mounted running
INFO: status = running
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: creating lvm snapshot of /dev/mapper/pve-data ('/dev/pve/vzsnap-server-0')
INFO:   Logical volume "vzsnap-server-0" created
INFO: creating archive '/mnt/pve/ftpback/dump/vzdump-openvz-101-2016_03_24-15_36_23.tar.gz'
INFO: Total bytes written: 23114004480 (22GiB, 49MiB/s)
INFO: archive file size: 3.02GB
INFO: delete old backup '/mnt/pve/ftpback/dump/vzdump-openvz-101-2015_04_18-03_06_31.tar.gz'
INFO: Finished Backup of VM 101 (00:07:46)
INFO: Backup job finished successfully
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN511> line 1.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN511> line 2.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN511> line 3.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN511> line 4.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765, <GEN511> line 5.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765.
Hexadecimal number > 0xffffffff non-portable at /usr/share/perl5/PVE/Tools.pm line 765.

This is a snippet of my Tools.pm after I changed as explained above:

Code:
    # "UPID:$node:$pid:$pstart:$startime:$dtype:$id:$user"
#    if ($upid =~ m/^UPID:([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/) {
    if ($upid =~  m/^UPID:([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8,9}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/)  {
        $res->{node} = $1;
        $res->{pid} = hex($3);
        $res->{pstart} = hex($4);
        $res->{starttime} = hex($5);
        $res->{type} = $6;
        $res->{id} = $7;
        $res->{user} = $8;

If you have any idea please let me know.

Thank you.