今回は下図の環境で試験を行いました。
主な流れとしては、以下の通りとなります。
1. メイン機NASをESXiサーバからiSCSI VMFSデータストアとしてマウント。そこでVMを稼働させている状態から開始。
2. メイン機NASからサブ機NASへSnapSyncレプリケーションを実施。
3. メイン機のデータが全損したことを想定して、ESXiサーバのマウント先をサブ機に切り替え。
4. サブ機で稼働しながら、メイン機を復旧。
5. サブ機からメイン機へレプリケーション実施。
6. ESXiサーバのマウント先をメイン機に切り替える(切り戻し)。
7. レプリケーション方向をメイン機からサブ機へ切り替える。
今回はQES(デュアルコントローラNAS)とQuTS hero(シングルコントローラNAS)でレプリケーション試験を行いましたが、QES-QES間、QuTS hero-QuTS hero間でも考え方はほぼ同じとなります。
ESXiサーバからメインNAS(QES)へiSCSIマウントしています。そのデータストアにWindows VMを配置して稼働している状態です。
QNAP QES側のiSCSI設定状況です。デュアルコントローラなので、両コントローラのパス/iqnからLUNをiSCSIイニシエータであるESXiサーバに見せています。このLUNをサブ機(QuTS hero)にSnapSyncレプリケーションしていきます。
QES管理画面内でBackup Stationアプリを開きます。SnapSyncサービスがOFFになっている場合は、ONにしてください。
続いてサブ機であるQuTS hero側でもSnapSyncをONにします。QuTS heroでSnapSyncを利用する時は、コントロールパネル内にあるストレージ&スナップショット画面から設定します。HBS3(Hybrid Backup Sync 3)からの設定ではありません。
QES管理画面のBackup Station内でレプリケーションジョブの作成ボタンをクリックして、ジョブを作成していきます。
ジョブの名前を入力して、複製タイプを選びます。スケジュールを選択して、定期的にレプリケーションを実施します(リアルタイム選択も可能ですが、2つのNAS間接続の往復遅延が5msec以下である必要があります)。
更に、リモートホストを選択、サブ機NASのIPアドレス、アカウント&パスワードを入力して、接続ボタンを押します。この時のIPアドレスは、データ通信用ではなく、管理用ポートに設定されている方のIPである必要があります。接続ボタンをクリックして、成功することを確認してください(『テストされていません』から『成功』に表示が変わります。
画面左側のプルダウンメニューからQES上のLUNを選択。QuTS hero(右側)では、LUNを作成したいストレージプールを選んで、新規ボタンをクリックしてLUN名を入力します。下画面ではレプリケーションデータ通信用ポートとして、自動的にデータポートが表示されています。
バックアップ頻度ボタンを押してレプリケーション実行スケジュールを設定します。最短で5分ごとに実行できます。OKボタンを押します。
最後に、“バックアップを直ちに実行します”にチェックを入れてOKをクリックして、レプリケーション開始します。
初期転送が開始され、データ転送中です。
初期転送が完了すると、QuTS heroのSnapsync先LUNは “SnapSync LUN”という表示がされ、オレンジ色の“!”アイコンにカーソルを合わせると、 “読み取り専用” というメッセージ表示がされます。
この状態でSnapsync LUNをiSCSIターゲットにマッピングしようとすると、下図のエラーが出て出来ません。つまり、Snapsyncで転送先となっているLUNはESXiサーバからはマウントできないということになります。マウントするにはSnapSyncジョブを休止する必要があります。
ここでESXiサーバがマウントしているメインNAS(QES)に疑似障害を発生させます。ここではiSCSI LUNが保存されているストレージプールをオフラインにしてしまいます。
このLUN上に保存されているVMへのアクセスが出来なくなりました。
サブ機NAS側のLUNにマウントしてVMを復旧していきます。QuTS heroのSnapSync画面でレプリケーションジョブを中断します。
レプリケーション先のLUNを既に作成済みのiSCSIターゲットにマッピングします。
iSCSIターゲットも有効にします。
注意:ここから先の手順については他にベターな方法があるかもしれません。あくまで弊社環境において実施した手順として参考利用してください。ESXiサーバにSSHアクセスしてのコマンドラインで一部作業を進めて行きます。
ESXiサーバ側でiSCSIターゲット(QuTS hero側)の登録もしてあげましょう。
[root@fmesix001:~] esxcli storage vmfs snapshot list
625ce806-da828f5a-30c8-0cc47a93be12
Volume Name: qes_iscsi_20220418
VMFS UUID: 625ce806-da828f5a-30c8-0cc47a93be12
Can mount: true
Reason for un-mountability:
Can resignature: true
Reason for non-resignaturability:
Unresolved Extent Count: 1
Resignature(再署名)の処理をします。
[root@fmesix001:~] esxcli storage vmfs snapshot resignature -l qes_iscsi_20220418
QuTS上のLUNがVMFSとして認識されました。
[root@fmesix001:~] esxcli storage filesystem list
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ------------------------------------------ ----------------------------------- ------- ------ ------------- ------------
/vmfs/volumes/625e2c6f-6da50357-f20b-0cc47a93be12 snap-32cc81fb-qes_iscsi_20220418 625e2c6f-6da50357-f20b-0cc47a93be12 true VMFS-6 1099243192320 992224477184
ESXiサーバの管理GUIで見るとVMFSデータストアとして現れました。データストアブラウザで見ると、VMの構成ファイルが保存されていることが確認できます。アダプタを再スキャンで出てこないかもしれません。
サブ機NAS上にレプリケーションされたVMの構成ファイルからWindows VMを復旧します。
Windows VMを起動時に下記メッセージに従って進めて行きます。
Windows VMが起動しました。レプリケーション元で使っているときに、デスクトップに作成したファイルも見えることが出来ます。
ここからは切り戻し手順となります。
今回の構成ではメイン機がデュアルコントローラNAS(QES)、サブ機がシングルコントローラNAS(QuTS hero)となっていて、メイン機の方がスペックが高いものとなっています。そのため、ESXiサーバからサブ機NASに一時的にマウントをしていますが、再度メイン機NASに切り替えたいと思います。
ESXiサーバからiSCSIマウントされているQuTS hero上のLUN ⇒ QES上の新規作成LUN方向でSnapSync設定を行います。
QESのレプリケーションジョブ作成画面とは若干違いますが、設定することとは同じなので迷うことはないかと思います。
まずは、メイン機NAS上にストレージプールが必要なので、以前のステップでオフラインにしたQES上のプールをオンラインに戻しておいてください。また、最初に使っていたLUNは今回は使わないので、ESXiサーバから見えないように、無効にしてからiSCSIターゲットから”マップ解除”しておきます。
QuTS heroの管理画面で、ストレージ&スナップショット > SnapSync > SnapSyncジョブの作成 > リモートに同期の順で選択。
ジョブ名入力して、iSCSIマウントされているLUNが保存されているプールとLUNを選択します。
ターゲットNASにQES情報を入力して接続確認。IPは管理用IPで設定します。
今回はスケジュール転送ではなく、手動を選択しました(初期転送後、切り替え実施時に最終転送を手動で行うことを想定しています)。QES上のプールを選択して、新規作成するLUN名を入力します。
データ転送用のポートが自動選択されていることを確認します。次へと進んで行き、作成ボタンを押してレプリケーションジョブを作成完了します。
SnapSync転送が完了すると、QES側にLUNが見えます。SnapSync先で読み取り専用なため、今の状態ではiSCSIターゲットにマッピングすることは出来ません。
ここから、障害発生前に利用されていたメイン機NASへのマウント切り替えを行っていきます。
本番環境においては、ここでQuTS hero側でデータ更新が無いようにユーザアクセスを一時的に止めていただく等の対処をしていただく必要があります。
そして、QuTS hero側から最終的なデータ転送を実行します(2つ前の画面の”今すぐ実行”ボタンをクリックすると同じ方法です)。
最終転送が完了したら、QuTS hero側でSnapSyncジョブを中断してから、削除ボタン(ゴミ箱のアイコン)で削除します。
ESXiサーバ上のWindows VMをシャットダウンします。
サブ機(QuTS hero)側でiSCSIターゲットを無効にします(同ターゲットで複数LUNを利用していて、このiSCSIターゲットは利用し続けたい場合は、無効にしなくても良いです)。
同じくLUNを無効にします。
マップ解除まで行ってください。これを行わないと、次以降のステップで出てくるSnapSync再設定がうまくいかないようです。
次にメイン機(QES)側でSnapSync先のLUNをターゲットにマッピングします。画面からLUNを選択して、画面右にあるアクションからマッピングを選択します。下画面のようにターゲットを選択して、適用ボタンをクリックします。
LUNとiSCSIターゲットがマッピングされた状態。
以前行った作業と同様にESXiサーバにSSHアクセスして、コマンドラインでLUNを検出しました。ESXiサーバのGUIでもLUNがマウントされて、保存されているVMの構成ファイルも見えます。
以前行った作業と同様にメイン機NAS(QES)から仮想マシンを復元します。
最後にメイン機(QES)⇒サブ機(QuTS hero)方向でSnapSyncレプリケーションを設定して完了です。この際にデータは初期転送からは行われません。
これまでも行っていた通り、メイン機(QES)側からBackup Stationを使ってSnapSyncジョブを作成していきます。
まず、使っていないSnapSyncジョブを削除します。
新規ジョブ作成画面ですが、SnapSync元のLUN(下図ではiSCSI_vm_a)を選択して、宛先プールを選択すると、SnapSync先LUN(下図では vm_lun_bk)が自動的に現れます。このLUN同士は以前SnapSync関係にあったためです。
スケジュール設定を行い。ジョブを実行します。
最後にESXiサーバ上でデータストアの名前変更、不要なデータストア(使われていないけど表示されてしまっているもの)の削除などを行って終了です。
以上
2022/4/22 TS