With VAST Block CSI Driver, you can create an instantly writable clone of either a block volume snapshot or another block volume.
When cloning a block volume, a temporary snapshot is created behind the scenes. This transient snapshot is invisible to Kubernetes, and is eventually deleted by VAST Block CSI Driver once the clone operation is complete.
As with regular volumes, VAST CSI Driver automatically creates a view and a quota for the resulting clone volume on the VAST cluster. The clone is mounted to the underlying directory of the view and can be used for read and write operations. It can also be expanded through Kubernetes volume expansion.
Note
Cloning is done using Global Snapshot Clones, a feature of VAST Cluster 4.6.0 and later. For more information about this feature, see VAST Cluster Administrator's Guide.
To clone a block volume from its snapshot:
Create a YAML configuration file for cloning and specify the following required parameters:
In
metadata:nameis the Persistent Volume Claim (PVC) name for the clone.
In
spec:storageClassNameis the name of the storage class used for the PVC.In
dataSource:nameis the PVC name of the block volume that stores the snapshot from which cloning is done.
For example:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-clone spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: vastdata-filesystem dataSource: name: snapshot-pvc-1snap kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io
Deploy the YAML configuration file:
kubectl apply -f vast-csi-deployment.yaml
The output is similar to the following:
persistentvolumeclaim/pvc-clone created
Verify that the clone can be displayed:
kubectl get pvc
The output is similar to the following:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-clone Bound pvc-c212dc9e-1b72-49da-8a58-8c1ceb97b9e3 1Gi RWX vastdata-filesystem 7s