NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
DataMotion for Volumes
ベストプラクティスとユースケース

従来のデータ移行方法は、ボリュームをオフラインにし、何時間もかけて新しい場所にデータをコピーし、影響を受けたサーバやアプリケーションを設定し直して再起動するというものでした。しかし、インフラが共有され、運用が24時間体制になった今、この方法はほぼ不可能になりました。そこでNetAppでは、必要になればいつでもデータを無停止で、しかも最小限の労力で新しい場所に移行できる、さまざまな選択肢を提供しています。

Tech OnTapの定期購読者である皆様なら、NetApp Data Motion(NetApp® DataMotion for vFiler®から名称変更)については、すでにご存じでしょう。NetApp Data Motionを使用すれば、マルチテナント環境のストレージシステム間でMultiStore® vFilerユニットとすべての関連データを移行できます。NetAppがData ONTAP® 8.0.1のリリースで導入した新機能のうちの1つがDataMotion for Volumesです。DataMotion for Volumesを使用すると、同じストレージコントローラ上のアグリゲート間でLUNを含むボリュームを無停止で移行できます。

この記事では、DataMotion for Volumesについて紹介し、DataMotion for vFilerとの違いについて説明します。また、ベストプラクティスや考えられる利用方法についても、いくつか取り上げたいと思います。

DataMotion for Volumesとは

DataMotion for Volumesは、7-ModeのData ONTAP 8.0.1でサポートされている新しい機能です。単一のストレージコントローラ上で、あるアグリゲートから別のアグリゲートへボリュームを無停止で移行できます(HAペアを構成する2つの異なるコントローラ間でボリュームを移行することはできません)。FC LUN、FCoE LUN、iSCSI LUNを含むボリュームについてのみ、移行を容易にする設計が採用されています。NFSボリュームとCIFSボリュームはサポートされていません。

NetApp DataMotion for Volumesを使用すると、単一のNetApp®ストレージコントローラ上の異なるアグリゲート間で、LUNを含むボリュームを無停止で移行できる

図1)NetApp DataMotion for Volumesを使用すると、単一のNetApp®ストレージコントローラ上の異なるアグリゲート間で、LUNを含むボリュームを無停止で移行できる

DataMotion for Volumesの大きなメリットの1つに、ボリュームに関連付けられたすべての詳細設定を移行後も維持できることがあります。具体的には以下のような設定を維持できます。

  • SnapshotとSnapshotスケジュール
  • SnapMirror®関係、SnapVault®関係、MetroCluster™関係
  • シンプロビジョニングの設定
  • 重複排除の状態(移行先でフィンガープリント・データベースを再構築するには、再スキャンが必要)

ストレージコントローラに接続されたあらゆる種類のメディア間でデータを移行できます。たとえば、FCやSASディスクを含むアグリゲートから、SATAディスクで構成されるアグリゲートにデータを移行できます。その逆も可能です。この初回リリースでは、32ビットアグリゲート間または64ビットアグリゲート間でボリュームを移行できますが、32ビットアグリゲートと64ビットアグリゲート間ではボリュームを移行できません。

DataMotion for VolumesとDataMotion for vFilerの違い

皆様の中にはDataMotion for vFilerテクノロジについてすでによくご存じの方もいらっしゃると思いますが、DataMotion for VolumesとDataMotion for vFilerの間には、いくつか重要な違いがあります。DataMotion for VolumesはFlexVol®レベルで機能しますが、DataMotion for vFilerはvFilerレベルで機能し、1つのvFilerユニットに関連付けられたすべてのNFSボリュームまたはiSCSIボリュームを移行します。DataMotion for vFilerでは、異なるストレージシステム間やHAペア間でボリュームを移行することが可能です。DataMotion for vFilerはNetApp Protection Managerを使用して管理し、 コマンドラインからvol moveコマンドを使用してのみ起動できます。

表1に違いをまとめました(上記では触れなかった違いも含まれています)。

表1)DataMotion for VolumesとDataMotion for vFilerの違い

 

DataMotion for vFiler

DataMotion for Volumes

移行の単位

vFiler

FlexVol

移行の範囲

HAペア間での移行

同じストレージコントローラ上にあるアグリゲート間での移行

プロトコル

