# Volume Types

**Volume types** define the characteristics and performance profile of
block storage volumes that you can attach to your virtual machines (VMs).
Each volume type determines:

* **Underlying storage hardware**, for example, SSD and HDD
* **Performance limits**, such as IOPS and throughput
* **Features**, such as encryption, deduplication, and compression
* **Volume Retype**

  You can sometimes change a volume’s type after creation,
  for example migrate from HDD to SSD, but there may be restrictions based
  on storage class, encryption, or capacity.

Certain applications such as databases and analytics require high IOPS and
can benefit from SSDs, while others, such as backups and logs can performance
adequately with HDDs.

**Example Volume Types and Their Effects**

| Volume Type   | Media   | Typical Use Case       | Performance   | Features             |
|---------------|---------|------------------------|---------------|----------------------|
| zvtssd1 (gp2) | SSD     | General purpose        | Medium        | Encryption, no dedup |
| zvtssd2 (gp3) | SSD     | High-performance DB    | High          | Encryption, no dedup |
| zvtssdmx      | SSD     | Burst workloads        | Very High     | No IOPS limit        |
| zvthdd1 (sc1) | HDD     | Archival, backups      | Low           | Encryption, no dedup |
| zvthddmx      | HDD     | Burst archival/logging | Medium        | No IOPS limit        |

## Volume Types Management

The **Volume Types** screen provides the following actions:

* Viewing volume types
* Creating a new volume type
* Modifying an existing volume type
* Delete a volume type
* Enable or disable provisioning for a volume type
* Setting a volume type as the default for new volumes

### Viewing volume types

To view the volume types:

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types
   with the following columns:
   * **Name**

     The volume type name.
     When a description exists, it is also displayed.
   * **API Alias**

     An alternate name for API-based access.
     This value can be used instead of the main volume type name.
   * **Provisioned Capacity**

     The amount of capacity already provisioned through this volume type.
   * **Built In**

     Indicates whether the volume type is a built-in system volume type.
   * **Default**

     Indicates whether the volume type is the current default for new
     volumes.
   * **Storage Class**

     Shows which storage class the volume type uses.
   * **Health**

     Shows the health status of the volume type.
   * **Provisioning**

     Shows whether provisioning is enabled or disabled for the volume
     type.
   * **State**

     Shows the current state of the volume type:
     * **Normal**
     * **No Capacity**
2. When you mark a volume type’s checkbox, the lower panel shows summary
   details:

   The **Info** area shows:
   * **Storage Class**

     Shows which storage class the volume type uses.
   * **Default**

     Indicates whether the volume type is the current default for new
     volumes.
   * **Provisioning Enabled**

     Shows whether new provisioning is allowed for the selected  volume
     type.
   * **Built In**

     Shows whether the selected volume type is built in.
   * **Creation Date**

     The date and time when the volume type was created.
   * **Modification Date**

     The date and time when the volume type was last updated.
   * **Provisioned Capacity**

     The capacity already provisioned through the selected volume type.
   * **ID**

     The unique identifier of the selected volume type.

     The **Capping** area shows whether the following features are enabled
     for the selected volume type:
   * **Encryption**
   * **Dedupe**
   * **Compression**
3. Select a storage class name to view further details.

