Block Storage

Block Storage

Create a volume

  1. Source the demo credentials to perform the following steps as a non-administrative project:

    $ . demo-openrc
    
  2. Create a 1 GB volume:

    $ openstack volume create --size 1 volume1
    
    +---------------------+--------------------------------------+
    | Field               | Value                                |
    +---------------------+--------------------------------------+
    | attachments         | []                                   |
    | availability_zone   | nova                                 |
    | bootable            | false                                |
    | consistencygroup_id | None                                 |
    | created_at          | 2016-03-08T14:30:48.391027           |
    | description         | None                                 |
    | encrypted           | False                                |
    | id                  | a1e8be72-a395-4a6f-8e07-856a57c39524 |
    | multiattach         | False                                |
    | name                | volume1                              |
    | properties          |                                      |
    | replication_status  | disabled                             |
    | size                | 1                                    |
    | snapshot_id         | None                                 |
    | source_volid        | None                                 |
    | status              | creating                             |
    | type                | None                                 |
    | updated_at          | None                                 |
    | user_id             | 684286a9079845359882afc3aa5011fb     |
    +---------------------+--------------------------------------+
    
  3. After a short time, the volume status should change from creating to available:

    $ openstack volume list
    
    +--------------------------------------+--------------+-----------+------+-------------+
    | ID                                   | Display Name | Status    | Size | Attached to |
    +--------------------------------------+--------------+-----------+------+-------------+
    | a1e8be72-a395-4a6f-8e07-856a57c39524 | volume1      | available |    1 |             |
    +--------------------------------------+--------------+-----------+------+-------------+
    

Attach the volume to an instance

  1. Attach a volume to an instance:

    $ openstack server add volume INSTANCE_NAME VOLUME_NAME
    

    Replace INSTANCE_NAME with the name of the instance and VOLUME_NAME with the name of the volume you want to attach to it.

    Example

    Attach the volume1 volume to the provider-instance instance:

    $ openstack server add volume provider-instance volume1
    

    Note

    This command provides no output.

  2. List volumes:

    $ openstack volume list
    
    +--------------------------------------+--------------+--------+------+--------------------------------------------+
    | ID                                   | Display Name | Status | Size | Attached to                                |
    +--------------------------------------+--------------+--------+------+--------------------------------------------+
    | a1e8be72-a395-4a6f-8e07-856a57c39524 | volume1      | in-use |    1 | Attached to provider-instance on /dev/vdb  |
    +--------------------------------------+--------------+--------+------+--------------------------------------------+
    
  3. Access your instance using SSH and use the fdisk command to verify presence of the volume as the /dev/vdb block storage device:

     $ sudo fdisk -l
    
     Disk /dev/vda: 1073 MB, 1073741824 bytes
     255 heads, 63 sectors/track, 130 cylinders, total 2097152 sectors
     Units = sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disk identifier: 0x00000000
    
        Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *       16065     2088449     1036192+  83  Linux
    
     Disk /dev/vdb: 1073 MB, 1073741824 bytes
     16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors
     Units = sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disk identifier: 0x00000000
    
     Disk /dev/vdb doesn't contain a valid partition table
    

    Note

    You must create a file system on the device and mount it to use the volume.

For more information about how to manage volumes, see the python-openstackclient documentation for Pike, the python-openstackclient documentation for Queens, or the python-openstackclient documentation for Rocky.

Return to Launch an instance.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.