NFS、iSCSI

FC、FCoE、iSCSI

管理

Protection Manager、CLI

CLIのみ

Data ONTAPのリリース

7.3.3以降
今後の8.xリリース

8.0.1以降


DataMotion for Volumesの仕組み

DataMotion for Volumesは、定評のあるNetApp SnapMirrorテクノロジをボリュームの移行に利用しています。プロセスの仕組みについて簡単に理解しておくと、DataMotion for Volumesを有効に活用できます。移行は、3つのフェーズに分かれています。

  • セットアップ
  • データコピー
  • カットオーバー

セットアップフェーズやデータコピーフェーズ中でも、移行元ボリュームはI / O要求に中断なく応え続けます。

DataMotion for Volumesの全プロセス図

図2)DataMotion for Volumesの全プロセス図

セットアップフェーズ

セットアップフェーズでは、処理全体を正常に完了できることを確認するために、重要な事前確認が実行されます。この事前確認は、DataMotion for Volumesを起動するたびに実行され、カットオーバーフェーズ開始時にもう一度実行されます。

事前確認は、移行に関連するすべてのオブジェクト(移行元ボリューム、移行元アグリゲート、移行先アグリゲートなど)の状態を確認します。いずれかの事前確認が正常に完了しない場合は通知が送信され、プロセスは開始されません。事前確認のすべてのエラーはコンソールに表示され、コントローラのルートボリューム内のログファイル(/etc/log/ndvm)に記録されます。

すべての事前確認が正常に完了すると、DataMotion for Volumesは以下を実行します。

  • 次の命名規則を使用して、移行先アグリゲートに一時的なプレースホルダー・ボリュームを作成

ndm_dstvol_<タイムスタンプ>

  • ベースライン転送を開始して、移行元ボリュームとプレースホルダー・ボリュームの間にSnapMirror関係を設定。これが最も時間のかかるフェーズです。ボリュームのすべての内容が転送されるため、移行元ボリュームのサイズが大きいほど時間がかかります

データコピーフェーズ

ベースライン転送が完了すると、データコピーフェーズが開始されます。データコピーフェーズでは、移行元ボリュームは引き続きアクティブなため、移行先ボリュームと同期するために連続SnapMirror更新が開始されます。SnapMirror更新が正常に終了すると、DataMotion for Volumesは2つのボリューム間の差分遅延を見積もります。差分遅延に関する通知がユーザに送信され、この差分遅延が次回の更新処理の予想所要時間になります。DataMotion for Volumesは、差分遅延の値が高い間はデータコピーフェーズに留まります。差分遅延が小さくなると、カットオーバーフェーズに入ります。

カットオーバーフェーズ

カットオーバーフェーズは、手動、自動(デフォルト)のいずれでも実行できます。

カットオーバー前。カットオーバー・ウィンドウ内に移行先ボリュームの同期を完了できる場合、DataMotion for Volumesはカットオーバーフェーズに入ります。カットオーバー前フェーズは一時的な段階で、前述した初期の事前確認が再度実行され、何も変更されていないことが確認されます。また、NVLOG、システムCPUの負荷の状態など、重要な項目が確認されます。

DataMotion for Volumesでは、CPUとディスクのしきい値の上限を設定できます (以下のオプションのデフォルト値は、いずれも100です)。

  • vol.move.cutover.cpu.busy.limit
  • vol.move.cutover.disk.busy.limit

自動カットオーバー。カットオーバー前確認が完了すると、カットオーバーフェーズが自動的に開始されます。カットオーバーは、カットオーバー・ウィンドウ内に完了する必要があります。カットオーバー・ウィンドウは、デフォルトで最長の60秒になっています。移行先ボリュームが完全に同期すると、移行元ボリュームのIDが移行先へ移譲され、移行先からI / Oが提供されるようになります。

  • 移行元ボリュームのすべてのLUNで、I / Oが一時停止します。この一時停止状態によって、LUN上で新しいI / Oがスケジュールされなくなり、LUN上でペンディングになっているI / Oが排出されます
  • 移行元ボリュームが停止します。停止処理の一環として、最後の差分遅延がSnapshotコピーにキャプチャされ、命名規則ndvm_final_<タイムスタンプ>に従って名前が付けられます
  • 次に、ndvm_final_<タイムスタンプ>の差分を使用して、移行先ボリュームが移行元ボリュームと完全に同期します。この、2つのボリューム間の最後のSnapMirror更新後、I / Oは移行先ボリュームから提供されるようになります
  • プレースホルダー・ボリュームには、移行元ボリュームの名前とファイルシステムID(FSID)のスタンプが押され、その逆も行われます。つまり、移行元ボリュームとプレースホルダー・ボリュームのIDが交換されます
  • 移行先の移行済みボリュームが、移行元ボリュームのIDでオンライン化され、LUNがアクティブになります
  • 移行元ボリュームは、(保持するように指定していないかぎり)削除されます

