基礎的なストレージ操作を行います

仮想マシンの作成

まず、ストレージを接続するための仮想マシンを2台作成します。

In [1]:
function get_uuid () { cat - | grep " id " | awk '{print $4}'; }
export MY_WORK_NET=`neutron net-show work-net | get_uuid`

nova boot --flavor m1.tiny --image "cirros-0.3.5" \
--key-name my-key --security-groups open-all \
--nic net-id=${MY_WORK_NET} \
--min-count 2 \
test-vm-2
+--------------------------------------+-----------------------------------------------------+
| Property                             | Value                                               |
+--------------------------------------+-----------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                              |
| OS-EXT-AZ:availability_zone          |                                                     |
| OS-EXT-STS:power_state               | 0                                                   |
| OS-EXT-STS:task_state                | scheduling                                          |
| OS-EXT-STS:vm_state                  | building                                            |
| OS-SRV-USG:launched_at               | -                                                   |
| OS-SRV-USG:terminated_at             | -                                                   |
| accessIPv4                           |                                                     |
| accessIPv6                           |                                                     |
| adminPass                            | 2ta4YRB63yCg                                        |
| config_drive                         |                                                     |
| created                              | 2017-06-09T03:36:00Z                                |
| description                          | -                                                   |
| flavor                               | m1.tiny (1)                                         |
| hostId                               |                                                     |
| id                                   | 9056f78a-966a-4b5f-85d8-36bcb99ee241                |
| image                                | cirros-0.3.5 (66722486-ac79-4cd2-9a7d-c2479a9f6f92) |
| key_name                             | my-key                                              |
| locked                               | False                                               |
| metadata                             | {}                                                  |
| name                                 | test-vm-2-1                                         |
| os-extended-volumes:volumes_attached | []                                                  |
| progress                             | 0                                                   |
| security_groups                      | open-all                                            |
| status                               | BUILD                                               |
| tags                                 | []                                                  |
| tenant_id                            | 44be7b065a154e33aacbe7dbca18c6be                    |
| updated                              | 2017-06-09T03:36:01Z                                |
| user_id                              | 8e9f38ff948143899c04c764848ef8d3                    |
+--------------------------------------+-----------------------------------------------------+

仮想マシンの起動を確認します。

In [2]:
nova list
+--------------------------------------+-------------+--------+------------+-------------+----------+
| ID                                   | Name        | Status | Task State | Power State | Networks |
+--------------------------------------+-------------+--------+------------+-------------+----------+
| 9056f78a-966a-4b5f-85d8-36bcb99ee241 | test-vm-2-1 | BUILD  | spawning   | NOSTATE     |          |
| 0af75a30-2c40-4de0-8ae5-04f42b105f8c | test-vm-2-2 | BUILD  | spawning   | NOSTATE     |          |
+--------------------------------------+-------------+--------+------------+-------------+----------+

2台がACTIVEになるのを待ちます。

In [3]:
nova list
+--------------------------------------+-------------+--------+------------+-------------+----------------------+
| ID                                   | Name        | Status | Task State | Power State | Networks             |
+--------------------------------------+-------------+--------+------------+-------------+----------------------+
| 9056f78a-966a-4b5f-85d8-36bcb99ee241 | test-vm-2-1 | ACTIVE | -          | Running     | work-net=172.16.11.5 |
| 0af75a30-2c40-4de0-8ae5-04f42b105f8c | test-vm-2-2 | ACTIVE | -          | Running     | work-net=172.16.11.8 |
+--------------------------------------+-------------+--------+------------+-------------+----------------------+

Floating IPを2つ確保しておきます。

