6.2.12.16 mkvolume

Create a volume or clone a volume snapshot.

Purpose

The mkvolume command allows you to create a new Exascale volume, clone a volume snapshot, or directly clone an existing volume.

Syntax

To create a new volume:

mkvolume size --vault vault 
         [ --attributes attribute=value[,attribute=value]... ]

To clone a volume snapshot:

mkvolume --attributes volumeSnapshot=parent-snapshot-ID[,name=clone-name][,iopsProvisioned=integer-value][,iopsInherited={true|false}]

To directly clone an existing volume:

mkvolume --attributes volumeSource=parent-volume-ID[,name=clone-name][,iopsProvisioned=integer-value][,iopsInherited={true|false}]

Note:

To directly clone an existing volume, you must use Oracle Exadata System Software release 25.1.0 or later.

Command Options

The options for the mkvolume command are:

  • size: Specifies the size of the volume. The size can be specified using suffixes K, KB, M, MB, G, GB, T, TB. The suffix is not case-sensitive.

    Note:

    If you intend to use the volume to support Oracle ACFS, note that ACFS requires a minimum volume size of 512 MB.
  • --vault: Specifies the vault that the volume is created in.

  • --attributes: Optionally specifies attributes for the volume.

    Use the describe mkvolume command to see details about the volume attributes you can set. See also Describing Resources and Attributes.

Usage Notes

The following usage notes apply only when the mkvolume command is used to clone a volume.

  • When cloning a volume snapshot, volumeSnapshot=parent-snapshot-ID identifies the volume snapshot that you want to clone.

  • When directly cloning an existing volume, volumeSource=parent-volume-ID identifies the volume that you want to clone.

  • When cloning a volume, either directly or using a volume snapshot, you can optionally specify the following attribute settings. No additional command options or attribute settings are required or permitted.

    • name=clone-name: Optionally specifies the name of the volume clone, which makes it easier for you to identify later. If not specified, a system-generated name is assigned.

    • iopsProvisioned=integer-value: Optionally specifies the I/O bandwidth provisioned for the volume clone. The I/O bandwidth is expressed as the number of I/Os per second (IOPS).

    • iopsInherited={true|false}: Optionally specifies whether the volume clone inherits I/O bandwidth from the nearest ancestor in the volume hierarchy with provisioned (not inherited) I/O bandwidth.

  • When cloning a volume, either directly or using a volume snapshot, the following describes the relationship between the iopsProvisioned and iopsInherited attribute settings:

    • If iopsProvisioned is unspecified and iopsInherited is not set to false (iopsInherited is unspecified or iopsInherited=true), then:

      • The volume clone inherits I/O bandwidth from its nearest ancestor.

      • The volume clone has the setting: iopsInherited=true.

    • If iopsProvisioned is unspecified and iopsInherited=false, then:

      • The volume clone is provisioned with unlimited iopsProvisioned.

      • The volume clone has the setting: iopsInherited=false.

    • If you specify a value for iopsProvisioned and iopsInherited is not set to true (iopsInherited is unspecified or iopsInherited=false), then:

      • The volume clone is governed by the specified iopsProvisioned value.

      • The volume clone has the setting: iopsInherited=false.

    • An error occurs if you specify a value for iopsProvisioned and iopsInherited=true. This is an invalid combination.

Examples

Example 6-176 Create a Volume

This example shows creating a volume that is 100 MB in size and located in the vault named my-volumes.

@> mkvolume 100m --vault my-volumes

Example 6-177 Create a Volume with Attribute Settings

This example shows creating a volume that is 200 MB in size and located in the vault named my-volumes. The example also includes the following specific attribute settings:

  • The volume name is set to vol2.

  • The volume is provisioned with 1000 IOPS (IOs per second).

@> mkvolume 200m --vault my-volumes --attributes name=vol2,iopsProvisioned=1000