Mengelola volume

Mengelola volume

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.

Bermigrasi 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:

  • Menurunkan perangkat penyimpanan fisik untuk pemeliharaan tanpa mengganggu beban kerja.
  • Memodifikasi sifat dari volume.
  • Membebaskan ruang di back end thinly-provisionedi.

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.

Buat volume

Contoh ini menciptakan volume my-new-volume berdasarkan pada image.

  1. 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 |
    +--------------------------------------+---------------------------------+
    
  2. Daftar zona ketersediaan, dan perhatikan ID dari zona ketersediaan di mana Anda ingin membuat volume Anda:

    $ openstack availability zone list
    +------+-----------+
    | Name |   Status  |
    +------+-----------+
    | nova | available |
    +------+-----------+
    
  3. 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                          |
    +------------------------------+--------------------------------------+
    
  4. 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.

Membuat volume dari jenis volume spesifik

Cinder mendukung tiga cara untuk menentukan volume type selama pembuatan volume.

  1. volume_type
  2. cinder_img_volume_type (via glance image metadata)
  3. default_volume_type (via cinder.conf)

volume_type

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>

cinder_img_volume_type

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     |
+---------------------+--------------------------------------+

default_volume_type

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

Hubungkan volume ke sebuah instance

  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
    
  2. 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'}     |
    +------------------------------+-----------------------------------------------+
    

Mengubah ukuran volume

  1. 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.

  2. 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.

  3. 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.

Delete volume

  1. 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.

  2. 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   |             |
    +----------------+-----------------+-----------+------+-------------+
    

Transfer volume

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:

  • Membuat volume kustom bootable dari volume dengan satu set data yang besar dan transfer ke pelanggan.
  • Untuk sebagian besar impor data ke awan, sistem data yang menelan menciptakan volume Block Storage baru, salinan data dari perangkat fisik, dan perangkat transfer kepemilikan kepada pengguna akhir.

Buat permintaan transfer Volume

  1. 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   |             |
    +-----------------+-----------------+-----------+------+-------------+
    
  2. 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.

  3. Kirim transfer Volume ID dan kunci otorisasi untuk pemilik baru (misalnya, melalui email).

  4. Lihat transfer tertunda:

    $ openstack volume transfer request list
    +--------------------------------------+--------------------------------------+------+
    |               ID                     |             Volume                   | Name |
    +--------------------------------------+--------------------------------------+------+
    | 6e4e9aa4-bed5-4f94-8f76-df43232f44dc | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
    +--------------------------------------+--------------------------------------+------+
    
  5. 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 |
    +----+-----------+------+
    +----+-----------+------+
    

Menerima permintaan transfer Volume

  1. Sebagai penerima volume, Anda harus terlebih dahulu mendapatkan transfer ID dan kunci otorisasi dari pemilik asli.

  2. 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.

Hapus transfer Volume

  1. 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   |             |
    +-----------------+-----------------+-----------------+------+-------------+
    
  2. Menemukan ID Transfer cocok:

    $ openstack volume transfer request list
    +--------------------------------------+--------------------------------------+------+
    |               ID                     |             VolumeID                 | Name |
    +--------------------------------------+--------------------------------------+------+
    | a6da6888-7cdf-4291-9c08-8c1f22426b8a | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
    +--------------------------------------+--------------------------------------+------+
    
  3. Menghapus volume:

    $ openstack volume transfer request delete <transfer>
    
    <transfer>

    Nama atau ID transfer untuk menghapus.

    Sebagai contoh:

    $ openstack volume transfer request delete a6da6888-7cdf-4291-9c08-8c1f22426b8a
    
  4. 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   |             |
    +-----------------+-----------+--------------+------+-------------+----------+-------------+
    

Mengelola dan unmanage snapshot

Sebuah snapshot adalah titik dalam versi waktu dari volume. Sebagai administrator, Anda dapat mengelola dan snapshot unmanaged.

Mengelola snapshot

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>
Nama snapshot baru
--description <description>
Deskripsi snapshot baru
--no-property
Remove all properties from <snapshot> (specify both --no-property and --property to remove the current properties before setting new properties.)
--property <key=value>
Properti untuk menambahkan atau memodifikasi snapshot ini (mengulang pilihan untuk mengatur beberapa properti)
--state <state>
Kondisi snapshot baru. (“available”, “error”, “creating”, “deleting”, or “error_deleting”) (Admin saja) (Opsi ini hanya perubahan keadaan snapshot dalam database tanpa memandang status yang sebenarnya, berhati-hati ketika menggunakan)
<snapshot>
Snapshot untuk mengubah (nama atau ID)
$ openstack volume snapshot set my-snapshot-id

Unmanage snapshot

Unmanage a snapshot with the openstack volume snapshot unset command:

$ openstack volume snapshot unset [-h]
                                  [--property <key>]
                                  <snapshot>

Argumen untuk dilewati adalah:

--property <key>
Property to remove from snapshot (repeat option to remove multiple properties)
<snapshot>
Snapshot to modify (name or ID).

Contoh berikut unmanages image my-snapshot-id:

$ openstack volume snapshot unset my-snapshot-id
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.