Skip to content

Manual Data Backup

Create the toolbox container

Ran from your workstation

kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-direct-mount" -o jsonpath='{.items[0].metadata.name}') -- bash

Ran from the rook-ceph-toolbox

mkdir -p /mnt/nfsdata
mkdir -p /mnt/data
mount -t nfs -o "nfsvers=4.1,hard" 192.168.3.113:/Data /mnt/nfsdata

Restore data from a NFS share

Ran from your workstation

  • Pause the Flux Helm Release
flux suspend hr home-assistant -n home
  • Scale the application down to zero pods
kubectl scale deploy/home-assistant --replicas 0 -n home
  • Get the csi-vol-* string
kubectl get pv/$(kubectl get pv | grep home-assistant-config-v1 | awk -F' ' '{print $1}') -n home -o json | jq -r '.spec.csi.volumeAttributes.imageName'

Ran from the rook-ceph-toolbox

rbd map -p replicapool csi-vol-ebb786c7-9a6f-11eb-ae97-9a71104156fa \
    | xargs -I{} mount {} /mnt/data
tar czvf /mnt/nfsdata/Backups/home-assistant.tar.gz -C /mnt/data/ .
umount /mnt/data
rbd unmap -p replicapool csi-vol-ebb786c7-9a6f-11eb-ae97-9a71104156fa