Creating volumes

Virtual Storage Platform One SDS Block Storage Administrator Guide

Version
1.17.x
Audience
anonymous
Part Number
MK-24VSP1SDS002-04

In a command for creating volumes, specify the volume capacity in units of MiB for "capacity." The created volume must have control information. Therefore, the upper limit value that can be specified for "capacity" is logicalLimit minus the capacity for control information.

The upper limit value that can be specified for "capacity" = logicalLimit [MiB] – ((168 [MiB] × n) + 42 [MiB])

  • n = Logical capacity of a volume to be created [MiB] / 3,145,548 [MiB] (A decimal is rounded up to the nearest integer.)

  • To verify the value of logicalLimit, run either of the following commands.

    REST API: GET /v1/objects/storage-controllers

    CLI: storage_controller_list

A volume requires control information in addition to the logical capacity. For how to calculate the maximum capacity of the storage pool consumed by a volume, see Maximum storage pool capacity consumed by a volume.

CAUTION:

If you create a volume of a large capacity that becomes over-provisioned, write I/Os for the capacity equal to or more than allocatableCapacity [MiB] of the storage controller that manages the volume become unavailable.

Also, if the capacity is depleted while a single volume is over-provisioned, drive addition becomes necessary. See Adding drives to add storage pool capacity.

When you are using Universal Replicator, note the following:

  • QoS settings can only apply to volumes (mainly P-VOL) that receive host I/Os directly. QoS settings are ignored by volumes other than such volumes, even if the settings are made.
  • Required role: Storage

  • When creating volumes in a VPS: Scope of the VPS

  1. When you are not using the multi-tenancy function or when you are using the multi-tenancy function and you create volumes in volumes within a system scope, verify the ID of the storage pool in which you want to create volumes.

    If you want to specify the storage pool by its name in the CLI, verify the name of the intended storage pool.

    REST API: GET /v1/objects/pools

    CLI: pool_list

  2. When you create volumes in a VPS, verify the creation-destination VPS ID and conditions set for the VPS (settings including the upper limit for the number of volumes, upper limit for volume capacity, upper limit for a single volume capacity, QoS, and volume data reduction function) instead of a storage pool ID.

    If you want to specify a VPS by its name in the CLI, verify the VPS name.

    REST API: GET /v1/objects/virtual-private-storages

    CLI: vps_list

    Note:

    For the following settings, a system administrator can set values for individual volumes without being restricted by VPS settings. If parameters are not specified, volumes are created with the parameters set for the VPS.

    • QoS

    • Data reduction function for volumes

  3. Create volumes.

    Run either of the following commands with the parameters for creating volumes specified.

    (Cloud) For Multi-AZ configuration, you must specify the ID of the fault domain in which a volume is to be created.

    Note:

    (Cloud) For the fault domain in which a volume is to be created, specify the ID of the same fault domain as the fault domain of the host for which I/O operations are performed (in the case of primary/secondary configuration, the primary side). If I/O operations for volumes are performed from different hosts (in the case of primary/secondary configuration, not the primary side), communication between different Availability Zones occur, leading to increase in communication costs. The communication latency also increases.

    How to verify fault domain IDs (Cloud)

    • REST API: GET /v1/objects/fault-domains

    • CLI: fault_domain_list

    Creating volumes

    • REST API: POST /v1/objects/volumes

    • CLI: volume_create

    Verify the job ID which is displayed after the command is run.

    Tip:
    • By specifying "Compression" in the savingSetting (CLI: --saving_setting) parameter, you can create a volume with data reduction enabled, which compresses data and excludes fixed patterns.

    • You can set the name and nickname for a volume. The name must be unique in the storage cluster. The nickname does not have to be unique (can also be used for other volumes). For this reason, a name can be used for identifying each individual volume, and a nickname can be used for create a group of volumes.

    • By setting the storageControllerId (CLI: --storage_controller_id) parameter, you can create a volume by specifying the storage controller that manages the volume.

      (Cloud) If you specify a storage controller in Multi-AZ configuration, the fault domain ID cannot be specified. In this case, the ID of the fault domain to which the specified storage controller belongs is deemed to be specified.

  4. Verify the state of the job.

    Run either of the following commands with the job ID specified.

    REST API: GET /v1/objects/jobs/<jobId>

    CLI: job_show

    If the job state is "Succeeded", the job is completed.

  5. Obtain a list of volumes and verify that the volumes are created.

    REST API: GET /v1/objects/volumes

    CLI: volume_list

    Tip:

    For a volume with data reduction enabled, savingSetting is set to "Compression."

  6. (Bare metal) Back up the configuration information.

    Perform this step by referring to Backing up the configuration information (Bare metal).

    If you continue operations with other procedures, you must back up the configuration information after you have completed all operations.

    CAUTION:

    When creating a volume with data reduction enabled, verify that the storage pool managed by the storage controller has at least 80 GiB of free space.

    Note:

    In the following cases, use the function for creating a volume by specifying the storage controller that manages the volume.

    • Create a volume by avoiding storage controllers on storage nodes with high I/O loads.

    • Create a volume preferentially on the storage controller running on an added storage node.

    Also note the following points when creating a volume by specifying the storage controller that will manage the volume.

    • When the usage rate of a storage controller becomes high, the capacity balancing process might move the volume to a different storage controller.

    • If you want to prevent a volume from being moved from the current controller by Capacity balance, confirm the status of the volumes that are already created on that storage controller, and design the capacity of the storage controller so that its capacity usage is kept less than 70%. If the capacity usage of the storage controller might exceed 70%, consider disabling Capacity balance of the storage node on which the storage controller runs.

      However, if the capacity balancing setting is disabled, even if the usage rate of the storage controller becomes high, the capacity will not be balanced and the storage controller capacity might be exhausted. Monitor the usage rate of storage controllers to ensure that they have the necessary free space.

    • If you create a maximum number of volumes for a storage controller when total capacity of the volumes managed by the storage controller is smaller than the storage controller capacity, storage pool capacity cannot be fully utilized.