このトピックでは、rsyncコマンドラインツールを使用して、同じリージョンのゾーン間で汎用ファイルストレージNAS (NAS) ファイルシステム用のディザスタリカバリソリューションを構成する方法について説明します。
概要
NASは、同じゾーン内の異なるデバイス上のデータの複数のレプリカを保存します。 不可抗力要因によるサービスの停止により、アプリケーションが短時間でデータにアクセスできなくなるのを防ぐために、rsyncコマンドラインツールを使用して、同じリージョンのゾーン間で汎用NASファイルシステムのディザスタリカバリソリューションを構成できます。
このソリューションでは、次のインフラストラクチャとクラウドサービスをデプロイする必要があります。
仮想プライベートクラウド (VPC) VPCは、クラウド上のElastic Compute Service (ECS) インスタンスとNASファイルシステムを相互接続するプライベートネットワークとして機能します。
2つのvSwitch vSwitchは、2つのNASファイルシステムを同じネットワークに接続し、基本的なネットワークのセグメンテーションと分離を提供します。
2つのNASファイルシステム 2つのNASファイルシステムは、同じリージョンの異なるゾーンに存在し、高いパフォーマンスと高い可用性を持つストレージサービスを提供します。 業務ファイルシステムに障害が発生した場合、ワークロードを災害復旧ファイルシステムに切り替えることができます。 これにより、ビジネスの継続性と安定性が保証されます。
ECSインスタンス。 rsyncコマンドラインツールを使用してデータを移行し、増分データを移行するためのスケジュールタスクを設定できます。 このようにして、2つのNASファイルシステム間でデータを共有および同期でき、データの一貫性が保証されます。
解決策
このトピックでは、中国 (香港) リージョンの香港ゾーンBにある汎用NASファイルシステムのディザスタリカバリ機能を構築する方法について説明します。 次の表で、関連パラメーターについて説明します。
パラメーター | ビジネスファイルシステム | ディザスタリカバリファイルシステム |
リージョン | 中国 (香港) | 中国 (香港) |
ゾーン | 香港ゾーン B | 香港ゾーンD |
VPC | test01 | test01 |
vSwitch | test1 | test2 |
ステップ1: ファイルシステムの作成
ゾーンを除いて業務ファイルシステムと同じ構成のディザスタリカバリファイルシステムを作成します。
NAS コンソールにログインします。
概要 ページの [ファイルシステム選択ガイド] セクションで、[汎用NAS] の下の [作成] をクリックします。
[作成] パネルで、次のパラメーターを設定します。 その他のパラメーターの設定は、業務ファイルシステムの設定と同じにしてください。 詳細については、「ファイルシステムの作成」をご参照ください。
パラメーター
説明
リージョン
ビジネスファイルシステムが存在するリージョンを選択します。 この例では、[中国 (香港)] を選択します。
ゾーン
ビジネスファイルシステムが存在するゾーンとは異なるゾーンを選択します。 この例では、香港ゾーンDを選択します。
VPC
ビジネスファイルシステムが存在するVPCを選択します。 この例では、test01を選択します。
vSwitch
VPCに存在するvSwitchを選択します。 この例では、test2を選択します。
[今すぐ購入] をクリックし、指示に従って支払いを完了します。
手順2: データ移行システムのデプロイとデータの移行
ディザスタリカバリファイルシステムを作成した後、ECSインスタンスに2つのNASファイルシステムをマウントする必要があります。 次に、rsyncコマンドラインツールを使用してデータを移行し、増分データを移行するようにスケジュールタスクを設定します。 データを移行するには、次の手順を実行します。
NFSファイルシステム
業務ファイルシステムとディザスタリカバリファイルシステムをマウントします。
ECS コンソールにログインします。 [インスタンスの作成] をクリックします。 [カスタム起動] ページで、次のパラメーターを設定します。
リージョン: ファイルシステムが存在するリージョンを選択します。 この例では、[中国 (香港)] を選択します。
ネットワークとゾーン: ファイルシステムと同じVPCを選択する必要があります。 ファイルシステムと同じvSwitchを選択することを推奨します。
インスタンス: 最小仕様を選択します。
画像: CentOSを選択します。 この例では、[CentOS 7.6] を選択します。
ストレージ: [NASファイルシステム (オプション)] をクリックし、[ファイルシステムの追加] をクリックして、業務ファイルシステムとディザスタリカバリファイルシステムに2つの共有ディスクを追加します。 詳細は以下の図をご参照ください。
ECSインスタンスを作成し、ビジネスファイルシステムとディザスタリカバリファイルシステムをマウントした後、次のコマンドを実行してマウントを確認します。
mount | grep nas.aliyuncs.com
次のような出力が表示された場合、ファイルシステムがマウントされます。 業務ファイルシステムは
/mnt/src
ディレクトリにマウントされ、ディザスタリカバリファイルシステムは/mnt/dst
ディレクトリにマウントされます。
移行ツールをインストールします。
sudo yum install -y rsync
既存のデータを移行します。
ディザスタリカバリファイルシステムにディレクトリを作成します。 例:
dst/backupsystem
mkdir /mnt/dst/backupsystem
業務ファイルシステムから災害復旧ファイルシステムの
backupsystem
ディレクトリにデータを移行します。rsync -avP /mnt/src/ /mnt/dst/backupsystem/
増分データを移行します。
別のECSインスタンスで実行されているアプリケーションがデータ移行中にビジネスファイルシステムにデータを書き込む場合、既存のデータの移行後に増分データをディザスタリカバリファイルシステムに移行する必要があります。
rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/
rsyncコマンドは、増分データを同期する前にソースディレクトリをスキャンします。 したがって、少量のデータを移行するのに必要な時間が予想よりも長くなる可能性があります。
警告コマンドの -- deleteオプションは、増分データ同期中にビジネスファイルシステムから削除されたデータを災害復旧ファイルシステムから削除するために使用されます。 災害復旧ファイルシステムからデータが誤って削除されないようにするには、このオプションを使用するときに注意してください。 2つのファイルシステムでごみ箱機能を有効にすることもできます。 誤ってビジネスファイルシステムまたはディザスタリカバリファイルシステムからファイルを削除した場合は、ごみ箱機能を使用して、これらのファイルと、ユーザー識別子 (UID) 、グループ識別子 (GID) 、アクセス制御リスト (ACL) などのメタデータを復元できます。 詳細については、「ごみ箱」をご参照ください。
増分データを移行するようにスケジュールタスクを設定します。
crontabを使用して、増分データを移行するスケジュールタスクを設定します。
次のコマンドを実行してcrontabに移動します。
crontab -e
増分データを移行するようにスケジュールタスクを設定します。
crontabで次の情報を設定します。 30は分を示し、00は時間を示します。 このタスクは毎日00:30:30に実行され、増分データを移行します。 ビジネス要件に基づいて値を指定することもできます。
30 00 * * * rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/ > /tmp/last_rsync_result.log 2>&1 &
次のコマンドを実行して、設定が成功したことを確認します。
crontab -l
移行結果を確認します。
次のコマンドを実行して、最新の増分データ同期の出力を確認します。
cat /tmp/last_rsync_result.log
SMBファイルシステム
業務ファイルシステムとディザスタリカバリファイルシステムをマウントします。
ECS コンソールにログインします。 [インスタンスの作成] をクリックします。 [カスタム起動] ページで、次のパラメーターを設定します。
リージョン: ファイルシステムが存在するリージョンを選択します。 この例では、[中国 (香港)] を選択します。
ネットワークとゾーン: ファイルシステムと同じVPCを選択する必要があります。 ファイルシステムと同じvSwitchを選択することを推奨します。
インスタンス: 最小仕様を選択します。
イメージ: Windows Serverを選択します。 この例では、[Windows Server 2019] を選択します。
ストレージ: [NASファイルシステム (オプション)] をクリックし、[ファイルシステムの追加] をクリックして、業務ファイルシステムとディザスタリカバリファイルシステムに2つの共有ディスクを追加します。 詳細は以下の図をご参照ください。
パブリックIPアドレス: [パブリックIPv4アドレスの割り当て] を選択して、移行ツールをダウンロードします。
ECSインスタンスを作成し、ビジネスファイルシステムとディザスタリカバリファイルシステムをマウントした後、次のコマンドを実行してマウントを確認します。
net use
次のような出力が表示された場合、ファイルシステムがマウントされます。 業務ファイルシステムはXドライブにマウントされ、ディザスタリカバリファイルシステムはYドライブにマウントされます。
Status Local Remote Network ------------------------------------------------------------------------------- OK Y: \\12e4874****-v****.cn-hongkong.nas.aliyuncs.com\myshare Microsoft Windows Network OK X: \\12f7094****-c****.cn-hongkong.nas.aliyuncs.com\myshare Microsoft Windows Network
移行ツールをインストールします。
移行ツールrsync for windowsをダウンロードします。
ダウンロードしたインストールパッケージをCドライブに解凍し、パッケージ名をcwRsyncに変更します。
既存のデータを移行します。
コマンドプロンプトを開き、次のコマンドを実行して、ビジネスファイルシステムから災害復旧ファイルシステムにデータを移行します。
cd c:\cwRsync rsync.exe -avP /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group
コマンドのXとYを実際のドライブ文字に置き換えます。
説明デフォルトでは、SMBファイルシステムはアカウント権限設定をサポートしていません。 SMB Active Directory (AD) またはACLが有効になっている場合、
-- no-perms
、-- no-owner
、および-- no-group
オプションを設定する必要はありません。増分データを移行します。
rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:/rsync.log
rsyncコマンドは、増分データを同期する前にソースディレクトリをスキャンします。 したがって、少量のデータを移行するのに必要な時間が予想よりも長くなる可能性があります。
警告コマンドの -- deleteオプションは、増分データ同期中にビジネスファイルシステムから削除されたデータを災害復旧ファイルシステムから削除するために使用されます。 災害復旧ファイルシステムからデータが誤って削除されないようにするには、このオプションを使用するときに注意してください。 2つのファイルシステムでごみ箱機能を有効にすることもできます。 誤ってビジネスファイルシステムまたはディザスタリカバリファイルシステムからファイルを削除した場合は、ごみ箱機能を使用して、これらのファイルと、UID、GID、ACLなどのメタデータを復元できます。 詳細については、「ごみ箱」をご参照ください。
増分データを移行するようにスケジュールタスクを設定します。
スクリプトファイルを作成します。
Cドライブに
dailyrsync.bat
ファイルを作成し、次の内容を設定ファイルに追加します。 コマンドのXとYを実際のドライブ文字に置き換えます。c:\cwRsync\rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:\run.log
増分データを移行するようにスケジュールタスクを設定します。
[コントロールパネル] を開き、[システムとセキュリティ] をクリックします。 [管理ツール] セクションで、[タスクのスケジュール] をクリックします。
[タスクスケジューラ] ウィンドウで、
を選択します。[全般] タブをクリックし、[名前] にタスク名を入力し、[ユーザーがログオンしている場合のみ実行] を選択します。
[トリガー] タブをクリックします。 [新しいトリガー] をクリックします。 [タスクの開始] で [スケジュールに従って] を選択し、[毎日] を選択して、実行時間を指定します。 [詳細設定] セクションで、[有効] を選択します。 [OK] をクリックします。
[操作] タブをクリックします。 [新しいアクション] をクリックします。 Actionで [プログラムの開始] を選択します。 [プログラム /スクリプト] セクションで、Configure a scheduled task to migrate incremental data.でCドライブに作成された
dailyrsync.bat
スクリプトファイルを選択します。 [OK] をクリックします。[OK] をクリックします。
ECSインスタンスを再起動して、スケジュールされたタスクが作成されているかどうかを確認します。
次の例に似た出力が表示された場合、スケジュール済みタスクが作成されます。
タスクが正常に実行されたら、Cドライブのrsync.logをチェックして、最新の増分データ同期の出力を確認します。
ステップ3: 切り替えの実行
業務を災害復旧ファイルシステムに切り替える必要がある場合は、業務ファイルシステムがマウントされているすべての業務システムに災害復旧ファイルシステムをマウントします。
NFSファイルシステム
このセクションでは、Linux上にディザスタリカバリNFSファイルシステムをマウントする方法を示します。 NASファイルシステムをマウントする方法の詳細については、「シナリオ」をご参照ください。
次のコマンドを実行して、ディザスタリカバリファイルシステムのbackupsystem
ディレクトリを業務システムにマウントします。
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <<Mount target>>:/backupsystem <<Business system directory>>
次のリストにパラメーターを示します。 ビジネス要件に基づいてパラメーター値を置き換えます。
<<マウント対象>>: ディザスタリカバリファイルシステムのマウント対象。
<<Business system directory>>: ディザスタリカバリファイルシステムをマウントする業務システムのローカルディレクトリ。 例:
/mnt
。 ディザスタリカバリファイルシステムがマウントされた後、このディレクトリ内のデータ (ディレクトリとファイルを含む) は、前回実行されたスケジュールされたタスクによって移行された増分データです。
SMBファイルシステム
このセクションでは、WindowsでディザスタリカバリSMBファイルシステムをマウントする方法を示します。 NASファイルシステムをマウントする方法の詳細については、「シナリオ」をご参照ください。
net use Y: \\<<Mount target>>\myshare
次のリストにパラメーターを示します。 ビジネス要件に基づいてパラメーター値を置き換えます。
<<マウント対象>>: ディザスタリカバリファイルシステムのマウント対象。
Y: ディザスタリカバリファイルシステムがマウントされているドライブのドライブ文字。 ディザスタリカバリファイルシステムがマウントされた後、ドライブ上のデータ (ディレクトリとファイルを含む) は、前回実行されたスケジュールされたタスクによって移行された増分データです。
myshare: 共有SMBディレクトリの名前。 名前は変更できません。
概要
このトピックを読んだ後、次の方法について学びました。
増分データを移行するためのスケジュール済みタスクの設定
ビジネスファイルシステムからディザスタリカバリファイルシステムにビジネスを切り替える