Veeam Kasten for Kubernetes backup job that doesn't complete while using Longhorn CSI drivers is never-ending even after the proper installation of CSI snapshotter components and controllers.
No errors are noticed generally for this issue. The job waits for the volumesnapshot object in the k8s to become readyToUse.
During this state, the manifest for the volumesnapshot shows "readyToUse: false"
$ kubectl get volumesnapshot k10-csi-snap-h5vglbt6b7fr6dnd -n postgresql NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE k10-csi-snap-h5vglbt6b7fr6dnd false data-postgres-postgresql-0
The default behavior of associating a Longhorn backup (backup to a target s3/NFS) or a Longhorn snapshot to a CSI snapshot is dependent on the version of the Longhorn driver used.
The sections below provide details regarding the behaviors and recommended ways to configure CSI snapshots with different versions of Longhorn drivers.
In Longhorn versions 1.2.4 or below, when the snapshot is invoked through a CSI driver, Longhorn will default to Longhorn backups due to the unavailability of CSI snapshot mapping to Longhorn snapshot.
Note: There is no explicit mention of this behavior in Longhorn documentation. However, a reference to this behavior can be found here in the GitHub issue comment.
So, it is required to have a backup target when we run Veeam Kasten for Kubernetes policies.
The following can be configured as Backup targets.
Please refer to this longhorn documentation to configure the Backup target.
From version 1.3.0, Longhorn allows configuration options and the capability to handle CSI snapshots. It can be either pointed to Longhorn Snapshot or Longhorn Backup based on the requirement.
It is recommended to use longhorn snapshots with Veeam Kasten for Kubernetes to take advantage of snapshot capability for platform-agnostic portable backups using exports in Veeam Kasten for Kubernetes.
For CSI snapshots to be associated with a longhorn snapshot, the type parameter has to be set to snap in longhorn volumesnapshotclass.
apiVersion: snapshot.storage.k8s.io/v1 deletionPolicy: Delete driver: driver.longhorn.io kind: VolumeSnapshotClass metadata: name: longhorn parameters: type: snap
This form is only for KB Feedback/Suggestions, if you need help with the software open a support case