Recurring Snapshots and Backups
From the Longhorn UI, recurring snapshots and backups can be scheduled.
To set up a schedule, you will go to the volume detail view in Longhorn. Then you will set:
Then Longhorn will automatically create snapshots or backups for the user at that time, as long as the volume is attached to a node. If you want to set up recurring snapshots and backups even when the volumes are detached, see the section Allow Recurring Job While Volume Is Detached
Recurring snapshots can be configured using the Longhorn UI, or by using a Kubernetes StorageClass.
For more information on how snapshots and backups work, refer to the concepts section.
Note: To avoid the problem that recurring jobs may overwrite the old backups/snapshots with identical backups and empty snapshots when the volume doesn’t new data for a long time, Longhorn does the following:
- Recurring backup job only takes a new backup when the volume has new data since the last backup.
- Recurring snapshot job only takes a new snapshot when the volume has new data in the volume head (the live data).
Recurring snapshots and backups can be configured from the volume detail page. To navigate to this page, click Volume, then click the name of the volume.
Scheduled backups and snapshots can be configured in the recurringJobs
parameters in a StorageClass.
Any future volumes created using this StorageClass will have those recurring jobs automatically set up.
The recurringJobs
field should follow JSON format:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn
provisioner: driver.longhorn.io
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "30"
fromBackup: ""
recurringJobs: '[
{
"name":"snap",
"task":"snapshot",
"cron":"*/1 * * * *",
"retain":1
},
{
"name":"backup",
"task":"backup",
"cron":"*/2 * * * *",
"retain":1
}
]'
The following parameters should be specified for each recurring job:
name
: Name of one job. Do not use duplicate name in one recurringJobs
. And the length of name
should be no more than 8 characters.
task
: Type of one job. It supports snapshot
(periodically create snapshot) or backup
(periodically create snapshot then do backup) only.
cron
: Cron expression. It tells execution time of one job.
retain
: How many snapshots/backups Longhorn will retain for one job. It should be no less than 1.
Longhorn provides the setting allow-recurring-job-while-volume-detached
that allows you to do recurring backup even when a volume is detached.
You can find the setting in Longhorn UI.
When the setting is enabled, Longhorn will automatically attach the volume and take snapshot/backup when it is the time to do recurring snapshot/backup.
Note that during the time the volume was attached automatically, the volume is not ready for the workload. Workload will have to wait until the recurring job finishes.
© 2019-2024 Longhorn Authors | Documentation Distributed under CC-BY-4.0
© 2024 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.