// Module included in the following assemblies:
//
// * virt/creating_vm/virt-creating-vms-from-templates.adoc
// * virt/managing_vms/virt-edit-vms.adoc

:_mod-docs-content-type: REFERENCE
[id="virt-storage-wizard-fields-web_{context}"]
= Storage fields

[role="_abstract"]
To optimize storage performance and ensure data availability for your workloads, configure the storage fields to define the source, size, and disk characteristics of your virtual machine (VM).

[cols="1a,3a"]
|===
|Field |Description

|Blank (creates PVC)
|Create an empty disk.

|Import via URL (creates PVC)
|Import content via URL (HTTP or HTTPS endpoint).

|Use an existing PVC
|Use a PVC that is already available in the cluster.

|Clone existing PVC (creates PVC)
|Select an existing PVC available in the cluster and clone it.

|Import via Registry (creates PVC)
|Import content via container registry.

ifndef::openshift-rosa,openshift-dedicated[]
|Container (ephemeral)
|Upload content from a container located in a registry accessible from the cluster. The container disk should be used only for read-only filesystems such as CD-ROMs or temporary virtual machines.
endif::openshift-rosa,openshift-dedicated[]

|Name
|Name of the disk. The name can contain lowercase letters (`a-z`), numbers (`0-9`), hyphens (`-`), and periods (`.`), up to a maximum of 253 characters. The first and last characters must be alphanumeric. The name must not contain uppercase letters, spaces, or special characters.

|Size
|Size of the disk in GiB.

|Type
|Type of disk. Example: Disk or CD-ROM

|Interface
|Type of disk device. Supported interfaces are *virtIO*, *SATA*, and *SCSI*.

|Storage Class
|The storage class that is used to create the disk.
|===

[id="virt-storage-wizard-fields-advanced-web_{context}"]
== Advanced storage settings

The following advanced storage settings are optional and available for *Blank*, *Import via URL*, and *Clone existing PVC* disks.

If you do not specify these parameters, the system uses the default storage profile values.

[cols="1a,1a,3a",options="header"]
|===
|Parameter |Option |Parameter description

.2+|Volume Mode

|Filesystem
|Stores the virtual disk on a file system-based volume.
|Block
|Stores the virtual disk directly on the block volume. Only use `Block` if the underlying storage supports it.

ifndef::openshift-dedicated[]
.3+|Access Mode
|ReadWriteOnce (RWO)
|Volume can be mounted as read/write by a single node.
|ReadWriteMany (RWX)
|Volume can be mounted as read/write by many nodes at one time.
[NOTE]
====
This mode is required for live migration.
====
|ReadOnlyMany (ROX)
|Volume can be mounted as read only by many nodes.

[NOTE]
====
`ReadWriteMany` access mode is required for live migration.
====
endif::openshift-dedicated[]
ifdef::openshift-dedicated[]
.2+|Access Mode
|ReadWriteOnce (RWO)
|Volume can be mounted as read-write by a single node.
|ReadOnlyMany (ROX)
|Volume can be mounted as read only by many nodes.
endif::openshift-dedicated[]
|===