In [4]:
neutron floatingip-create public
Created a new floatingip:
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| created_at          | 2017-06-09T03:36:58Z                 |
| description         |                                      |
| fixed_ip_address    |                                      |
| floating_ip_address | 192.168.99.206                       |
| floating_network_id | 17e4bba8-2a15-46fb-ab54-fb463aee503c |
| id                  | 566ddd9c-a9c8-44f0-9018-d8ba5f744040 |
| port_id             |                                      |
| project_id          | 44be7b065a154e33aacbe7dbca18c6be     |
| revision_number     | 1                                    |
| router_id           |                                      |
| status              | DOWN                                 |
| tenant_id           | 44be7b065a154e33aacbe7dbca18c6be     |
| updated_at          | 2017-06-09T03:36:58Z                 |
+---------------------+--------------------------------------+
In [5]:
neutron floatingip-create public
Created a new floatingip:
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| created_at          | 2017-06-09T03:37:02Z                 |
| description         |                                      |
| fixed_ip_address    |                                      |
| floating_ip_address | 192.168.99.210                       |
| floating_network_id | 17e4bba8-2a15-46fb-ab54-fb463aee503c |
| id                  | 43ee4bd0-8e7b-4321-b89b-da0a56bb7db7 |
| port_id             |                                      |
| project_id          | 44be7b065a154e33aacbe7dbca18c6be     |
| revision_number     | 1                                    |
| router_id           |                                      |
| status              | DOWN                                 |
| tenant_id           | 44be7b065a154e33aacbe7dbca18c6be     |
| updated_at          | 2017-06-09T03:37:02Z                 |
+---------------------+--------------------------------------+
In [6]:
neutron floatingip-list
+------------------------+------------------+---------------------+---------+
| id                     | fixed_ip_address | floating_ip_address | port_id |
+------------------------+------------------+---------------------+---------+
| 43ee4bd0-8e7b-4321     |                  | 192.168.99.210      |         |
| -b89b-da0a56bb7db7     |                  |                     |         |
| 566ddd9c-a9c8-44f0-901 |                  | 192.168.99.206      |         |
| 8-d8ba5f744040         |                  |                     |         |
+------------------------+------------------+---------------------+---------+

Floating IPのUUIDを変数に格納して控えておきます。

In [7]:
FIP_UUID1=`neutron floatingip-list -f value -c id --floating_ip_address=192.168.99.210`
FIP_UUID2=`neutron floatingip-list -f value -c id --floating_ip_address=192.168.99.206`
echo $FIP_UUID1
echo $FIP_UUID2
43ee4bd0-8e7b-4321-b89b-da0a56bb7db7
566ddd9c-a9c8-44f0-9018-d8ba5f744040

起動した2台のサーバーの論理ポートのUUIDをメモしておきます。

In [8]:
neutron port-list
+-----------------------+------+-------------------+-----------------------+
| id                    | name | mac_address       | fixed_ips             |
+-----------------------+------+-------------------+-----------------------+
| 12ed2507-390c-471f-   |      | fa:16:3e:4d:d9:ba | {"subnet_id":         |
| 944c-76e7be4e1706     |      |                   | "3f782ee7-faf5-460f-  |
|                       |      |                   | 852f-dcfc4287c737",   |
|                       |      |                   | "ip_address":         |
|                       |      |                   | "172.16.11.5"}        |
| 4ed2c5e9-b018-4bd3-ad |      | fa:16:3e:f0:31:d5 | {"subnet_id":         |
| 25-46a42d3bfadb       |      |                   | "3f782ee7-faf5-460f-  |
|                       |      |                   | 852f-dcfc4287c737",   |
|                       |      |                   | "ip_address":         |
|                       |      |                   | "172.16.11.1"}        |
| ac501e70-35a9-45f8-82 |      | fa:16:3e:74:26:1c | {"subnet_id":         |
| 33-804c5859ee91       |      |                   | "3f782ee7-faf5-460f-  |
|                       |      |                   | 852f-dcfc4287c737",   |
|                       |      |                   | "ip_address":         |
|                       |      |                   | "172.16.11.254"}      |
| efa5f1fa-11a9-4565-9d |      | fa:16:3e:ce:17:76 | {"subnet_id":         |
| 88-916f23c6a13d       |      |                   | "3f782ee7-faf5-460f-  |
|                       |      |                   | 852f-dcfc4287c737",   |
|                       |      |                   | "ip_address":         |
|                       |      |                   | "172.16.11.8"}        |
+-----------------------+------+-------------------+-----------------------+
In [9]:
PORT_UUID1=`neutron port-list -f value -c id --fixed_ips ip_address=172.16.11.5`
PORT_UUID2=`neutron port-list -f value -c id --fixed_ips ip_address=172.16.11.8`
echo $PORT_UUID1
echo $PORT_UUID2
12ed2507-390c-471f-944c-76e7be4e1706
efa5f1fa-11a9-4565-9d88-916f23c6a13d

