OpenStack インスタンスに接続されている Cinder ボリュームは、対応する仮想マシンを別のデータストアに移行することによって移行できます。

注:
  • 接続された状態のマルチ接続ボリュームは移行できません。マルチ接続ボリュームを別のデータストアに移行する際は、事前に接続解除します。
  • ボリュームが接続されている OpenStack インスタンスを移行すると、対応するシャドウ仮想マシンにディスクが接続されなくなります。ボリュームを接続解除すると、ディスクはシャドウ仮想マシンに再接続されます。
  • 接続された仮想マシンと一緒にボリュームが移行されないようにするには、「接続された仮想マシンとともに移行されないボリューム」を参照してください。

前提条件

移行するボリュームからすべてのスナップショットを接続解除します。

手順

  1. Integrated OpenStack Managerroot ユーザーとしてログインします。
    ssh root@mgmt-server-ip
  2. ツールボックスを開きます。
    toolbox
  3. ボリュームが接続されているインスタンスを移行します。
    openstack server migrate compute-name instance-uuid --live
    • コンピューティング ノードの名前を特定するには、openstack host list コマンドを実行して、[ホスト名] 列を確認します。
    • インスタンスの UUID を特定するには、openstack server list コマンドを実行して、[ID] 列を確認します。

    詳細については、インスタンスの移行を参照してください。

  4. vSphere Client で、OpenStack ボリュームに対応するシャドウ仮想マシンを移行します。

    詳細については、『vCenter Server およびホスト管理』ドキュメントの「vSphere Web Client での新しいストレージへの仮想マシンの移行」を参照してください。

  5. シャドウ仮想マシンを別のアベイラビリティ ゾーンのクラスタに移行する場合、ボリュームの Cinder ホストを更新します。
    1. LCM ノード上の cinder-api ポッドのリストを取得します。
      osctl get pods | grep cinder-api
    2. リストにある cinder-api ポッドのいずれかの名前を使用して、ポッドで bash セッションを開始します。
      osctl exec -it <cinder-api-pod-name> bash
    3. 新しいセッションで、Cinder ホストのリストを取得します。
      cinder-manage host list
      このリストには、Cinder ボリュームのホストとゾーンが含まれています。
    4. 移動するボリュームの属性を変更します。ホストとゾーンの値を、シャドウ仮想マシンを移動する AZ 内の Cinder ボリューム ホストに設定します。
      cinder-manage volume update volume_host --volume_id <volume-uuid> --newhost <new-volume-host> --zone <availability-zone>
      ここで、
      • volume-uuid は、移動するシャドウ仮想マシンの Cinder ボリューム UUID です
      • new-volumne-host は、移行先 AZ での Cinder ホスト名です。
      • availability-zone は、移行先 AZ です。

結果

Cinder ボリュームと、対応するシャドウ仮想マシンのディスクが新しいデータストアに移行されます。