mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 11:00:25 +00:00
doc: configuring cephfs snapshots and clones
this commit updates the readme with the instructions on how to configure snapshots and clones of cephfs pvc Signed-off-by: riya-singhal31 <rsinghal@redhat.com>
This commit is contained in:
parent
6f54b88b26
commit
4a3550d137
@ -296,3 +296,102 @@ Units: sectors of 1 * 512 = 512 bytes
|
|||||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||||
I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes
|
I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### How to create CephFS Snapshot and Restore
|
||||||
|
|
||||||
|
In the `examples/cephfs` directory you will find two files related to snapshots:
|
||||||
|
[snapshotclass.yaml](./cephfs/snapshotclass.yaml) and
|
||||||
|
[snapshot.yaml](./cephfs/snapshot.yaml).
|
||||||
|
|
||||||
|
Once you created your CephFS volume, you'll need to customize at least
|
||||||
|
`snapshotclass.yaml` and make sure the `clusterID` parameter matches
|
||||||
|
your Ceph cluster setup.
|
||||||
|
|
||||||
|
Note that it is recommended to create a volume snapshot or a PVC clone
|
||||||
|
only when the PVC is not in use.
|
||||||
|
|
||||||
|
After configuring everything you needed, create the snapshot class:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f ../examples/cephfs/snapshotclass.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Verify that the snapshot class was created:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ kubectl get volumesnapshotclass
|
||||||
|
NAME DRIVER DELETIONPOLICY AGE
|
||||||
|
csi-cephfsplugin-snapclass cephfs.csi.ceph.com Delete 24m
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a snapshot from the existing PVC:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f ../examples/cephfs/snapshot.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
To verify if your volume snapshot has successfully been created and to
|
||||||
|
get the details about snapshot, run the following:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ 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
|
||||||
|
```
|
||||||
|
|
||||||
|
To be sure everything is OK you can run
|
||||||
|
`ceph fs subvolume snapshot ls <vol_name> <sub_name> [<group_name>]`
|
||||||
|
inside one of your Ceph pod.
|
||||||
|
|
||||||
|
To restore the snapshot to a new PVC, deploy
|
||||||
|
[pvc-restore.yaml](./cephfs/pvc-restore.yaml) and a testing pod
|
||||||
|
[pod-restore.yaml](./cephfs/pod-restore.yaml):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f pvc-restore.yaml
|
||||||
|
kubectl create -f pod-restore.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cleanup for CephFS Snapshot and Restore
|
||||||
|
|
||||||
|
Delete the testing pod and restored pvc.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl delete pod <pod-restore name>
|
||||||
|
kubectl delete pvc <pvc-restore name>
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, the snapshot is no longer in use, Delete the volume snapshot
|
||||||
|
and volume snapshot class.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl delete volumesnapshot <snapshot name>
|
||||||
|
kubectl delete volumesnapshotclass <snapshotclass name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### How to Clone CephFS Volumes
|
||||||
|
|
||||||
|
Create the clone from cephFS PVC:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f ../examples/cephfs/pvc-clone.yaml
|
||||||
|
kubectl create -f ../examples/cephfs/pod-clone.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
To verify if your clone has successfully been created, run the following:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ 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
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cleanup
|
||||||
|
|
||||||
|
Delete the cloned pod and pvc:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl delete pod <pod-clone name>
|
||||||
|
kubectl delete pvc <pvc-clone name>
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user