Remote storage for OpenStack database backups¶
By default, MOSK stores the OpenStack database backups locally in the Mirantis Ceph cluster, which is a part of the same cloud.
Alternatively, MOSK provides you with a capability to create remote backups using an external storage. This section contains configuration details for a remote backend to be used for the OpenStack data backup.
In general, the built-in automated backup routine saves the data to the
mariadb-phy-backup-data
PersistentVolumeClaim (PVC), which is provisioned
from StorageClass
specified in the spec.persistent_volume_storage_class
parameter of the OpenstackDeployment
custom resource (CR).
Remote NFS storage for OpenStack database backups¶
TechPreview
Requirements¶
A preconfigured NFS server with NFS share that a Unix backup and restore user has access to. By default, it is the same user that runs MySQL server in a MariaDB image.
To get the Unix user ID, run:
kubectl -n openstack get cronjob mariadb-phy-backup -o jsonpath='{.spec.jobTemplate.spec.template.spec.securityContext.runAsUser}'
Note
Verify that the NFS server is accessible through the network from all of the OpenStack control plane nodes of the cluster.
The
nfs-common
package installed on all OpenStack control plane nodes.
Limitations¶
Only NFS Unix authentication is supported.
Removal of the NFS persistent volume does not automatically remove the data.
No validation of mount options. If mount options are specified incorrectly in the
OpenStackDeployment
CR, the mount command fails upon the creation of a backup runner pod.
Enabling the NFS backend¶
To enable the NFS backend, configure the following structure in the
OpenStackDeployment
object:
spec:
features:
database:
backup:
enabled: true
backend: pv_nfs
pv_nfs:
server: <ip-address/dns-name-of-the-server>
path: <path-to-the-share-folder-on-the-server>
Optionally, MOSK enables you to set the required mount options for the NFS mount command. You can set as many options of mount as you need. For example:
spec:
services:
database:
mariadb:
values:
volume:
phy_backup:
nfs:
mountOptions:
- "nfsvers=4"
- "hard"