Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 5 additions & 18 deletions modules/virt-cloning-a-datavolume.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,26 @@
//
// * virt/virtual_machines/virtual_disks/virt-cloning-a-datavolume-using-smart-cloning.adoc

// `blockstorage` conditionals are used (declared in the "*-block" assembly) to separate content

[id="virt-cloning-a-datavolume_{context}"]
= Cloning a DataVolume

.Prerequisites

For smart-cloning to occur:
For smart-cloning to occur, the following conditions are required.

* Your storage provider must support snapshots.
* The source and target PVCs must be defined to the same namespace.
* The source and target PVCs must be defined to the same storage class.
* The VolumeSnapshotClass object must reference the storage class defined to both the source and target PVCs.

If any of these prerequisites are not met, host-assisted cloning occurs when you create a DataVolume with a
PVC source.
If any of these prerequisites are not met, host-assisted cloning automatically occurs when you create a DataVolume with a PVC source.

.Procedure

To initiate cloning of a DataVolume:

. Create a YAML file for a DataVolume object that specifies the name of the
new DataVolume, the name and namespace of the source PVC,
ifdef::blockstorage[]
`volumeMode: Block` so that an available block PV is used,
endif::[]
and the size of the new DataVolume.
+
For example:
. Create a YAML file for a `DataVolume` object that specifies the name of the
new DataVolume, the name and namespace of the source PVC, and the size of the new DataVolume. This example clones a source PVC in block mode, so `volumeMode: Block` is used:
+
[source,yaml]
----
Expand All @@ -45,22 +36,18 @@ spec:
name: "<my-favorite-vm-disk>" <3>
pvc:
accessModes:
- ReadWriteOnce
- ReadWriteMany
resources:
requests:
storage: <2Gi> <4>
ifdef::blockstorage[]
volumeMode: Block <5>
endif::[]
----
<1> The name of the new DataVolume.
<2> The namespace where the source PVC exists.
<3> The name of the source PVC.
<4> The size of the new DataVolume. You must allocate enough space, or the
cloning operation fails. The size must be the same as or larger than the source PVC.
ifdef::blockstorage[]
<5> Specifies that the destination is a block PV
endif::[]

. Start cloning the PVC by creating the DataVolume:
+
Expand Down
3 changes: 0 additions & 3 deletions modules/virt-understanding-smart-cloning.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
[id="virt-understanding-smart-cloning_{context}"]
= Understanding smart-cloning

Smart-cloning creates a clone of a DataVolume using the most efficient method available,
either by snapshot or host-assisted cloning.

When a DataVolume is smart-cloned, the following occurs:

. A snapshot of the source PersistentVolumeClaim (PVC) is created.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ include::modules/virt-document-attributes.adoc[]
:context: virt-cloning-a-datavolume-using-smart-cloning
toc::[]

When you clone a DataVolume, you make a copy of it.
Smart-cloning is a built-in feature of {product-title} Storage (OCS),
designed to enhance performance of the cloning process. Clones created with smart-cloning are faster and more efficient than host-assisted cloning.

By cloning, you reduce the amount of time it takes to deploy many
virtual machines at one time.
You do not need to perform any action to enable smart-cloning, but you need to ensure your storage environment is compatible with smart-cloning to use this feature.

Cloning happens automatically when you create a DataVolume with a
PersistentVolumeClaim (PVC) source.
When you create a DataVolume with a PersistentVolumeClaim (PVC) source, you automatically initiate the cloning process. You always receive a clone of the DataVolume, if your environment supports smart-cloning or not. However, you will only receive the performance benefits of smart cloning if you storage provider supports smart-cloning.

include::modules/virt-understanding-smart-cloning.adoc[leveloffset=+1]

include::modules/virt-cloning-a-datavolume.adoc[leveloffset=+1]

== Additional resources

* xref:../../../virt/virtual_machines/cloning_vms/virt-cloning-vm-disk-into-new-datavolume.html#virt-cloning-pvc-of-vm-disk-into-new-datavolume_virt-cloning-vm-disk-into-new-datavolume[Cloning the PersistentVolumeClaim of a virtual machine disk into a new DataVolume]
* xref:../../../virt/virtual_machines/cloning_vms/virt-cloning-vm-disk-into-new-datavolume.adoc#virt-cloning-pvc-of-vm-disk-into-new-datavolume_virt-cloning-vm-disk-into-new-datavolume[Cloning the PersistentVolumeClaim of a virtual machine disk into a new DataVolume]