OpenStack インスタンスに接続されている Cinder ボリュームは、対応する仮想マシンを別のデータストアに移行することによって移行できます。
注:
- 接続された状態のマルチ接続ボリュームは移行できません。マルチ接続ボリュームを別のデータストアに移行する際は、事前に接続解除します。
- ボリュームが接続されている OpenStack インスタンスを移行すると、対応するシャドウ仮想マシンにディスクが接続されなくなります。ボリュームを接続解除すると、ディスクはシャドウ仮想マシンに再接続されます。
- 接続された仮想マシンと一緒にボリュームが移行されないようにするには、「接続された仮想マシンとともに移行されないボリューム」を参照してください。
前提条件
移行するボリュームからすべてのスナップショットを接続解除します。
手順
- Integrated OpenStack Manager に
root
ユーザーとしてログインします。
- ツールボックスを開きます。
- ボリュームが接続されているインスタンスを移行します。
openstack server migrate compute-name instance-uuid --live
- コンピューティング ノードの名前を特定するには、openstack host list コマンドを実行して、[ホスト名] 列を確認します。
- インスタンスの UUID を特定するには、openstack server list コマンドを実行して、[ID] 列を確認します。
詳細については、インスタンスの移行を参照してください。
- vSphere Client で、OpenStack ボリュームに対応するシャドウ仮想マシンを移行します。
詳細については、『vCenter Server およびホスト管理』ドキュメントの「vSphere Web Client での新しいストレージへの仮想マシンの移行」を参照してください。
- シャドウ仮想マシンを別のアベイラビリティ ゾーンのクラスタに移行する場合、ボリュームの Cinder ホストを更新します。
- LCM ノード上の cinder-api ポッドのリストを取得します。
osctl get pods | grep cinder-api
- リストにある cinder-api ポッドのいずれかの名前を使用して、ポッドで bash セッションを開始します。
osctl exec -it <cinder-api-pod-name> bash
- 新しいセッションで、Cinder ホストのリストを取得します。
このリストには、Cinder ボリュームのホストとゾーンが含まれています。
- 移動するボリュームの属性を変更します。ホストとゾーンの値を、シャドウ仮想マシンを移動する 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 ボリュームと、対応するシャドウ仮想マシンのディスクが新しいデータストアに移行されます。