3.8. バックエンド間でボリュームを移行する
アベイラビリティーゾーン (AZ) 内のバックエンド間、および AZ をまたぐバックエンド間でボリュームを移行できます。
				高度にカスタマイズされたデプロイメントの場合や、ストレージシステムを廃止する必要のある状況では、管理者はボリュームを移行できます。どちらのユースケースでも、複数のストレージシステムが同じ volume_backend_name プロパティーを共有しているか、このプロパティーが定義されていません。
			
移行されたボリュームの制限
- ボリュームは複製できません。
 - 移行先バックエンドは、ボリュームの現在のバックエンドとは異なる必要があります。
 既存のボリュームタイプは、新規バックエンドに対して有効である必要があります。つまり、以下を満たしている必要があります。
- 
								ボリュームタイプには 
volume_backend_nameが定義されていないか、両方の Block Storage バックエンドが同じvolume_backend_nameで設定されている必要があります。 - どちらのバックエンドも、シンプロビジョニングのサポート、シックプロビジョニングのサポート、またはその他の機能設定など、ボリュームタイプで設定した同じ機能をサポートする。
 
- 
								ボリュームタイプには 
 
ボリュームをあるバックエンドから別のバックエンドに移動するには、非常に多くの時間とリソースが必要になる場合があります。詳細は、ボリューム移動時の制限とパフォーマンス制約 を参照してください。
前提条件
- ボリュームを移行するには、プロジェクト管理者である必要があります。
 
手順
ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。
oc rsh -n openstack openstackclient
$ oc rsh -n openstack openstackclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 宛先バックエンドの名前を取得します。
openstack volume backend pool list
$ openstack volume backend pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow host@volume_backend_name#poolという構文を使用する宛先バックエンド名がリスト表示されます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ボリュームをあるバックエンドから別のバックエンドに移行します。
openstack volume migrate --host <new_back_end_host> <volume>
$ openstack volume migrate --host <new_back_end_host> <volume>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								
<volume>を、元のバックエンドのボリューム ID または名前に置き換えます。 - 
								
<new_back_end_host>を、宛先バックエンドのホストに置き換えます。 
- 
								
 
openstackclientPod を終了します。exit
$ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.8.1. ボリューム移動時の制限とパフォーマンス制約 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、同一または異なるアベイラビリティーゾーン (AZ) にあるバックエンド間のボリュームの移動をサポートします。その場合、以下の制約があります。
- 
							移動するには、ボリュームのステータスが 
availableまたはin-useでなければなりません。 - 
							
in-useボリュームのサポートはドライバーに依存します。 - ボリュームにはスナップショットを含めることができません。
 - ボリュームはグループに属することはできません。
 
利用可能なボリュームの移動
						すべてのバックエンド間で available ボリュームを移動できますが、パフォーマンスは使用するバックエンドにより異なります。
					
- 多くのバックエンドは、アシスト付き移行をサポートします。バックエンドのアシスト付き移行のサポートの詳細は、ベンダーにお問い合わせください。アシスト付き移行により、バックエンドはソースバックエンドから移行先バックエンドへのデータの移動を最適化しますが、両方のバックエンドが同じベンダーから取得されている必要があります。
 
Red Hat は、マルチプールバックエンドを使用する場合、または RBD などのシングルプールバックエンドに cinder の移行操作を使用する場合のみ、バックエンドアシスト付き移行をサポートしています。
- バックエンド間のアシスト付き移行ができない場合には、Block Storage サービスは通常のボリューム移行を実行します。通常のボリューム移行では、Block Storage (cinder) サービスが移行元ボリュームからコントローラーノードに、およびコントローラーノードから移行先ボリュームにデータを移動する前に、両方のバックエンド上のボリュームを接続する必要があります。Block Storage サービスは、ソースおよび宛先のバックエンドのストレージの種類に関わらず、プロセスをシームレスに実行します。
 
通常のボリューム移行を実行する前に、十分な帯域幅を確保してください。通常のボリューム移行にかかる時間は、ボリュームのサイズと直接比例するため、操作はアシスト付き移行よりも遅くなります。
使用中のボリュームの移動
- 使用中のマルチアタッチボリュームは、複数の nova インスタンスに接続している間は移動できません。
 - 非ブロックデバイスはサポートされていないため、ターゲットバックエンドのストレージプロトコルは iSCSI、ファイバーチャネル (FC)、RBD、NVMe/TCP に制限されます。
 
					in-use ボリュームを移動する場合、最適化のオプションまたはアシスト付きのオプションはありません。in-use ボリュームを移行する場合には、Compute サービス (nova) がハイパーバイザーを使用して、移行元バックエンドのボリュームから移行先バックエンドのボリュームにデータを転送する必要があります。これには、ボリュームが使用されているインスタンスを実行するハイパーバイザーとの連携が必要です。
				
Block Storage サービス (cinder) と Compute サービスは、連携してこの操作を実施します。データが Compute ノードを介してあるボリュームから別のボリュームにコピーされるため、Compute サービスがほとんどの作業を管理します。
						in-use ボリュームを移動する前に、十分な帯域幅を確保してください。この操作にかかる時間は、ボリュームのサイズと直接比例するため、操作はアシスト付き移行よりも遅くなります。