2台の仮想マシンへそれぞれFloating IPを割り当てます。

In [10]:
neutron floatingip-associate $FIP_UUID1 $PORT_UUID1
Associated floating IP 43ee4bd0-8e7b-4321-b89b-da0a56bb7db7
In [11]:
neutron floatingip-associate $FIP_UUID2 $PORT_UUID2
Associated floating IP 566ddd9c-a9c8-44f0-9018-d8ba5f744040
In [12]:
nova list
+--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+
| ID                                   | Name        | Status | Task State | Power State | Networks                             |
+--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+
| 9056f78a-966a-4b5f-85d8-36bcb99ee241 | test-vm-2-1 | ACTIVE | -          | Running     | work-net=172.16.11.5, 192.168.99.210 |
| 0af75a30-2c40-4de0-8ae5-04f42b105f8c | test-vm-2-2 | ACTIVE | -          | Running     | work-net=172.16.11.8, 192.168.99.206 |
+--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+

ボリュームの作成とサーバーとの接続

まず1GBのボリュームを作成します。

In [13]:
cinder create --name test-vol2 1
+------------------------------+--------------------------------------+
| Property                     | Value                                |
+------------------------------+--------------------------------------+
| attachments                  | []                                   |
| availability_zone            | nova                                 |
| bootable                     | false                                |
| consistencygroup_id          | None                                 |
| created_at                   | 2017-06-09T03:41:23.000000           |
| description                  | None                                 |
| encrypted                    | False                                |
| id                           | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
| metadata                     | {}                                   |
| multiattach                  | False                                |
| name                         | test-vol2                            |
| os-vol-tenant-attr:tenant_id | 44be7b065a154e33aacbe7dbca18c6be     |
| replication_status           | disabled                             |
| size                         | 1                                    |
| snapshot_id                  | None                                 |
| source_volid                 | None                                 |
| status                       | creating                             |
| updated_at                   | None                                 |
| user_id                      | 8e9f38ff948143899c04c764848ef8d3     |
| volume_type                  | iscsi                                |
+------------------------------+--------------------------------------+

これで1GBのボリュームができました。

In [14]:
cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2 | 1    | iscsi       | false    |             |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+

1台目のサーバーにボリュームを接続します。この時に、接続前の状態を確認しておきます。

In [15]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'hostname; lsblk'
Warning: Permanently added '192.168.99.210' (RSA) to the list of known hosts.
test-vm-2-1
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk 
`-vda1 253:1    0 1011.9M  0 part /

サーバーにボリュームを接続します。引数にはボリュームのUUIDを指定します。

In [26]:
nova volume-attach test-vm-2-1 3ac68b3f-62cd-4838-8689-2f1b335b79fa
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
| serverId | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
| volumeId | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
+----------+--------------------------------------+

接続されたことが確認できます。

In [27]:
cinder list
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+
| ID                                   | Status | Name      | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | in-use | test-vol2 | 1    | iscsi       | false    | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+
In [19]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'hostname; lsblk'
test-vm-2-1
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk 
`-vda1 253:1    0 1011.9M  0 part /
vdb    253:16   0      1G  0 disk 

接続されたボリュームの利用

ボリュームをフォーマット&マウントし、テスト用のファイルを配置しておきます。

$ ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210

$ sudo mkdir -p /mnt/cinder-vol
$ sudo fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x9f638b43.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n ← nを入力
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p ← pを入力
Partition number (1-4, default 1):  ← そのままエンター
First sector (2048-2097151, default 2048): 1 ← そのままエンター
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): 1 ← そのままエンター
Using default value 2097151

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

