OpenStack インスタンスに接続されている Cinder ボリュームは、対応する仮想マシンを別のデータストアに移行することによって移行できます。
注:
- 接続された状態のマルチ接続ボリュームは移行できません。マルチ接続ボリュームを別のデータストアに移行する際は、事前に接続解除します。
- 接続されているボリュームを移行すると、対応するシャドウ仮想マシンは元のデータストアに残りますが、ディスクは保持されません。ボリュームを接続解除すると、ディスクはシャドウ仮想マシンに再接続されます。
前提条件
移行するボリュームからすべてのスナップショットを接続解除します。
手順
- Integrated OpenStack Manager に
root
ユーザーとしてログインします。
- ボリュームを含むデータストアを移行に向けて準備します。
この手順では、指定のデータストア上のすべてのボリュームを移行する準備を行います。
viocli prepare datastore dc-name ds-name
オプション |
説明 |
dc-name |
目的のボリュームを含むデータセンターを入力します。 |
ds-name |
目的のボリュームを含むデータストアを入力します。 |
- ツールボックスを開きます。
- ボリュームが接続されているインスタンスを移行します。
openstack server migrate compute-name instance-uuid --live
- コンピューティング ノードの名前を特定するには、openstack host list コマンドを実行して、[ホスト名] 列を確認します。
- インスタンスの UUID を特定するには、openstack server list コマンドを実行して、[ID] 列を確認します。
詳細については、インスタンスの移行を参照してください。
- vSphere Client で、ボリュームの接続先の OpenStack インスタンスに対応する仮想マシンを移行します。
- シャドウ仮想マシンを別のアベイラビリティ ゾーンのクラスタに移行する場合、ボリュームの 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 ボリュームと、対応するシャドウ仮想マシンのディスクが新しいデータストアに移行されます。