It is likely that your Citadel installation will outlive the hardware on which it runs. We have made several options available for migrating Citadel to a new host machine (regardless of whether it is on bare metal, or a virtual machine, or something else).
Citadel stores its data in a binary, architecture-specific format. As a result, you can only make a direct copy of the binary files if the target machine has the same CPU architecture as the source machine. For example:
The source (old) system should be running the same version of Citadel as the target (new) system. It is not recommended to migrate and upgrade Citadel in a single operation. If the source system is running an older version than the target system, you must first upgrade the source system before you can migrate it.
Then log in to the console of the target system as root or root equivalent, and run the "ctdlmigrate" utility. You will be prompted for the host name or IP address of the source system, as well as the username and password of a host system account that has access to all Citadel files (once again it's easiest to just go with root or a root equivalent for this).
Then just sit back and watch it run. First, the Citadel databases will be exported to an XML format, downloaded across the wire, and imported into the target system. Afterwards, non architecture dependent files such as file download libraries and SSL keys will be copied over using rsync.
After the migration utility completes its work, simply shut down the source system, restart Citadel services on the target system, and you're up and running. You may wish to double check the configuration on the target system in case things like host IP address have changed.