$ sudo mkfs.ext4 /dev/vdb1
$ sudo mount /dev/vdb1 /mnt/cinder-vol

$ sudo sh -c "echo your_name >> /mnt/cinder-vol/my-data.txt"
$ sudo cat /mnt/cinder-vol/my-data.txt
your_name

$ sudo sync
$ sudo umount /mnt/cinder-vol

$ exit

ボリュームの切断と再接続

In [28]:
nova volume-detach test-vm-2-1 3ac68b3f-62cd-4838-8689-2f1b335b79fa
In [29]:
cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | detaching | test-vol2 | 1    | iscsi       | false    | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+

ボリュームが切断され、OSから確認できなくなっています。

In [30]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'hostname; lsblk'
test-vm-2-1
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk 
`-vda1 253:1    0 1011.9M  0 part /

切断したボリュームをもう1台のサーバーへ接続します。

In [31]:
nova volume-attach test-vm-2-2 3ac68b3f-62cd-4838-8689-2f1b335b79fa
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
| serverId | 0af75a30-2c40-4de0-8ae5-04f42b105f8c |
| volumeId | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
+----------+--------------------------------------+
In [32]:
cinder list
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+
| ID                                   | Status | Name      | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | in-use | test-vol2 | 1    | iscsi       | false    | 0af75a30-2c40-4de0-8ae5-04f42b105f8c |
+--------------------------------------+--------+-----------+------+-------------+----------+--------------------------------------+

サーバー側の状態を確認すると、先程作成したボリュームが確認できます。

In [33]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.206 'hostname; lsblk'
Warning: Permanently added '192.168.99.206' (RSA) to the list of known hosts.
test-vm-2-2
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk 
`-vda1 253:1    0 1011.9M  0 part /
vdb    253:16   0      1G  0 disk 
`-vdb1 253:17   0   1023M  0 part 
In [34]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.206 'sudo mkdir -p /mnt/cinder-vol; sudo mount /dev/vdb1 /mnt/cinder-vol; sudo cat /mnt/cinder-vol/my-data.txt'
your_name

アンマウントとボリュームの切断

次の作業のために、ボリュームを切断しておきます。

In [35]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.206 'sudo umount /mnt/cinder-vol'
In [36]:
nova volume-detach test-vm-2-2 3ac68b3f-62cd-4838-8689-2f1b335b79fa
In [37]:
cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | detaching | test-vol2 | 1    | iscsi       | false    | 0af75a30-2c40-4de0-8ae5-04f42b105f8c |
+--------------------------------------+-----------+-----------+------+-------------+----------+--------------------------------------+

ボリュームの複製

ボリュームの複製もCinderから行うことができます。

In [38]:
cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2 | 1    | iscsi       | false    |             |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+

オリジナルボリュームからのクローン

In [39]:
cinder create --name clone-vol --source-volid 3ac68b3f-62cd-4838-8689-2f1b335b79fa
+------------------------------+--------------------------------------+
| Property                     | Value                                |
+------------------------------+--------------------------------------+
| attachments                  | []                                   |
| availability_zone            | nova                                 |
| bootable                     | false                                |
| consistencygroup_id          | None                                 |
| created_at                   | 2017-06-09T04:48:05.000000           |
| description                  | None                                 |
| encrypted                    | False                                |
| id                           | ff76b2ed-9131-42e3-8d0b-de40d6bfa04d |
| metadata                     | {}                                   |
| multiattach                  | False                                |
| name                         | clone-vol                            |
| os-vol-tenant-attr:tenant_id | 44be7b065a154e33aacbe7dbca18c6be     |
| replication_status           | disabled                             |
| size                         | 1                                    |
| snapshot_id                  | None                                 |
| source_volid                 | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
| status                       | creating                             |
| updated_at                   | 2017-06-09T04:48:05.000000           |
| user_id                      | 8e9f38ff948143899c04c764848ef8d3     |
| volume_type                  | iscsi                                |
+------------------------------+--------------------------------------+
In [40]:
cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2 | 1    | iscsi       | false    |             |
| ff76b2ed-9131-42e3-8d0b-de40d6bfa04d | available | clone-vol | 1    | iscsi       | false    |             |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+

スナップショットからのクローン

In [41]:
cinder snapshot-create --name snap1 3ac68b3f-62cd-4838-8689-2f1b335b79fa
+-------------+--------------------------------------+
| Property    | Value                                |
+-------------+--------------------------------------+
| created_at  | 2017-06-09T04:48:26.313696           |
| description | None                                 |
| id          | cd2b38ad-e705-43a9-a8cc-44f473c1eced |
| metadata    | {}                                   |
| name        | snap1                                |
| size        | 1                                    |
| status      | creating                             |
| updated_at  | None                                 |
| volume_id   | 3ac68b3f-62cd-4838-8689-2f1b335b79fa |
+-------------+--------------------------------------+
In [42]:
cinder snapshot-list
+--------------------------------------+--------------------------------------+-----------+-------+------+
| ID                                   | Volume ID                            | Status    | Name  | Size |
+--------------------------------------+--------------------------------------+-----------+-------+------+
| cd2b38ad-e705-43a9-a8cc-44f473c1eced | 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | snap1 | 1    |
+--------------------------------------+--------------------------------------+-----------+-------+------+
In [43]:
cinder create --name clone-vol-from-snap --snapshot-id cd2b38ad-e705-43a9-a8cc-44f473c1eced
+------------------------------+--------------------------------------+
| Property                     | Value                                |
+------------------------------+--------------------------------------+
| attachments                  | []                                   |
| availability_zone            | nova                                 |
| bootable                     | false                                |
| consistencygroup_id          | None                                 |
| created_at                   | 2017-06-09T04:48:44.000000           |
| description                  | None                                 |
| encrypted                    | False                                |
| id                           | b85d66e3-f7ad-4b02-9afe-2762a80d5de1 |
| metadata                     | {}                                   |
| multiattach                  | False                                |
| name                         | clone-vol-from-snap                  |
| os-vol-tenant-attr:tenant_id | 44be7b065a154e33aacbe7dbca18c6be     |
| replication_status           | disabled                             |
| size                         | 1                                    |
| snapshot_id                  | cd2b38ad-e705-43a9-a8cc-44f473c1eced |
| source_volid                 | None                                 |
| status                       | creating                             |
| updated_at                   | 2017-06-09T04:48:44.000000           |
| user_id                      | 8e9f38ff948143899c04c764848ef8d3     |
| volume_type                  | iscsi                                |
+------------------------------+--------------------------------------+
In [44]:
cinder list
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+
| ID                                   | Status    | Name                | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2           | 1    | iscsi       | false    |             |
| b85d66e3-f7ad-4b02-9afe-2762a80d5de1 | available | clone-vol-from-snap | 1    | iscsi       | false    |             |
| ff76b2ed-9131-42e3-8d0b-de40d6bfa04d | available | clone-vol           | 1    | iscsi       | false    |             |
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+

ボリュームをサーバーへ接続してデータの状態を確認します。

In [46]:
nova volume-attach test-vm-2-1 ff76b2ed-9131-42e3-8d0b-de40d6bfa04d
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdc                             |
| id       | ff76b2ed-9131-42e3-8d0b-de40d6bfa04d |
| serverId | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
| volumeId | ff76b2ed-9131-42e3-8d0b-de40d6bfa04d |
+----------+--------------------------------------+
In [45]:
nova volume-attach test-vm-2-1 b85d66e3-f7ad-4b02-9afe-2762a80d5de1
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | b85d66e3-f7ad-4b02-9afe-2762a80d5de1 |
| serverId | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
| volumeId | b85d66e3-f7ad-4b02-9afe-2762a80d5de1 |
+----------+--------------------------------------+
In [47]:
cinder list
+--------------------------------------+-----------+---------------------+------+-------------+----------+--------------------------------------+
| ID                                   | Status    | Name                | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+-----------+---------------------+------+-------------+----------+--------------------------------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2           | 1    | iscsi       | false    |                                      |
| b85d66e3-f7ad-4b02-9afe-2762a80d5de1 | in-use    | clone-vol-from-snap | 1    | iscsi       | false    | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
| ff76b2ed-9131-42e3-8d0b-de40d6bfa04d | in-use    | clone-vol           | 1    | iscsi       | false    | 9056f78a-966a-4b5f-85d8-36bcb99ee241 |
+--------------------------------------+-----------+---------------------+------+-------------+----------+--------------------------------------+
In [48]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'hostname; lsblk'
test-vm-2-1
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
vda    253:0    0      1G  0 disk 
`-vda1 253:1    0 1011.9M  0 part /
vdb    253:16   0      1G  0 disk 
`-vdb1 253:17   0   1023M  0 part 
vdc    253:32   0      1G  0 disk 
`-vdc1 253:33   0   1023M  0 part 
In [49]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo mkdir -p /mnt/cinder-vol1 /mnt/cinder-vol2'
In [50]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo mount /dev/vdb1 /mnt/cinder-vol1'
In [51]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo mount /dev/vdc1 /mnt/cinder-vol2'
In [53]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo df -h'
Filesystem                Size      Used Available Use% Mounted on
/dev                    242.3M         0    242.3M   0% /dev
/dev/vda1                23.2M     18.0M      4.0M  82% /
tmpfs                   245.8M         0    245.8M   0% /dev/shm
tmpfs                   200.0K     72.0K    128.0K  36% /run
/dev/vdb1              1006.9M     17.3M    938.5M   2% /mnt/cinder-vol1
/dev/vdc1              1006.9M     17.3M    938.5M   2% /mnt/cinder-vol2
In [54]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo cat /mnt/cinder-vol1/my-data.txt'
your_name
In [55]:
ssh -oStrictHostKeyChecking=no -i ~/my-key.pem cirros@192.168.99.210 'sudo cat /mnt/cinder-vol2/my-data.txt'
your_name

