2.4. ボリュームの高度な設定


以下の手順で、ボリュームの高度な管理方法について説明します。

重要

Block Storage サービス (cinder) およびファイバーチャネル (FC) バックエンドを使用するすべてのデプロイメントにおいて、すべてのコントローラーノードおよびコンピュートノードにホストバスアダプター (HBA) をインストールする必要があります。

2.4.1. ボリュームの移行

Block Storage サービス (cinder) を使用して、同一または異なるアベイラビリティーゾーン (AZ) にあるバックエンド間で、ボリュームを移行することができます。これは、あるバックエンドから別のバックエンドにボリュームを移行する方法としては、まったく一般的ではありません。デフォルトのポリシーでは、管理者のみがボリュームを移行することができます。デフォルトのポリシーは変更しないでください。

高度にカスタマイズされたデプロイメントの場合や、ストレージシステムを廃止する必要のある状況では、管理者はボリュームを移行できます。どちらのユースケースでも、複数のストレージシステムが同じ volume_backend_name を共有しているか、未定義です。

制約

  • ボリュームは複製できません。
  • 移行先バックエンドは、ボリュームの現在のバックエンドとは異なる必要があります。
  • 既存のボリューム種別は、新規バックエンドに対して有効である必要があります。つまり、以下の状況でなければなりません。

    • ボリュームタイプの追加仕様で backend_volume_name を定義することはできません。または、両方のブロックストレージバックエンドを同じ backend_volume_name で設定する必要があります。
    • どちらのバックエンドも、シンプロビジョニングのサポート、シックプロビジョニングのサポート、またはその他の機能設定など、ボリューム種別で設定した同じ機能をサポートする。
注記

ボリュームをあるバックエンドから別のバックエンドに移動するには、非常に多くの時間とリソースが必要になる場合があります。詳細は、「バックエンド間でのボリュームの移動」を参照してください。

2.4.1.1. バックエンド間の移行

Dashboard UI を使用して、バックエンド間でボリュームを移行します。

手順

  1. Dashboard で 管理 > ボリューム を選択します。
  2. 移行するボリュームの アクション のコラムで、ボリュームのマイグレーション を選択します。
  3. ボリュームのマイグレーション ダイアログで、移行先ホスト ドロップダウンリストからボリュームを移行する先のホストを選択します。

    注記

    ホストの移行でドライバーの最適化をスキップするには、強制ホストコピー のチェックボックスを選択します。

  4. マイグレーション をクリックして移行を開始します。

2.4.1.2. コマンドラインを使用したバックエンド間の移行

手順

  1. 以下のコマンドを入力して、宛先のバックエンドの名前を取得します。

    $ cinder get-pools --detail
    
    Property                      | Value
    
    ...
    
    | name                        | localdomain@lvmdriver-1#lvmdriver-1
    | pool_name                   | lvmdriver-1
    
    ...
    
    | volume_backend_name         | lvmdriver-1
    
    ...
    
    Property                      | Value
    
    ...
                                                          |
    | name                        | localdomain@lvmdriver-2#lvmdriver-1
    | pool_name                   | lvmdriver-1
    
    ...
    
    | volume_backend_name         | lvmdriver-1
    
    ...

    バックエンド名は、host @ volume_backend_name#pool の形式を取ります。

    出力例では、BlockStorage サービスで公開されている 2 つの LVM バックエンドがあります。localdomain@lvmdriver-1#lvmdriver-1localdomain@lvmdriver-2#lvmdriver-1 です。両方のバックエンドが同じ volume_backend_namelvmdriver-1 を共有していることに注意してください。

    注記

    LVM の使用は、例としてのみ挙げられています。LVM は、実稼働環境ではサポートされません。

  2. 以下のコマンドを入力して、ボリュームをあるバックエンドから別のバックエンドに移行します。

    $ cinder migrate <volume id or name> <new host>

2.4.1.3. ボリュームの移行の確認

ボリュームを作成すると、migration_status の値は None になります。移行を開始すると、ステータスが migrating に変わります。移行が完了すると、ステータスは success また error に変わります。

ブロックストレージサービスが移行要求を受け入れた後、cinder クライアントは、Request to migrate volume <volume id> has been accepted. のようなメッセージで応答します。ただし、移行が完了するまでには時間がかかります。管理者は、移行のステータスを確認できます。

手順

  1. 次のコマンドを入力し、migration_status フィールドを確認します。

    $ cinder show <volume id>
    注記

    通常のボリューム移行を開始すると、ボリューム名が重複します。そのボリューム名で cinder show コマンドを実行すると、シンダークライアントは次のようなエラーを返します。ERROR: Multiple volume matches found for '<volume name>'このエラーを回避するには、ボリューム名の代わりにボリューム ID を使用します。

移行が成功すると、host フィールドは cinder migrate コマンドで設定された <new host> 値と一致します。

2.4.2. 暗号化されていないボリュームの暗号化

暗号化されていないボリュームを暗号化するには、暗号化されていないボリュームをバックアップし、それを暗号化された新しいボリュームに復元するか、暗号化されていないボリュームから Image サービス (glance) のイメージを作成し、そのイメージから暗号化された新しいボリュームを作成する必要があります。

前提条件

  • 暗号化する暗号化されていないボリューム

手順

  1. cinder-backup サービスが利用可能な場合は、現在の暗号化されていないボリュームをバックアップします。

    $ cinder backup-create <unencrypted_volume>
    • <unencrypted_volume> を、暗号化されていないボリュームの名前または ID に置き換えます。
  2. 暗号化された新しいボリュームを作成します。

    $ cinder create <encrypted_volume_size> --volume-type <encrypted_volume_type>
    • <encrypted_volume_size> を新しいボリュームのサイズ (GB) に置き換えます。暗号化メタデータに対応するために、この値は暗号化されていないボリュームのサイズよりも 1 GB 大きくする必要があります。
    • <encrypted_volume_type> を必要な暗号化タイプに置き換えます。
  3. 暗号化されていないボリュームのバックアップを暗号化された新しいボリュームに復元します。

    $ cinder backup-restore <backup> --volume <encrypted_volume>
    • <backup> を、暗号化されていないボリュームバックアップの名前または ID に置き換えます。
    • <encrypted_volume> を新しい暗号化ボリュームの ID に置き換えます。

cinder-backup サービスが利用できない場合は、upload-to-image コマンドを使用して、暗号化されていないボリュームのイメージを作成してから、そのイメージから新しい暗号化されたボリュームを作成します。

  1. 暗号化されていないボリュームの Image サービスイメージを作成します。

    $ cinder upload-to-image <unencrypted_volume> <new_image>
    • <unencrypted_volume> を、暗号化されていないボリュームの名前または ID に置き換えます。
    • <new_image> を新しいイメージの名前に置き換えます。
  2. イメージから、そのイメージより 1 GB 大きい新たなボリュームを作成します。

    $ cinder volume create --size <size> --volume-type luks --image <new_image> <encrypted_volume_name>
    • <size> を新しいボリュームのサイズに置き換えます。この値は、暗号化されていない古いボリュームのサイズよりも 1 GB 大きくする必要があります。
    • <new_image> を、暗号化されていないボリュームから作成したイメージの名前に置き換えます。
    • <encrypted_volume_name> を新しい暗号化ボリュームの名前に置き換えます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.