mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-23 05:20:19 +00:00
3c6149b86e
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
3.3 KiB
3.3 KiB
Create CephFS snapshot and Clone Volume
Prerequisite
- For snapshot functionality to be supported for your Kubernetes cluster, the
Kubernetes version running in your cluster should be >= v1.17. We also need the
snapshot controller
deployed in your Kubernetes cluster along withcsi-snapshotter
sidecar container. Refer external-snapshotter for more information on these sidecar controllers. There should be avolumesnapshotclass
object present in the cluster for snapshot request to be satisified.
Snapshot
Create snapshotclass
kubectl create -f ../examples/cephfs/snapshotclass.yaml
Create snapshot
The snapshot is created on/for an existing PVC. You should have a PVC in bound state before creating snapshot from it. please refer pvc creation doc for more information on how to create a PVC.
$ kubectl create -f ../examples/cephfs/snapshot.yaml
volumesnapshot.snapshot.storage.k8s.io/cephfs-pvc-snapshot created
- Get details about the snapshot
$ kubectl get volumesnapshot
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE
cephfs-pvc-snapshot true csi-cephfs-pvc 1Gi csi-cephfsplugin-snapclass snapcontent-34476204-a14a-4d59-bfbc-2bbba695652c 3s 6s
- Get details about the volumesnapshotcontent
$ kubectl get volumesnapshotcontent
NAME READYTOUSE RESTORESIZE DELETIONPOLICY DRIVER VOLUMESNAPSHOTCLASS VOLUMESNAPSHOT AGE
snapcontent-34476204-a14a-4d59-bfbc-2bbba695652c true 1073741824 Delete cephfs.csi.ceph.com csi-cephfsplugin-snapclass cephfs-pvc-snapshot 64s
Restore snapshot to a new PVC
$ kubectl create -f ../examples/cephfs/pvc-restore.yaml
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
csi-cephfs-pvc Bound pvc-1ea51547-a88b-4ab0-8b4a-812caeaf025d 1Gi RWX csi-cephfs-sc 20h
cephfs-pvc-restore Bound pvc-95308c75-6c93-4928-a551-6b5137192209 1Gi RWX csi-cephfs-sc 11m
Clone PVC
$ kubectl create -f ../examples/cephfs/pvc-clone.yaml
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
csi-cephfs-pvc Bound pvc-1ea51547-a88b-4ab0-8b4a-812caeaf025d 1Gi RWX csi-cephfs-sc 20h
cephfs-pvc-clone Bound pvc-b575bc35-d521-4c41-b4f9-1d733cd28fdf 1Gi RWX csi-cephfs-sc 39s
cephfs-pvc-restore Bound pvc-95308c75-6c93-4928-a551-6b5137192209 1Gi RWX csi-cephfs-sc 55m