Volume adalah perangkat penyimpanan blok yang dapat dilepas, mirip dengan USB hard drive. Anda dapat mengikat volume hanya satu instance. Gunakan perintah klien openstack
untuk membuat dan mengelola volume.
Sebagai administrator, Anda dapat bermigrasi volume dengan data dari satu lokasi ke lokasi lain dengan cara yang transparan kepada pengguna dan beban kerja. Anda dapat bermigrasi volume hanya terpisah tanpa snapshot.
Kasus penggunaan mungkin untuk migrasi data meliputi:
Migrate a volume with the openstack volume migrate command, as shown in the following example:
$ openstack volume migrate [-h] --host <host> [--force-host-copy]
[--lock-volume | --unlock-volume]
<volume>
In this example, --force-host-copy
forces the generic
host-based migration mechanism and bypasses any driver optimizations.
--lock-volume | --unlock-volume
applies to the available volume.
To determine whether the termination of volume migration caused by other
commands. --lock-volume
locks the volume state and does not allow the
migration to be aborted.
Catatan
Jika volume memiliki snapshot, host tujuan yang ditentukan tidak dapat menerima volume. Jika pengguna bukan administrator, migrasi gagal.
Contoh ini menciptakan volume my-new-volume
berdasarkan pada image.
Daflar image, dan perhatikan ID dari image yang ingin Anda gunakan untuk volume Anda:
$ openstack image list
+--------------------------------------+---------------------------------+
| ID | Name |
+--------------------------------------+---------------------------------+
| 8bf4dc2a-bf78-4dd1-aefa-f3347cf638c8 | cirros-0.3.5-x86_64-uec |
| 9ff9bb2e-3a1d-4d98-acb5-b1d3225aca6c | cirros-0.3.5-x86_64-uec-kernel |
| 4b227119-68a1-4b28-8505-f94c6ea4c6dc | cirros-0.3.5-x86_64-uec-ramdisk |
+--------------------------------------+---------------------------------+
Daftar zona ketersediaan, dan perhatikan ID dari zona ketersediaan di mana Anda ingin membuat volume Anda:
$ openstack availability zone list
+------+-----------+
| Name | Status |
+------+-----------+
| nova | available |
+------+-----------+
Buat volume dengan 8 gibibytes (GIB) ruang, dan tentukan zona ketersediaan dan image:
$ openstack volume create --image 8bf4dc2a-bf78-4dd1-aefa-f3347cf638c8 \
--size 8 --availability-zone nova my-new-volume
+------------------------------+--------------------------------------+
| Property | Value |
+------------------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-09-23T07:52:42.000000 |
| description | None |
| encrypted | False |
| id | bab4b0e0-ce3d-4d57-bf57-3c51319f5202 |
| metadata | {} |
| multiattach | False |
| name | my-new-volume |
| os-vol-tenant-attr:tenant_id | 3f670abbe9b34ca5b81db6e7b540b8d8 |
| replication_status | disabled |
| size | 8 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| updated_at | None |
| user_id | fe19e3a9f63f4a14bd4697789247bbc5 |
| volume_type | lvmdriver-1 |
+------------------------------+--------------------------------------+
Untuk memverifikasi bahwa volume Anda telah berhasil dibuat, daftar volume yang tersedia:
$ openstack volume list
+--------------------------------------+---------------+-----------+------+-------------+
| ID | DisplayName | Status | Size | Attached to |
+--------------------------------------+---------------+-----------+------+-------------+
| bab4b0e0-ce3d-4d57-bf57-3c51319f5202 | my-new-volume | available | 8 | |
+--------------------------------------+---------------+-----------+------+-------------+
Jika volume Anda telah berhasil dibuat, statusnya adalah available
. Jika statusnya adalah error
, Anda mungkin telah melebihi kuota.
Cinder mendukung tiga cara untuk menentukan volume type
selama pembuatan volume.
Pengguna dapat menentukan volume type saat menciptakan volume.
$ openstack volume create -h -f {json,shell,table,value,yaml}
-c COLUMN --max-width <integer>
--noindent --prefix PREFIX --size <size>
--type <volume-type> --image <image>
--snapshot <snapshot> --source <volume>
--description <description> --user <user>
--project <project>
--availability-zone <availability-zone>
--property <key=value>
<name>
Jika image sekilas memiliki properti cinder_img_volume_type
, cinder menggunakan parameter ini untuk menentukan volume type
saat menciptakan volume.
Pilih glance image yang memiliki properti cinder_img_volume_type
dan buat volume dari image.
$ openstack image list
+----------------------------------+---------------------------------+--------+
| ID | Name | Status |
+----------------------------------+---------------------------------+--------+
| 376bd633-c9c9-4c5d-a588-342f4f66 | cirros-0.3.5-x86_64-uec | active |
| d086 | | |
| 2c20fce7-2e68-45ee-ba8d- | cirros-0.3.5-x86_64-uec-ramdisk | active |
| beba27a91ab5 | | |
| a5752de4-9faf-4c47-acbc- | cirros-0.3.5-x86_64-uec-kernel | active |
| 78a5efa7cc6e | | |
+----------------------------------+---------------------------------+--------+
$ openstack image show 376bd633-c9c9-4c5d-a588-342f4f66d086
+------------------+-----------------------------------------------------------+
| Field | Value |
+------------------+-----------------------------------------------------------+
| checksum | eb9139e4942121f22bbc2afc0400b2a4 |
| container_format | ami |
| created_at | 2016-10-13T03:28:55Z |
| disk_format | ami |
| file | /v2/images/376bd633-c9c9-4c5d-a588-342f4f66d086/file |
| id | 376bd633-c9c9-4c5d-a588-342f4f66d086 |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.3.5-x86_64-uec |
| owner | 88ba456e3a884c318394737765e0ef4d |
| properties | kernel_id='a5752de4-9faf-4c47-acbc-78a5efa7cc6e', |
| | ramdisk_id='2c20fce7-2e68-45ee-ba8d-beba27a91ab5' |
| protected | False |
| schema | /v2/schemas/image |
| size | 25165824 |
| status | active |
| tags | |
| updated_at | 2016-10-13T03:28:55Z |
| virtual_size | None |
| visibility | public |
+------------------+-----------------------------------------------------------+
$ openstack volume create --image 376bd633-c9c9-4c5d-a588-342f4f66d086 \
--size 1 --availability-zone nova test
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-10-13T06:29:53.688599 |
| description | None |
| encrypted | False |
| id | e6e6a72d-cda7-442c-830f-f306ea6a03d5 |
| multiattach | False |
| name | test |
| properties | |
| replication_status | disabled |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | lvmdriver-1 |
| updated_at | None |
| user_id | 33fdc37314914796883706b33e587d51 |
+---------------------+--------------------------------------+
Jika parameter di atas tidak diatur, cinder menggunakan default_volume_type yang didefinisikan di cinder.conf selama pembuatan volume.
Contohnya, cinder.conf file konfigurasi.
[default]
default_volume_type = lvmdriver-1
Menghubungkan (attach) Anda ke server, menentukan ID server dan ID Volume:
$ openstack server add volume 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 \
573e024d-5235-49ce-8332-be1576d323f8 --device /dev/vdb
Menampilkan informasi untuk volume Anda:
$ openstack volume show 573e024d-5235-49ce-8332-be1576d323f8
Output menunjukkan bahwa volume terpasang ke server dengan ID 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5
, berada di zona ketersediaan nova, dan bootable.
+------------------------------+-----------------------------------------------+
| Field | Value |
+------------------------------+-----------------------------------------------+
| attachments | [{u'device': u'/dev/vdb', |
| | u'server_id': u'84c6e57d-a |
| | u'id': u'573e024d-... |
| | u'volume_id': u'573e024d... |
| availability_zone | nova |
| bootable | true |
| consistencygroup_id | None |
| created_at | 2016-10-13T06:08:07.000000 |
| description | None |
| encrypted | False |
| id | 573e024d-5235-49ce-8332-be1576d323f8 |
| multiattach | False |
| name | my-new-volume |
| os-vol-tenant-attr:tenant_id | 7ef070d3fee24bdfae054c17ad742e28 |
| properties | |
| replication_status | disabled |
| size | 8 |
| snapshot_id | None |
| source_volid | None |
| status | in-use |
| type | lvmdriver-1 |
| updated_at | 2016-10-13T06:08:11.000000 |
| user_id | 33fdc37314914796883706b33e587d51 |
| volume_image_metadata |{u'kernel_id': u'df430cc2..., |
| | u'image_id': u'397e713c..., |
| | u'ramdisk_id': u'3cf852bd..., |
| |u'image_name': u'cirros-0.3.5-x86_64-uec'} |
+------------------------------+-----------------------------------------------+
Untuk mengubah ukuran volume Anda, Anda harus mencopotnya dahulu dari server. Untuk melepaskan volume dari server Anda, lulus (pass) ID server dan ID volume untuk perintah berikut:
$ openstack server remove volume 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 573e024d-5235-49ce-8332-be1576d323f8
Perintah ini tidak memberikan output apapun.
volume daftar:
$ openstack volume list
+----------------+-----------------+-----------+------+-------------+
| ID | Display Name | Status | Size | Attached to |
+----------------+-----------------+-----------+------+-------------+
| 573e024d-52... | my-new-volume | available | 8 | |
| bd7cf584-45... | my-bootable-vol | available | 8 | |
+----------------+-----------------+-----------+------+-------------+
Perhatikan bahwa volume sekarang tersedia.
Mengubah ukuran volume dengan melewati ID volume dan ukuran baru (nilai yang lebih besar dari yang lama) sebagai parameter:
$ openstack volume set 573e024d-5235-49ce-8332-be1576d323f8 --size 10
Perintah ini tidak memberikan output apapun.
Catatan
Ketika memperluas volume LVM dengan snapshot, volume akan dinonaktifkan. Reaktivasi adalah otomatis kecuali tidak auto_activation_volume_list
didefinisikan dalam lvm.conf
. Lihat lvm.conf
untuk informasi lebih lanjut.
Untuk menghapus volume Anda, Anda harus mencopotnya dahulu dari server. Untuk melepaskan volume dari server Anda dan memeriksa daftar volume yang ada, lihat langkah 1 dan 2 di Resize_a_volume.
Hapus volume baik menggunakan nama volume atau ID:
$ openstack volume delete my-new-volume
Perintah ini tidak memberikan output apapun.
Daftar volume lagi, dan perhatikan bahwa status volume Anda adalah deleting
:
$ openstack volume list
+----------------+-----------------+-----------+------+-------------+
| ID | Display Name | Status | Size | Attached to |
+----------------+-----------------+-----------+------+-------------+
| 573e024d-52... | my-new-volume | deleting | 8 | |
| bd7cf584-45... | my-bootable-vol | available | 8 | |
+----------------+-----------------+-----------+------+-------------+
Ketika volume sepenuhnya dihapus, itu akan menghilang dari daftar volume:
$ openstack volume list
+----------------+-----------------+-----------+------+-------------+
| ID | Display Name | Status | Size | Attached to |
+----------------+-----------------+-----------+------+-------------+
| bd7cf584-45... | my-bootable-vol | available | 8 | |
+----------------+-----------------+-----------+------+-------------+
Anda dapat mentransfer volume dari satu pemilik ke pemilik yang lain dengan menggunakan perintah openstack volume transfer request create. Donor volume, atau pemilik asli, membuat permintaan transfer dan mengirimkan ID transfer yang diciptakan dan kunci otorisasi untuk penerima volume. Penerima volume, atau pemilik baru, menerima transfer dengan menggunakan ID dan kunci.
Catatan
The procedure for volume transfer is intended for projects (both the volume donor and recipient) within the same cloud.
Gunakan kasus meliputi:
Sementara login sebagai donor volume, daftar volume yang tersedia:
$ openstack volume list
+-----------------+-----------------+-----------+------+-------------+
| ID | Display Name | Status | Size | Attached to |
+-----------------+-----------------+-----------+------+-------------+
| 72bfce9f-cac... | None | error | 1 | |
| a1cdace0-08e... | None | available | 1 | |
+-----------------+-----------------+-----------+------+-------------+
Sebagai donor volume, meminta transfer Volume kode otorisasi untuk volume tertentu:
$ openstack volume transfer request create <volume>
<volume>
Name or ID of volume to transfer.
Volume harus dalam kondisi available
atau permintaan akan ditolak. Jika permintaan transfer berlaku dalam database (yaitu, belum kedaluwarsa atau sudah dihapus), volume ditempatkan dalam kondisi awaiting-transfer
. Sebagai contoh:
$ openstack volume transfer request create a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f
Output menunjukkan volume transfer ID di baris id
dan kunci otorisasi.
+------------+--------------------------------------+
| Field | Value |
+------------+--------------------------------------+
| auth_key | 0a59e53630f051e2 |
| created_at | 2016-11-03T11:49:40.346181 |
| id | 34e29364-142b-4c7b-8d98-88f765bf176f |
| name | None |
| volume_id | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f |
+------------+--------------------------------------+
Catatan
Secara opsional, Anda dapat menentukan nama untuk transfer dengan menggunakan parameter --name transferName
.
Catatan
Selagi properti auth_key
terlihat dalam output dari openstack volume transfer request create VOLUME_ID
, itu tidak akan tersedia di perintah berikutnya openstack volume transfer request show TRANSFER_ID
.
Kirim transfer Volume ID dan kunci otorisasi untuk pemilik baru (misalnya, melalui email).
Lihat transfer tertunda:
$ openstack volume transfer request list
+--------------------------------------+--------------------------------------+------+
| ID | Volume | Name |
+--------------------------------------+--------------------------------------+------+
| 6e4e9aa4-bed5-4f94-8f76-df43232f44dc | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
+--------------------------------------+--------------------------------------+------+
Setelah penerima volume, atau pemilik baru, menerima transfer, Anda dapat melihat bahwa transfer tidak lagi tersedia:
$ openstack volume transfer request list
+----+-----------+------+
| ID | Volume ID | Name |
+----+-----------+------+
+----+-----------+------+
Sebagai penerima volume, Anda harus terlebih dahulu mendapatkan transfer ID dan kunci otorisasi dari pemilik asli.
Terima permintaan:
$ openstack volume transfer request accept transferID authKey
Sebagai contoh:
$ openstack volume transfer request accept 6e4e9aa4-bed5-4f94-8f76-df43232f44dc b2c8e585cbc68a80
+-----------+--------------------------------------+
| Property | Value |
+-----------+--------------------------------------+
| id | 6e4e9aa4-bed5-4f94-8f76-df43232f44dc |
| name | None |
| volume_id | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f |
+-----------+--------------------------------------+
Catatan
Jika Anda tidak memiliki kuota yang cukup untuk transfer, transfer ditolak.
Daftar volume yang tersedia dan status mereka:
$ openstack volume list
+-----------------+-----------------+-----------------+------+-------------+
| ID | Display Name | Status | Size | Attached to |
+-----------------+-----------------+-----------------+------+-------------+
| 72bfce9f-cac... | None | error | 1 | |
| a1cdace0-08e... | None |awaiting-transfer| 1 | |
+-----------------+-----------------+-----------------+------+-------------+
Menemukan ID Transfer cocok:
$ openstack volume transfer request list
+--------------------------------------+--------------------------------------+------+
| ID | VolumeID | Name |
+--------------------------------------+--------------------------------------+------+
| a6da6888-7cdf-4291-9c08-8c1f22426b8a | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
+--------------------------------------+--------------------------------------+------+
Menghapus volume:
$ openstack volume transfer request delete <transfer>
Nama atau ID transfer untuk menghapus.
Sebagai contoh:
$ openstack volume transfer request delete a6da6888-7cdf-4291-9c08-8c1f22426b8a
Pastikan daftar transfer sekarang kosong dan bahwa volume lagi tersedia untuk transfer:
$ openstack volume transfer request list
+----+-----------+------+
| ID | Volume ID | Name |
+----+-----------+------+
+----+-----------+------+
$ openstack volume list
+-----------------+-----------+--------------+------+-------------+----------+-------------+
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+-----------------+-----------+--------------+------+-------------+----------+-------------+
| 72bfce9f-ca... | error | None | 1 | None | false | |
| a1cdace0-08... | available | None | 1 | None | false | |
+-----------------+-----------+--------------+------+-------------+----------+-------------+
Sebuah snapshot adalah titik dalam versi waktu dari volume. Sebagai administrator, Anda dapat mengelola dan snapshot unmanaged.
Manage a snapshot with the openstack volume snapshot set command:
$ openstack volume snapshot set [-h]
[--name <name>]
[--description <description>]
[--no-property]
[--property <key=value>]
[--state <state>]
<snapshot>
Argumen untuk dilewati adalah:
--name <name>
--description <description>
--no-property
--property <key=value>
--state <state>
<snapshot>
$ openstack volume snapshot set my-snapshot-id
Unmanage a snapshot with the openstack volume snapshot unset command:
$ openstack volume snapshot unset [-h]
[--property <key>]
<snapshot>
Argumen untuk dilewati adalah:
--property <key>
<snapshot>
Contoh berikut unmanages image my-snapshot-id
:
$ openstack volume snapshot unset my-snapshot-id
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.