サーバーとボリュームの削除

In [56]:
nova delete test-vm-2-1 test-vm-2-2
Request to delete server test-vm-2-1 has been accepted.
Request to delete server test-vm-2-2 has been accepted.
In [58]:
nova list
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+
In [59]:
cinder list
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+
| ID                                   | Status    | Name                | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+
| 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | test-vol2           | 1    | iscsi       | false    |             |
| b85d66e3-f7ad-4b02-9afe-2762a80d5de1 | available | clone-vol-from-snap | 1    | iscsi       | false    |             |
| ff76b2ed-9131-42e3-8d0b-de40d6bfa04d | available | clone-vol           | 1    | iscsi       | false    |             |
+--------------------------------------+-----------+---------------------+------+-------------+----------+-------------+
In [60]:
cinder delete clone-vol clone-vol-from-snap
Request to delete volume clone-vol has been accepted.
Request to delete volume clone-vol-from-snap has been accepted.

スナップショットを持つボリュームを削除できないため、先にスナップショットを削除しておきます。

In [61]:
cinder snapshot-list
+--------------------------------------+--------------------------------------+-----------+-------+------+
| ID                                   | Volume ID                            | Status    | Name  | Size |
+--------------------------------------+--------------------------------------+-----------+-------+------+
| cd2b38ad-e705-43a9-a8cc-44f473c1eced | 3ac68b3f-62cd-4838-8689-2f1b335b79fa | available | snap1 | 1    |
+--------------------------------------+--------------------------------------+-----------+-------+------+
In [62]:
cinder snapshot-delete cd2b38ad-e705-43a9-a8cc-44f473c1eced
In [63]:
cinder delete test-vol2
Request to delete volume test-vol2 has been accepted.
In [64]:
cinder list
+----+--------+------+------+-------------+----------+-------------+
| ID | Status | Name | Size | Volume Type | Bootable | Attached to |
+----+--------+------+------+-------------+----------+-------------+
+----+--------+------+------+-------------+----------+-------------+