カットオーバーの失敗。カットオーバーが失敗すると、DataMotion for Volumesは再びデータコピーフェーズに入り、あとで再試行します。デフォルトでは、カットオーバーは3回試行されます。3回失敗するとカットオーバーは中止され、I / Oは引き続き元の場所から提供されます。DataMotion for Volumesで処理を続行するには、ユーザの介入が必要です。

手動カットオーバー。手動カットオーバーでは、DataMotion for Volumesはデータコピーフェーズに留まり、連続SnapMirror更新を実行します。次のSnapMirror更新処理の所要時間が引き続き見積もられ、この情報がログに記録されます。この情報を確認してから、手動カットオーバーを開始してください。

考えられるユースケース

DataMotion for Volumesは、さまざまな場面で役立つと考えられます。

  • 負荷分散。 負荷の高いアグリゲートから、比較的負荷のかかっていないアグリゲートへボリュームを移行する
  • 容量の分散。 フル状態のアグリゲートから、空きスペースの多いアグリゲートへボリュームを移行する
  • サードパーティ製ディスクからNetAppディスクへのデータの移行。 サードパーティベンダーのディスクアレイのフロントエンドとしてNetApp Vシリーズシステムが稼働している場合、DataMotion for Volumesを使用して、そのアレイからNetAppディスクシェルフへデータを移行できます
  • メディアの種類の変更。 ある種類のディスクメディアから別の種類のディスクメディアへボリュームを移行できます。たとえば、FCディスクからSASやSATAディスクへの移行が可能です

上記のすべての利用方法にお客様から大きな関心が寄せられていますが、特にメディアの種類を変更できる機能が求められる場面で期待が大きいようです。業界がFCからSASへと移行している中、DataMotion for Volumesを利用すれば、古いメディアの使用を比較的少ない負担で、タイミングよく止めることができます。

また、無停止でメディアの種類を変更できる機能を利用すれば、特にパフォーマンスを高めるFlash Cacheとの併用に当たって、SATAディスクの導入を積極的に進められる、というお話もお客様から伺っています。こうしたお客様は、仮にパフォーマンスが問題になっても、ボリュームをFCディスクやSASディスクに無停止で即座に移行できることをご存じなので、より多くのアプリケーションを低価格のSATAディスクに導入することを計画されています。

ベストプラクティス

いくつかのベストプラクティスに注意を払うことで、DataMotion for Volumesを円滑に運用できます。

  • DataMotion for Volumesによる移行は、一度に1処理しか実行できません
  • DataMotion for Volumesの実行中は、移行元ボリュームでvol renameを実行したり、ボリュームやLUNの属性設定を変更したりしないでください
  • DataMotion for Volumesの処理が完了するまでは、競合する処理を開始しないでください。プロセスがカットオーバーフェーズに入っていないときに何らかの処理が開始されると、DataMotion for Volumesは中止処理を開始します。また、ステータスがカットオーバーの場合、DataMotion for Volumesではストレージ管理者の操作が一切受け付けられません
  • データの整合性を維持するために、手動でリブートしたり停止したりする前に、ポーズ処理を開始してください
  • HAペアでは、両方のノードがData ONTAP 8.0.1 7-Modeを実行していることを確認します
  • システムの健全性と負荷を確認してから、DataMotion for Volumesを開始します
  • カットオーバーの妨げとならないよう、DataMotion for Volumesの処理中は、時間のかかるデータ管理処理やデータ保護処理をスケジュールしないようにします
  • 移行元ボリュームの設定は、一切変更しないでください

