CLI を使用したプール間のボリュームのマイグレーション

コマンド・ライン・インターフェース (CLI) を使用して、プール間でボリュームをマイグレーションすることができます。

このタスクについて

ノード、MDisk、およびボリュームに関する入出力統計を 収集することにより、特定の MDisk の使用率を判別できます。このデータを収集した後、データを分析して、どのボリュームまたは MDisk がホットであるかを判別できます。その後、ボリュームをあるストレージ・プールから別の MDisk グループにマイグレーションできます。

MDisk およびボリュームに関する統計を収集するには、以下の手順を実行します。
  1. セキュア・コピー (scp コマンド) を使用して、分析するダンプ・ファイルを検索する。例えば、次のようなコマンドを発行します。
    scp clusterip:/dumps/iostats/v_*
    このコマンドは、すべてのボリューム統計ファイルを AIX® ホストの現行ディレクトリーにコピーします。
  2. メモリー・ダンプを分析して、ホットなボリュームを判別する。これは、使用率の高い MDisk を判別するのにも役立ちます。このため、エクステントをマイグレーションすることにより、使用率の高い MDisk に含まれているデータをストレージ・プール内のすべての MDisk 全体にさらに均等に分散させることができます。

入出力統計データを分析した後、ホットなボリュームを判別できます。このボリュームの移動先にするストレージ・プールを決定する必要もあります。新しいストレージ・プールを作成するか、またはまだ過剰使用されていない既存グループを判別してください。生成した入出力統計ファイルを調べて、ターゲット・ストレージ・プール内の MDisk またはボリュームの使用率が、ソース・ストレージ・プール内の MDisk またはボリュームよりも低いことを確認します。

データ・マイグレーションまたはボリューム・ミラーリングを使用して、ストレージ・プール間でデータをマイグレーションできます。 データ・マイグレーションでは、コマンド migratevdisk を使用します。ボリューム・ミラーリングでは、コマンド addvdiskcopy および rmvdiskcopy を使用します。

migratevdisk を使用するデータのマイグレーション

migratevdisk コマンドを使用して、2 つのストレージ・プール間でデータをマイグレーションすることができます。migratevdisk コマンドを発行すると、マイグレーションの宛先に、このコマンドに対応できる十分な空きエクステントがあるか確認する検査が行われます。 十分な空きエクステントがある場合、コマンドは処理を続行します。 このコマンドの完了には、しばらく時間がかかります。
注:
  • データ・マイグレーション機能は、エクステント・サイズが異なるストレージ・プールのボリュームの移動には使用できません。
  • ターゲットまたはソース・ボリュームがオフラインである場合、クォーラム・ディスクが定義されていない場合、あるいは定義されたクォーラム・ディスクが使用不可の場合、マイグレーション・コマンドは失敗します。 オフライン状態またはクォーラム・ディスクの状態を訂正して、コマンドを再発行してください。
  • システムは、同じ親プール内の子プール間でのボリュームのマイグレーション、あるいは子プールからその親プールへのボリュームのマイグレーションをサポートしています。ソースとターゲットの子プールが別々の親を持つ場合には、ボリュームのマイグレーションは失敗します。ただし、addvdiskcopy コマンドと rmvdiskcopy コマンドを使用して、異なる親プール内の子プール間でボリュームをマイグレーションすることができます。
データ・マイグレーションを使用する場合、空いている宛先エクステントが、別のプロセスによって消費される可能性があります (例えば、宛先親プール内で新しいボリュームが作成される場合、またはさらに別のマイグレーション・コマンドが開始される場合)。このシナリオでは、すべての宛先エクステントが割り振られた後、マイグレーション・コマンドは中断し、エラーが記録されます (エラー ID 020005)。この状況からリカバリーするには、次のいずれかの方法を使用してください。
  • ターゲットの親プールに MDisk を追加します。これにより、グループに追加のエクステントが提供され、マイグレーションを再開できるようになります。マイグレーションを再試行する前に、エラーを修正済みとしてマークする必要があります。
  • 既に作成されている 1 つ以上のボリュームを、親プールから別のグループにマイグレーションする。このアクションにより、グループ内のエクステントが解放され、元のマイグレーションを再開できるようになります。
migratevdisk コマンドを使用してストレージ・プール間でボリュームをマイグレーションするには、以下の手順を実行します。
  1. マイグレーションするボリュームと、それをマイグレーションする先の新しいストレージ・プールを決定した後、次の CLI コマンドを発行します。
    migratevdisk -vdisk vdisk_name
     -mdiskgrp
     mdisk_group_name -threads 4
  2. 次の CLI コマンドを発行して、マイグレーションの進行を確認できます。
    lsmigrate

ボリューム・ミラーリングを使用したデータのマイグレーション

データ・マイグレーションを使用する場合、いずれかのプールに障害が起きると、ボリュームはオフラインになります。ボリューム・ミラーリングを使用すると、ボリュームへの影響を最小限に抑えることができます。これは、ボリュームがオフラインになるのは、ソース・プールに障害が起きる場合に限られるからです。migratevdisk コマンドを使用する代わりに addvdiskcopy および rmvdiskcopy コマンドを使用すると、子プール間で、あるいは子プールから親プールにボリュームをマイグレーションできます。ボリューム・ミラーリングを使用して、プール間でボリュームをマイグレーションするには、以下のステップを実行します。
  1. マイグレーションするボリュームと、マイグレーション先の新しいプールを決定したら、次のコマンドを入力します。
    addvdiskcopy -mdiskgrp mdisk_group_name -autodelete vdisk_name
    ここで、mdisk_group_name は新規のストレージ・プールの名前で、vdisk_name は、コピーされるボリュームの名前です。コピーを同期化した後にボリュームのオリジナル・コピーを自動的に削除するには、-autodelete を指定します。
  2. 新しいコピーのコピー ID が戻されます。コピーは同期化されるので、両方のストレージ・プールにデータが保管されます。次のコマンドを発行して、同期化の進行を確認できます。
    lsvdisksyncprogress