6.2.12.14 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 view details about all the volume attributes you can set with mkvolume.

Usage Notes

  • You can optionally specify up to two volume owners by setting the owners attribute to the name(s) of the Exascale user(s) that you want to own the volume.

    To set a sole owner, use:

    @> mkvolume ... --attributes owners=owner1

    To set two owners, use:

    @> mkvolume ... --attributes owners=owner1,owner2
  • 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-171 Create a Volume

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

@> mkvolume 100m --vault MYVOLS

Example 6-172 Create a Volume with Attribute Settings

This example shows creating a volume that is 200 MB in size and located in the vault named MYVOLS. 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).

  • The volume is created with two owners (Exascale users named scott and dave).

@> mkvolume 200m --vault MYVOLS --attributes name=vol2,iopsProvisioned=1000,owners=scott,dave