### Viewing a volume type’s details

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.
2. In the volume types list, select the volume type **Name** to view
   that volume type’s details.

   The volume type’s detail screen appears, with the following sections:
   * [Volume type details pane](#volume-type-details) in the upper part of the screen.
   * The **Tabs** section in the lower part of the screen:
     * [Volume type More Info tab](#volume-type-more-info-tab)
     * [Volume type Volumes tab](#volume-type-volumes-tab)
     * [Volume type Events tab](#volume-type-events-tab)

<a id="volume-type-details"></a>

#### Volume type details pane

The **Info** section gives a quick summary of the selected volume type.

It shows the current health and state, and the main settings and
identifiers for the volume type:

* **Health**: The current health status of the volume type.
* **State**: The current operating state of the volume type.
* **Storage Class**: The storage class assigned to the volume type.

  This value is a link to the related storage class screen.
* **Default**: Indicates whether this volume type is the default choice
  for new volumes.
* **Provisioning Enabled**: Indicates whether new volumes can be
  provisioned with this volume type.
* **Built in**: Indicates whether the volume type is a built-in system
  volume type.
* **Creation Date**: The date and time that the volume type was created.
* **Modification Date**: The date and time that the volume type was last
  updated.
* **Provisioned Capacity**: The total capacity already provisioned by
  volumes that use this volume type.
* **ID**: The unique identifier of the volume type.

<a id="volume-type-more-info-tab"></a>

#### Volume type More Info tab

The **More Info** tab shows additional settings for the selected volume
type.

Use this tab to review descriptive details, sharing settings, data
services, and performance limits for the volume type:

* **Description**: The descriptive text for the volume type.
* **Alias**: The alternate API name for the volume type.

  When an alias is set, it is the volume type name presented through the
  AWS compatibility APIs.
  If no alias is set, the original volume type name is used.
* **Shared**: Indicates whether the volume type is shared.
* **Dedupe**: Indicates whether deduplication is enabled for the volume
  type.
* **Encryption**: Indicates whether encryption is enabled for the volume
  type.
* **Compression**: Indicates whether compression is enabled for the volume
  type.
* **Read IOPS limit**: The maximum read IOPS limit for volumes that use
  this volume type.
* **Write IOPS limit**: The maximum write IOPS limit for volumes that use
  this volume type.
* **Read bandwidth limit**: The maximum read bandwidth limit, in MB/s, for
  volumes that use this volume type.
* **Write bandwidth limit**: The maximum write bandwidth limit, in MB/s,
  for volumes that use this volume type.

<a id="volume-type-volumes-tab"></a>

#### Volume type Volumes tab

The **Volumes** tab lists the volumes that use the selected volume type.
It supports row selection, which in turn shows per-volume actions in the
toolbar and the **More** menu.

The table includes the columns:

* **Name**: The volume name.
  When a volume description exists, it is displayed under the name.
* **Size**: The volume’s configured size.
* **Volume Type**: The volume type assigned to the volume.

  This value is a link to the related volume type screen.
* **Account**: The account that owns the volume.
* **User**: The user associated with the volume.
* **Status**: The current volume status.

  Possible values include:
  * **attaching**
  * **deleted**
  * **destroying**
  * **detaching**
  * **downloading**
  * **error**
  * **extending**
  * **locked**
  * **ready**
  * **uninitialized**
  * **uploading**
* **Health**: The current health value for the volume.
* **Attached VM**: The VM to which the volume is attached.

  If a VM is attached, the value is a link to the screen of that VM.

  If no VM is attached, the entry shows **Not attached to any VM**.
* **Creation Date**: The date and time that the volume was created.

**Available volume actions**

The toolbar and row action menu in the **Volumes** tab expose the following
actions for a selected volume:

* **Attach**: Connect an unattached volume to a VM.
* **Detach**: Disconnects an attached volume from its VM.
* **Clone**: Creates a clone from the selected volume.
* **Snapshot**: Creates a snapshot from the selected volume.
* **Delete**: Deletes the selected volume.
* **Create Image**: Creates an image from the selected volume.
* **Launch**: Opens the VM creation dialog, with the selected volume
  passed as the source volume.
* **More** submenu:
  * **Extend**: Opens the volume extension dialog for the selected volume.
  * **Protect**: Opens the resource protection flow for the selected
    volume.
  * **Change Volume Type**: Opens the volume type change flow for the
    selected volume.
  * **Create Alarm**: Opens alarm creation dialog for the selected volume.

<a id="volume-type-events-tab"></a>

#### Volume type Events tab

The **Events** tab shows event records for the selected volume type.

By default, the general event columns **Entity Name** and **Entity Type**
are hidden, because the page is already scoped to the specified volume type.

Columns include:

* **Severity**: The event severity level.
* **Time**: Date and time that the event was recorded.
* **Name**: The event type name.
* **Details**: The event description.
* **Account**: The account associated with the event.
* **Project**: The project related to the event.
* **User**: The username of the user that triggered the event.
* **Related Events**: When the event has a related request ID, it shows a
  **View** to open related event records.

### Creating a volume type

To create a new volume type:

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.
2. From the top toolbar, select **+ Create**.

   The **Create Volume Type** dialog opens.
3. In the **Details** step, enter the following:
   * **Name**

     The volume type name.

     Required.
   * **Description**

     Optional text that helps identify the purpose of the volume type.
   * **Alias**

     Optional alternate name for AWS compatibility APIs.
     If no value is provided, the original name is used.
   * **Storage Class**

     From the dropdown, select the storage class that backs the volume
     type.

     Required.
   * **Set as Default for New Volumes**

     Select this volume type as the default choice for new volumes.
   * **Disable Provisioning**

     Creates the volume type with provisioning disabled.
4. Select **Next** to continue to the **Performance** step.
5. In the **Performance** step, enter the following:
   * **Max read IOPs**

     Sets the read IOPS limit for volumes that use this volume type.
   * **Max write IOPs**

     Sets the write IOPS limit for volumes that use this volume type.
   * **Max read MB/s**

     Sets the read bandwidth limit in MB/s.
   * **Max write MB/s**

     Sets the write bandwidth limit in MB/s.
   * **Enable deduplication**

     Turns deduplication on for this volume type.

     This setting depends on storage class capability.
   * **Enable compression**

     Turns compression on for this volume type.

     This setting depends on storage class capability.
   * **Enable encryption**

     Turns encryption on for this volume type.
   * **Shared**

     Controls whether the volume type is shared.
   * **Allowed Accounts**

     From the dropdown, select the accounts that can use the volume type
     when it is not shared.
6. To confirm creation of the volume type, select **Finish**.

### Modifying a volume type

To modify an existing volume type:

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.
2. In the volume types list, locate the volume type to modify.

   Select the volume type by one of the following methods:
   * Mark the volume type’s checkbox.
   * Click the volume type’s name.

   The **Modify** option will display in the top toolbar.
3. From the top toolbar, select **Modify**.

   The **Modify Volume Type** dialog opens.
4. In the **Details** step, you can optionally update the following:
   * **Name**

     The volume type name.
   * **Description**

     Optional text that helps identify the purpose of the volume type.
   * **Alias**

     Optional alternate name for AWS compatibility APIs.
     If no value is provided, the original name is used.
5. Select **Next** to continue to the **Performance** step.
6. In the **Performance** step, you can optionally update the following:
   * **Max read IOPs**

     Sets the read IOPS limit for volumes that use this volume type.
   * **Max write IOPs**

     Sets the write IOPS limit for volumes that use this volume type.
   * **Max read MB/s**

     Sets the read bandwidth limit in MB/s.
   * **Max write MB/s**

     Sets the write bandwidth limit in MB/s.
   * **Enable deduplication**

     Turns deduplication on for this volume type.

     This setting depends on storage class capability.
   * **Enable compression**

     Turns compression on for this volume type.

     This setting depends on storage class capability.
   * **Shared**

     Controls whether the volume type is shared.
   * **Allowed Accounts**

     From the dropdown, select the accounts that can use the volume type
     when it is not shared.
7. To confirm updating the changes to the volume type, select **Finish**.

### Deleting a volume type

To delete a volume type:

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.
2. In the volume types list, locate the volume type to delete.

   Select the volume type by one of the following methods:
   * Mark the volume type’s checkbox.
   * Click the volume type’s name.

   The **Delete** option will display in the top toolbar.
3. From the top toolbar, select **Delete**.

   The **Delete Volume Type** confirmation dialog opens, displaying the
   name of the volume type to delete.
4. To confirm deleting the selected volume type, select **Delete**.

### Disabling provisioning for a volume type

To stop new provisioning through a volume type.

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.

   The **Provisioning** column shows whether the volume type is
   **Enabled** or **Disabled**.
2. In the volume types list, locate the volume type to disable.

   Select the volume type by one of the following methods:
   * Mark the volume type’s checkbox.
   * Click the volume type’s name.

   The **Disable** option will display in the top toolbar.
3. From the top toolbar, select **Disable**.

   The **Disable Volume Type** confirmation dialog opens, displaying the
   name of the volume type to disable.
4. To confirm disabling the selected volume type, select **Disable**.

   The selected volume type’s **Provisioning** column changes to
   **Disabled**.

### Enable provisioning for a volume type

To allow new provisioning through a volume type.

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.

   The **Provisioning** column shows whether the volume type is
   **Enabled** or **Disabled**.
2. In the volume types list, locate the volume type to enable.

   Select the volume type by one of the following methods:
   * Mark the volume type’s checkbox.
   * Click the volume type’s name.

   The **Enable** option will display in the top toolbar.
3. From the top toolbar, select **Enable**.

   The **Enable Volume Type** confirmation dialog opens, displaying the
   name of the volume type to enable.
4. To confirm enabling the selected volume type, select **Enable**.

   The selected volume type’s **Provisioning** column changes to
   **Enabled**.

### Setting a default volume type

To choose which volume type is used by default for new volumes.

1. Select **Storage Management > Volume Types**.

   The **Volume Types** screen opens, displaying the list of volume types.

   The **Default** column shows which volume type is the current default.
2. In the volume types list, locate the volume type to set as default.

   Select the volume type by one of the following methods:
   * Mark the volume type’s checkbox.
   * Click the volume type’s name.

   The **Set Default** option will display in the top toolbar.
3. From the top toolbar, select **Set Default**.

   In the **Default** column, the **Default** check mark indication moves
   to the selected volume type.

   On provisioning, new volumes will default to the selected volume type.

## Recommended best practices

* Only use the default volume types.
* Use the **Alias** field only when you need an alternate AWS API name.
* Use provisioning disablement when you need to stop new use of a
  volume type without deleting it.
* Review the **Shared** setting carefully. If the volume type is
  not shared, set the correct accounts in **Allowed Accounts**.
* Use the details panel to confirm health, state, provisioning
  status, and capping settings after a change.

## Troubleshooting

* **Modify is unavailable**

  The selected volume type might be built in. Built-in volume
  types cannot be modified.
* **Delete is unavailable**

  The selected volume type might be the current default. Set a new
  default volume type first, and then delete the old one.
* **Provisioning shows Disabled**

  New provisioning is turned off for that volume type. Use
  **Enable** to allow provisioning again.
* **Set Default is unavailable**

  The selected volume type is already the default.
* **Allowed Accounts cannot be edited**

  The volume type is set as shared. Clear **Shared** first to make
  account selection relevant.
* **Dedupe or compression cannot be changed**

  The selected storage class might not support that capability.
* **Encryption cannot be changed during modification**

  The modify flow does not show the encryption field. Review the
  existing capping values in the details panel.
