VMware Cloud Community
knebb
Contributor
Contributor

How to backup VCSA (vCenter Appliance) 7.x with WebDAV/ HTTPS?

Hi all,

 

I am currently evaluation vCenter Appliance v7.01. In v6.x I was able to create a backup job within the admin interface (through port 5480) based on scp. For 7.x VMware silently droppedd support for scp protocol 😞

As I have a WebDAV server up and running I want to use the https:// (webDAV) protocol.

But I am getting nowhere. 😞

This is what I see in /var/log/vmware/applmgmt/backup.log:

 

[BackupManager::main:BackupManager.py:587] INFO: Starting backup job...
[BackupManager::main:BackupManager.py:596] INFO: Manual Backup triggerd
[BackupManager::main:BackupManager.py:608] INFO: DB health check enabled status is False
[ComponentScripts::ComponentScriptsSize:ComponentScripts.py:31] INFO: Calculate size for components
[ComponentScripts::ComponentScriptsSize:ComponentScripts.py:40] ERROR: Component size command "/etc/vmware/backup/component-scripts/vpxd/vpxd-backup-restore.py --size" failed.
[BackupManager::CheckFileIntegrity:BackupManager.py:417] INFO: File integrity check is not enabled.
[HttpStorageIOLib::_process_curl_output_int:HttpStorageIOLib.py:130] ERROR: IS_EXISTS request failed. httpcode: 500, url: https://owncloud.domain.intern/remote.php/
[BackupManager::main:BackupManager.py:622] ERROR: BackupManager encountered an exception: Plugin error occurred. ErrCode: 5, Args: ()
[BackupManager::HandleBackupCleanup:BackupManager.py:431] INFO: Cleaning up the backup job.

 

So the first error is something about "vpcd-restore-py".  When I run the script on the console manually I am not getting any output, but "echo $?" prints a "1". Looking into the source I see the following function:

def computeBackupSize():
    backupFile = os.path.join('/etc/vmware-vpx', BACKUP_FILENAME)
    try:
        backupFileSize = os.path.getsize(backupFile)
        DEST.write(b"%d" % backupFileSize)
    except OSError as e:
        logging.exception("Failed to retrieve size of %s: %s"
                          % (backupFile, e))
        return 1
    return 0

Now I was able to find the mentioned log entry in file /var/log/vmware/vmware-vpcd/backup-restore.log. Indeed, this file does not exist. I assume this is an error. I simply did a "touch vpxd-backup-metadata.json" and now the Python script return a "0" as output and error level. So it is fine. Still backup is failing. Now I am getting:

 

2021-03-08T08:18:53.699 [20210308-081847-17491101] [MainProcess:PID-25022] [HttpStorageIOLib::_process_cur
l_output_int:HttpStorageIOLib.py:130] ERROR: IS_EXISTS request failed. httpcode: 500, url: https://ownclou
d.domain.com/remote.php/

Note the URL here. The given URL for backup is ``https://owncloud.domain,com/remote.php/webdav/vcsa-Backup/`. Why is it stripped here? The stripped one really does not exist.

Having a look in my webserver log file I see:

"HEAD /remote.php/webdav/vcsa-Backup/ HTTP/1.1" 200 3982
"HEAD /remote.php/webdav/vcsa-Backup/ HTTP/1.1" 200 3982
"HEAD /remote.php/webdav/vcsa-Backup/vCenter/sn_vcsa.domain.com/M_7.0.1.00300_20210308-072130_/ HTTP/1.1" 404 4001
"HEAD /remote.php/ HTTP/1.1" - 3848
"DELETE /remote.php/webdav/vcsa-Backup/vCenter/sn_vcsa.domain.com/M_7.0.1.00300_20210308-072130_/ HTTP/1.1" 404 4309

So it is accessing the target directory "vcsa-Backup" followed by the to-be-created sub-directories "vCenter/sn_vcsa...." Later part depends on time and date an cn not be created in advance. But the "HEAD" requests obviously gives back a "404- not found" and vcsa handles this as error instead of creating the directory.

Anyone having an idea how to get https-working?

 

Thanks a lot!

 

/KNEBB

 

0 Kudos
1 Reply
knebb
Contributor
Contributor

Really no one having an idea?

It does not sound too complicated to configure as there are only a few arguments.

 

Someone from VMware has tested this, I am pretty sure.

 

But what can be wrong here?

Thanks a lot!

/KNEBB

0 Kudos