After upgrading from vCenter version 7.0 Update 3 to 8.0 Update 3 or later versions, file-based backups via VAMI UI fail to complete successfully. The following error is reported:
A General System Error is reported by backup server
When reviewing /var/log/vmware/applmgmt/applmgmt.log, the following error can be seen:
<timestamp> [87321]ERROR:plugins.FtpStorageIOLib:ftps cmd failed. RC: 6, Err: curl: (6) Could not resolve host: <shortname of backup server>
, Cmd: ['/usr/bin/curl', '--fail', '-u', 'svc-app-ftpvcsa:****', '--connect-timeout', '120', '--ssl-reqd', '-k', '--noproxy', '*', '--silent', '--show-error', '--list-only', 'ftp://<shortname of backup server>/<shortname of vCSA>']
VMware vCenter Server 8.0.3
The resolv.conf (/etc/resolv.conf) file contains the line:
search .
The backup failure is caused by the use of a short hostname (SN) instead of the Fully Qualified Domain Name (FQDN) when configuring the backup destination. Short names can cause DNS resolution issues, particularly in environments with multiple network segments or complex DNS configurations.
Having "search ." in resolv.conf file means that search domain(s) have not been configured.
Use the Fully Qualified Domain Name (FQDN) of the backup target, when specifying the backup destination. This is the recommended best practice, as it ensures consistent DNS resolution and avoids issues across various network setups.
Alternatively you can configure search domain(s):
shell
/opt/vmware/share/vami/vami_config_net
# /opt/vmware/share/vami/vami_config_net
Main Menu
0) Show Current Configuration (scroll with Shift-PgUp/PgDown)
1) Exit this program
2) Default Gateway
3) Hostname
4) DNS <===============
5) Proxy Server
6) IP Address Allocation for eth0
Enter a menu number [0]:
DNS Server 1 [###.###.#.##]:
DNS Server 2 (optional) [###.###.#.#]:
Domain Name (optional) []: example.domain
Search Path (space separated) (optional): example.domain example.domain.1 <===
search example.domain example.domain.1
Order of precedence for name resolution is:
/etc/hosts
#.#.#.# shortnameofsystem fqdnofsystem
Where system is the name of the system you want to statically resolve if not using DNS. This entry must be manually maintained.
and then by DNS search domain suffix,
/etc/resolv.conf
search Search list for host-name lookup.
By default, the search list contains one entry, the local
domain name. It is determined from the local hostname
returned by gethostname(2); the local domain name is taken
to be everything after the first '.'. Finally, if the
hostname does not contain a '.', the root domain is assumed
as the local domain name.
Note: If there are multiple search directives, only the search list from the last instance is used.