Delphini is a plugin for the Holland backup framework to generate backups of a MySQL cluster.
Backups are generated by the following procedure:
- Connect to the management node specified by
connect-stringand run START BACKUP WAIT COMPLETED
- Lookup ndbd nodes from the configuration with
- Copy the completed backup files from the BackupDataDir on each node
- Ensure backups are available from at least one node per node-group
- Purge old cluster backups on each node
ssh is used for connect to the data node servers and a tar stream is piped to the backup-directory on the backup server where holland is running.
Delphini currently requires access via ssh using ssh keys to do the following:
- Read the
BackupDataDirfiles for the
backup idinitiated by the START BACKUP command
- Remove the files in the
BackupDataDirfor the appropriate
[mysql-cluster] connect-string = hostname # default: localhost default-ssh-user = username # default: root default-ssh-keyfile = keyfile # default: no keyfile used [compression] method = gzip | bzip2 | lzop | pigz | pbzip2 | xz | lzma level = 0..9 inline = yes | no
The main section is the
[mysql-cluster] section which defines
basic parameters for the cluster backups.
- Make the archival method configurable instead of hardcoding rsync
- Allow sudo execution of commands on remote server (probably by just making those command invocations configurable) - this will lift the restriction on direct ssh access to BackupDataDir
- Backup mysql schema via mysqldump (triggers, stored routines, etc.)