皆様こんにちわ
世間では花見のシーズンも終わり、ゴールデンウィークの話で持ちきりですね。
大型連休の後はもちろん、7toCの季節ですね。
という事で、引き続き7toCについて記事にしていきたいと思います。
前回はアセスメント編という事で、今お使いの7-ModeがcDOTに移行できるかどうか??という移行の前段階のお話を記事にしてみました。
今回は実際の7-ModeからcDOTへの移行手順を見ていきましょう!
こちらの記事は64bit環境想定ですのでご注意ください。
32bitからの移行も今後記載したいと思います。
では、早速データ移行の準備をしていきます。
まず初めに必要なもの・・・
そう!SnapMirrorライセンスです。
この記事を見た半分くらいの方から
「持ってないんですけど・・・」
という心の声が聞こえてきた気がします・・・(笑)
大丈夫です。安心してください。ありますよ?
【移行用途で使用する目的であればSnapMirrorライセンスは無償で貸し出し可能です!!】
ですので、SnapMirrorライセンスがないから7toCは無理だなー・・・とお考えの方々も諦めずcDOTをじゃんじゃん売ってください。
こちらのライセンスは別途申請が必要になりますので、お近くの販社様、営業さんにお問合せください。
ライセンスキーをGetしましたら、まずは7-Modeから準備を行います。
7-ModeにCLIでログインしてください。
①7-ModeでSnapMirrorライセンスを有効にします。
>license add <ライセンスキー>
②7-ModeでSnapMirrorを有効にします。
>options snapmirror.enable on
③SnapMirrorのアクセス許可設定を行います。
>options snapmirror.access <cDOT側のInterClusterLIFのすべてのIP>
※細かい事を気にしない場合は【all】や【*】でも可能です。
④移行対象のVolumeのオプションを変更します。
>vol options <Volume名> no_i2p off
>vol options <Volume名> read_realloc off
>vol options <Volume名> nvfail off
恐らくあまり見慣れないvol optionsだと思いますが、基本はすべてデフォルトは【off】
になっております。もしこちらのoptionsを変更しているシステムはご注意ください。
それぞれのvol optionsの意味は以下になります。(マニュアル抜粋)
------------------------------------------------------------------------------------------
no_i2p on | off
このオプションをonにすると、inodeはボリューム上でパスネーム変換を行うことができなくなります。
デフォルト値はoffです。
-----------------------------------------------------------------------------------------
read_realloc on | space_optimized | off
このオプションをonまたはspace_optimizedにすると、ボリュームの読み取りの再配置が有効になります。
結果、一部のブロックをディスク上の新しい場所に書き込むことによって、ファイル・レイアウトが最適化されます。レイアウトが更新されるのは、ユーザの読み取り処理によって該当ブロックが読み取られた場合のみです。また、レイアウトを更新することによって将来的に読み取りのパフォーマンスが向上する場合以外は更新されません。
読み取りの再配置は、ランダムな書き込みと大量の連続読み取りが混在するワークロードで有効活用できます。このオプションをspace_optimizedに設定すると、再配置の更新で、Snapshotブロックがアクティブ・ファイルシステムに複製されないため、スペースの利用率を抑えることができます。
ボリュームにSnapshotが存在するか、ボリュームがSnapMirrorの送信元であるとき、フレキシブルボリューム用のストレージを減らし、次回の更新時にSnapMirrorによって移動されるデータの量を減らせる場合は、space_optimizedを使用すると効果的です。space_optimized値を使用すると、Snapshotの読み取りパフォーマンスが低下する可能性があります。通常は、フレキシブルボリュームでのみ使用されます。デフォルト値はoffです。この場合、読み取りの再配置は使用されません。
-----------------------------------------------------------------------------------------
nvfail on | off
このオプションをonにすると、ファイラーはブート時に追加のステータス検査を実行し、NVRAMが有効な状態にあるかを確認します。このオプションは、データベース・ファイルを保存する場合に便利です。ファイラーが何らかの問題を検出すると、データベース・インスタンスはハングアップするか、シャットダウンされます。さらに、コンソールにエラー・メッセージを送信し、データベースの状態を確認するよう警告します。デフォルト値はoffです。
-----------------------------------------------------------------------------------------
以上で7-Modeでの準備は完了になります。
簡単ですね!!
では、引き続きcDOTの移行準備を行いましょう!
cDOT側にCLIでログインしてください。
cDOT買ったはいいけどよくわからなくて・・・という方も安心してください!
ネットワールドではcDOTの構築動画を配信しております!!
clustered Data ONTAPとは?から初期設定方法やSVM、Volumeの作成方法等も解説されておりますので、是非こちらもチェックしてみてください。
http://www.networld.co.jp/product/netapp/movie/cdot/
①InterClusterLIFを作成します。
※もし作成済みの場合はこちらの手順はスキップしてください。
※InterClusterLIFは各Node(コントローラ)に最低一つ必要になります。
>network interface create -vserver <クラスタ名> -lif <InterClusterLIF名> -home-node <node名> -home-port <ポート名> -address <IPアドレス> -netmask <ネットマスク>
コマンド例:
>network interface create -vserver FAS-Cluster -lif intercluster_lif1 -home-node FAS-Cluster-01 -home-port e0d -address 192.168.1.1 -netmask 255.255.255.0
上記コマンドでは【FAS-Cluster】というクラスタの【FAS-Cluster-01】というnodeの【e0d】ポートに対してInterClusterLIFを作成しております。
InterClusterLIFは各nodeに必要ですので、もしお使いのcDOTが2node-Switchless等の場合は、もう片側のnodeにもInterClusterLIFを作成してください。
②作成したInterClusterLIFより7-Modeに疎通可能か確認します。
>network ping -lif <InterClusterLIF名> -vserver <クラスタ名> -destination <7-modeのIPアドレス>
③次に移行先となるVolumeを作成します。
>volume create -vserver <移行先のSVM名> -volume <移行先となる新規Volume名> -aggregate <アグリゲート名> -size <Volumeのサイズ> -state online -type DP
コマンド例:
>volume create -vserver svm-cifs -volume vol_cifs -aggregate aggr1_n1 -size 2t -state online -type DP
ここでのポイントは-typeをDPにすることです。
cDOT間でのSnapMirrorでもdestination VolumeはDPで作成しますが、7toCの場合も同様にDPで作成します。
ここでもしRWで作成してしますと後々のSnapMirror設定で失敗しますのでご注意ください!
④7-Modeとの移行ピア関係の作成をします。
>vserver peer transition create -local-vserver <移行先のSVM名> -src-filer-name <7-Modeのホスト名またはIPアドレス> -local-lifs <InterClusterLIF名>
コマンド例:
>vserver peer transition create -local-vserver svm-cifs -src-filer-name 192.168.1.100 -local-lifs intercluster_lif1,intercluster_lif2
ここでのポイントは通常のvserver peerを作成するコマンドではなく、【vserver peer transition】コマンドを用いる事と、-local-lifsに指定するInterClusterLIFをカンマ区切りですべて入力する点になります。
⑤移行ピア関係が作成されたか確認をします。
>vserver peer transition show
問題なければ以下のように出力されます。
FAS2240A::> vserver peer transition show
Vserver Source Filer Multi Path Address Local LIFs
------- ------------ ----------------- ---------------
svm-cifs 192.168.1.100 - intercluster_lif1, intercluster_lif2
ここまでの手順が前準備になります。
ここからはデータ移行手順になります。まさに【7toC】を行います。
7-ModeのデータがcDOTへ移行される奇跡の一瞬を目の当たりにします。
皆様準備はOKでしょうか?
では行きましょう!!Let's 7 to C~!!
①cDOTからSnapMirror関係を作成します。
>snapmirror create -souce-path <7-Modeのホスト名もしくはIPアドレス>:<7-Modeの移行対象のVolume名> -destination-path <移行先のSVM名>:<移行先となるVolume名> -type TDP
コマンド例:
>snapmirror create -souce-path 192.168.1.100:vol_cifs_7 -destination-path svm-cifs:vol_cifs -type TDP
ポイントは-typeが【TDP】になる事です。
通常のcDOT間でのSnapMirrorですと、こちらはDPになるかと思いますが、7-Modeからの移行時はTDPになるのでご注意ください。
②SnapMirror初期転送の開始
>snapmirror initialize -destination-path <移行先のSVM名>:<移行先となるVolume名>
コマンド例:
>snapmirror initialize -destination-path svm-cifs:vol_cifs
※こちらのコマンドを実行しますと、SnapMirrorの初期転送が開始されます。
7-ModeではReadが、cDOTではWriteが増えますので、業務に影響がない時間帯に実行する事をお勧め致します。
③SnapMirrorのステータスを確認します。
>snapmirror show
>snapmirror show -instance
>snapmirror show-histoly
cDOTではコマンドオプションで【-instance】を付けることでより詳細な情報を表示できます。
転送中は以下のような出力になります。
FAS2240A::> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
192.168.1.100:vol_cifs_7 TDP svm-cifs:vol_cifs Snapmirrored Transferring 0B true 04/27 13:22:18
転送が完了しますと以下のような出力に。
FAS2240A::> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
192.168.1.100:vol_cifs_7 TDP svm-cifs:vol_cifs Snapmirrored Idle - true -
④SnapMirrorの差分転送を実施
ほとんどの環境において、初期転送は負荷の少ない休日に、差分転送は平日夜間に行いたい等のご要望があるかと思います。
cDOT側でSnapMirror転送のスケジュールを設定するか、以下のコマンドにて手動で差分転送を実施してください。
>snapmirror update -destination-path <移行先のSVM名>:<移行先となるVolume名>
コマンド例:
>snapmirror update -destination-path svm-cifs:vol_cifs
カットオーバー前の最終差分転送も上記コマンドで実施してください。
⑤SnapMirror関係の解除
>snapmirror break -destination-path <移行先のSVM名>:<移行先となるVolume名>
コマンド例:
>snapmirror break -destination-path svm-cifs:vol_cifs
※このBreak状態であれば再同期も可能です。
Break状態にすることでDestination VolumeがR/W可能な状態になります。
ここまで来たらあとは簡単ですね。
CIFSで共有するなりNFSでexportして、Volumeの中身のファイルを確認します。
⑥すべての移行が完了後、SnapMirror関係を削除します。
※cDOT側で入力
>snapmirror delete -destination-path <移行先のSVM名>:<移行先となるVolume名>
※7-Mode側で入力
>snapmirror release <7-Modeの移行対象のVolume名> <移行先のSVM名>:<移行先となるVolume名>
コマンド例:
>snapmirror release vol_cifs_7 svm-cifs:vol_cifs
⑦最後にvserver peer transitionを削除します。
>vserver peer transition delete -local-vserver <移行先のSVM名> -src-filer-name <7-Modeのホスト名またはIPアドレス> -local-lifs <InterClusterLIF名>
コマンド例:
>vserver peer transition delete -local-vserver svm-cifs -src-filer-name 192.168.1.100 -local-lifs intercluster_lif1,intercluster_lif2
以上、 完 了 !
今回はコマンドばかりで難しい印象を持たれた方もいらっしゃるかと思いますが、実際にやってみますと非常に簡単です。
移行時間を除けばオペレーションで1時間かからない程かと思います。
ただやはり既存の7-Modeの状況や、cDOTの設計構築にかかわる部分もありますので、
「どこかまるっと実施してくれるベンダーはないかなー・・・」
と、お考えの方は是非!ネットワールドにお声がけください!
ネットワールドでは7-Mode/cDOTの設計、構築、支援、7toCでのデータ移行もすべて行うサービスもご提供しております!!
ご要望ある方は是非、弊社営業担当もしくは下記URLよりご連絡頂けますと幸いです。