SnapMirrorとSnapVault

  • DataMotionの実行中は、SnapMirrorの設定(snapmirror.confファイルなど)を変更しないでください
  • DataMotion for Volumesがカットオーバーに達していない状態では、SnapMirror更新やSnapVault更新は成功します
  • カットオーバーフェーズ中に更新が発生すると、DataMotion for Volumesで操作が受け付けられず、転送に失敗する場合があります。転送は、カットオーバー完了後の次回の更新で正常に実行されます
  • 手動カットオーバーの場合は、更新や転送が進行していないときにカットオーバーを実行します

SnapDriveとSnapManager

カットオーバー中:

  • SnapDrive® for Windows®(SDW)のLUNのプロビジョニング処理と、Snapshotコピーの管理処理は成功しません
  • SnapManager®製品(SME、SMSQL、SMVI、SMHV、SMO、SMSAP、SMOSS)のバックアップ処理とリストア処理は、いずれも成功しません。次回スケジュールされたバックアップジョブは成功します

ホスト・オペレーティング・システムのSCSIタイムアウト設定

タイムアウトエラーを回避するために、NetApp Host Utilities Kitをインストールすることを推奨します。お使いのホスト・オペレーティング・システムの『NetApp Host Utilities Installation and Setup Guide』(http://now.netapp.com/NOW/cgi-bin/software)を参照してください。

FlexVolとFlexClone

  • DataMotion for Volumesは、移行元のFlexVolのみを移行します。FlexClone®ボリュームは移行されません。DataMotion for Volumesの実行後、元のFlexVolはオフライン状態で保持され、親子関係もそのまま維持されます
  • FlexCloneボリュームを移行する際は、移行前に親FlexVolから切り離す必要があります

重複排除機能と圧縮機能

  • 移行元のFlexVolで重複排除機能が有効になっている場合、カットオーバーを成功させるためには、重複排除機能を停止する必要があります
  • DataMotion for Volumesでは、フィンガープリント・データベースが移行されません。また、重複排除されたFlexVolのログも変更されません。DataMotion for Volumesのプロセスが完了したら、sis start -sを実行して、移行先でフィンガープリント・データベースを再構築する必要があります
  • 圧縮されたボリュームは移行できません

DataMotion for VolumesをOracle®データベースやMicrosoft® Exchangeに使用する場合のベストプラクティスについては、TR-3881(英語)を参照してください。

まとめ

DataMotion for Volumesは、IT運用の柔軟性を高めることができる、強力なデータ管理ツールです。これまでは、システムを停止しないとボリュームを移行できなかったため、前もって慎重に停止時間を計画する必要がありましたが、DataMotion for Volumesを使用すれば、負荷分散、容量分散、メディアの種類の変更といった目的を達成する必要がある場合、いつでもボリュームを移行できます。DataMotion for Volumesの詳細については、TR-3873(英語)とTR-3881(英語)を参照してください。

 DataMotion for Volumesについてご意見をお寄せください。

ご質問、意見交換、情報提供は、NetAppのコミュニティサイトまでお願いいたします。

Richard Jooss
ディレクター兼SAN / iSCSIアーキテクト
NetApp


Richard Joossは、NetAppでSANプロダクト / パートナー・エンジニアリングのシニアマネージャーを務めています。SANエコシステム、SANストレージの技術要件とビジネス要件の定義を担当し、ビジネスソリューションとNetApp SANソリューションとの統合にも携わっています。ストレージ業界で15年の経験を積んでおり、 ウィスコンシン大学で電気 / コンピュータ工学の理学士号を取得しています。


関連情報
関連情報
MultiStoreとDataMotion for vFiler

vFilerユニット内でさまざまなテナントやアプリケーションを分離するMultiStoreは、ストレージのセキュアなマルチテナンシーを可能にします。DataMotion for vFilerを使用すれば、vFilerユニットをストレージシステム間で移行できます。


Data ONTAP 8の新機能

Data ONTAP 8.0.1のリリースによって、NetAppはさまざまな新機能を導入しました。Data ONTAP 8.0.1には、DataMotion for Volumesのほかに、データ圧縮Unified Connect、新しいプラットフォームのサポートなど、さまざまな機能が含まれています。

関連情報
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2011 NetApp