このチュートリアルでは、rsync コマンドラインツールを使用し、同一リージョン内で Alibaba Cloud 汎用 NAS のクロスゾーン・アクティブ/スタンバイ構成のディザスタリカバリソリューションを構築する方法を説明します。
ソリューション概要
ゾーンレベルの障害やその他の災害発生時にアプリケーションをデータ損失から保護するために、rsync ツールを使用して、汎用 NAS のクロスゾーン・アクティブ/スタンバイ構成のディザスタリカバリソリューションを構築します。
このソリューションは、以下のインフラストラクチャとクラウドサービスで構成されます。
-
VPC (1つ):Elastic Compute Service (ECS) インスタンスや File Storage NAS などのクラウドリソース用のプライベートネットワークを作成します。
-
vSwitch (2つ):2つの File Storage NAS ファイルシステムを同じネットワークに接続して通信できるようにし、ネットワークの分離を提供します。
-
File Storage NAS ファイルシステム (2つ):同一リージョン内の異なるゾーンにある 2つの NAS ファイルシステムが、高性能、高可用性のストレージを提供します。プライマリファイルシステムに障害が発生した場合、スタンバイファイルシステムに切り替えてサービス継続性を確保できます。
-
ECS インスタンス (1つ):rsync ツールとスケジュールされたタスクを使用して増分データを移行し、2つの File Storage NAS ファイルシステム間でデータを同期し、データ整合性を確保します。
ソリューションのデプロイ
このチュートリアルでは、中国 (香港) リージョンの香港ゾーン B にある汎用 NAS ファイルシステムをプライマリシステムとして、ディザスタリカバリソリューションを構築します。設定の詳細は、次の表のとおりです。
|
パラメーター |
プライマリファイルシステム |
DR ファイルシステム |
|
リージョン |
中国 (香港) |
中国 (香港) |
|
ゾーン |
香港ゾーン B |
香港ゾーン D |
|
VPC |
test01 |
test01 |
|
vSwitch |
test1 |
test2 |
ステップ 1:DR ファイルシステムの作成
まず、ディザスタリカバリ (DR) 用のファイルシステムとして機能する、汎用 NAS ファイルシステムを作成します。この DR ファイルシステムは、プライマリファイルシステムと同一リージョン内の異なるゾーンに配置し、仕様とプロトコルタイプを同じにする必要があります。
-
NAS コンソール にログインします。
-
概要 ページの [ファイルシステム選択ガイド] セクションで、[汎用NAS] の下の [作成] をクリックします。
-
作成 パネルで、次の主要なパラメーターを設定します。他のすべてのパラメーターは、プライマリファイルシステムと同じ設定にします。詳細については、「ファイルシステムの作成」をご参照ください。
パラメーター
説明
リージョン
プライマリファイルシステムと同じリージョンを選択します。このチュートリアルでは、中国 (香港) を使用します。
ゾーン
プライマリファイルシステムとは異なるゾーンを選択します。このチュートリアルでは、香港ゾーン D を使用します。
VPC
プライマリファイルシステムと同じ VPC を選択します。このチュートリアルでは、test01 を使用します。
vSwitch
VPC 内の vSwitch を選択します。このチュートリアルでは、test2 を使用します。
-
今すぐ購入 をクリックし、プロンプトに従って購入を完了します。
ステップ 2:移行システムのデプロイとデータ移行
DR ファイルシステムを作成したら、DR ファイルシステムとプライマリファイルシステムの両方を同じ ECS インスタンスにマウントします。次に、rsync ツールを使用してデータを移行し、増分更新用のスケジュールされたタスクを設定します。
NFS ファイルシステム
-
プライマリおよび DR の NAS ファイルシステムのマウント
ECS コンソール にログインし、インスタンスの作成 をクリックして、[カスタム起動] ページで次の設定を行います。
-
リージョン:NAS ファイルシステムが配置されているリージョンを選択します。このチュートリアルでは、中国 (香港) を使用します。
-
ネットワークとゾーン:NAS ファイルシステムと同じ VPC を選択します。同じ vSwitch を選択することを推奨します。
-
インスタンスタイプ:通常、低スペックのインスタンスで十分です。
-
イメージ: CentOS を選択します。このチュートリアルでは、CentOS 7.6 を例として使用します。
-
ストレージ: [Elastic Ephemeral Disk | File Storage NAS | Dedicated Block Storage Cluster (Optional)] をクリックし、次に [ファイルシステムの追加] をクリックします。プライマリと DR の両方の NAS ファイルシステムの設定を追加します。例については、次の図をご参照ください。

ECS インスタンスが作成されると、プライマリと DR の NAS ファイルシステムがマウントされます。次のコマンドを実行して確認します:
mount | grep nas.aliyuncs.comマウントが成功すると、プライマリファイルシステムが
/mnt/srcディレクトリに、DR ファイルシステムが/mnt/dstディレクトリにマウントされていることが出力に表示されます。
-
-
移行ツールのインストール
sudo yum install -y rsync -
既存データの移行
-
DR ファイルシステムにディレクトリを作成します。たとえば、
dst/backupsystemディレクトリを作成します。mkdir /mnt/dst/backupsystem -
プライマリファイルシステムから DR ファイルシステムの
backupsystemディレクトリにデータを移行します。rsync -avP /mnt/src/ /mnt/dst/backupsystem/
-
-
増分データの移行
既存データの移行中に、他の ECS インスタンスで実行中のアプリケーションがプライマリファイルシステムに書き込みを行った場合、最初の移行が完了した後に、新しい増分データを同期する必要があります。
rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/rsync は最初にソースパスをスキャンするため、増分データが少量であってもコマンドの実行が遅くなる可能性があります。
警告--delete オプションは、プライマリファイルシステムから削除されたデータを DR ファイルシステムからも削除します。意図しないデータ損失を避けるため、このオプションは注意して使用してください。安全策として、両方のファイルシステムでごみ箱機能を有効にすることができます。誤ってファイルを削除した場合でも、NAS のごみ箱からファイルとそのメタデータ (UID、GID、ACL など) を復元できます。詳細については、「ごみ箱」をご参照ください。
-
増分データ移行のスケジュールされたタスクの設定
crontab を使用して、増分移行のスケジュールを設定します。
-
次のコマンドを実行して crontab エディターを開きます:
crontab -e -
増分移行のスケジュールを設定します。
次のエントリを crontab に追加します。この例では、30 は分、00 は時を表し、増分移行が毎日 00: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 ファイルシステム
-
プライマリおよび DR の NAS ファイルシステムのマウント
ECS コンソール にログインし、インスタンスの作成 をクリックして、[カスタム起動] ページで次の設定を行います。
-
リージョン:NAS ファイルシステムが配置されているリージョンを選択します。このチュートリアルでは、中国 (香港) を使用します。
-
ネットワークとゾーン:NAS ファイルシステムと同じ VPC を選択します。同じ vSwitch を選択することを推奨します。
-
インスタンスタイプ:通常、低スペックのインスタンスで十分です。
-
イメージ: Windows Server を選択します。このチュートリアルでは、Windows Server 2019 を例として使用します。
-
ストレージ: [Elastic Ephemeral Disk | File Storage NAS | Dedicated Block Storage Cluster (Optional)] をクリックし、次に [ファイルシステムの追加] をクリックします。プライマリと DR の両方の NAS ファイルシステムの設定を追加します。例については、次の図をご参照ください。

-
パブリック IP:[パブリック IPv4 アドレスの割り当て] を選択して、移行ツールをダウンロードできるようにします。
ECS インスタンスが作成されると、プライマリと DR の NAS ファイルシステムがマウントされます。次のコマンドを実行して確認します:
net useマウントが成功すると、プライマリファイルシステムが X ドライブに、DR ファイルシステムが 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 に変更します。
-
-
既存データの移行
コマンドプロンプトウィンドウを開き、次のコマンドを実行してプライマリファイルシステムから DR ファイルシステムにデータを移行します。
cd c:\cwRsync rsync.exe -avP /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-groupX と Y を実際のドライブ文字に置き換えます。
説明デフォルトでは、Alibaba Cloud SMB はアカウント権限設定をサポートしていません。SMB AD/ACL を有効にしている場合は、
--no-perms、--no-owner、または--no-groupオプションを使用する必要はありません。 -
増分データの移行
rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:\rsync.logrsync は最初にソースパスをスキャンするため、増分データが少量であってもコマンドの実行が遅くなる可能性があります。
警告--delete オプションは、プライマリファイルシステムから削除されたデータを DR ファイルシステムからも削除します。意図しないデータ損失を避けるため、このオプションは注意して使用してください。安全策として、両方のファイルシステムでごみ箱機能を有効にすることができます。誤ってファイルを削除した場合でも、NAS のごみ箱からファイルとそのメタデータ (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:\rsync.log -
増分移行のスケジュールを設定します。
-
[コントロール パネル] を開き、[システムとセキュリティ] をクリックし、[管理ツール] セクションの [タスク スケジューラ] をクリックします。
-
[タスク スケジューラ] ウィンドウで、 を選択します。
-
[全般] タブをクリックし、スケジュールされたタスクの [名前] を入力して、[ユーザーがログオンしているときのみ実行する] を選択します。
-
[トリガー] タブをクリックし、[新規] をクリックします。[タスクの開始] ドロップダウンリストで [スケジュールに従う] を選択します。タスクの頻度を [毎日] に設定し、実行時間を指定します。[詳細設定] セクションで、[有効] が選択されていることを確認します。[OK] をクリックします。
-
[操作] タブをクリックし、[新規] をクリックします。[操作] ドロップダウンリストで [プログラムの開始] を選択します。[プログラム/スクリプト] フィールドで、「スクリプトファイルの作成」ステップで作成した
dailyrsync.batスクリプトファイルを選択します。[OK] をクリックします。 -
[OK] をクリックします。
-
ECS インスタンスを再起動して結果を確認します。
システムに次の情報が表示された場合、スケジュールされたタスクは正常に実行されています。

タスクが正常に実行された後、C ドライブの
rsync.logファイルで、最後の増分コピーの出力を確認します。
-
-
ステップ 3:切り替え
切り替えを実行するには、すべてのアプリケーションシステムに DR ファイルシステムをマウントします。
NFS ファイルシステム
この例では、Linux ベースのアプリケーションシステムに DR NFS ファイルシステムをマウントする方法を示します。NAS ファイルシステムのマウントに関する詳細については、「マウントシナリオ」をご参照ください。
次のコマンドを実行して、DR ファイルシステムの backupsystem ディレクトリをアプリケーションシステムにマウントします。
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <<mount_target>>:/backupsystem <<local_directory>>
次のパラメーターを実際の値に置き換えます:
-
<<mount_target>>:DR ファイルシステムのマウントターゲット。
-
<<local_directory>>:DR ファイルシステムをマウントするアプリケーションシステム上のローカルディレクトリ (例:
/mnt)。マウントが成功すると、このディレクトリのデータは、最後の増分スケジュールされたタスクが完了した時点まで同期されます。
SMB ファイルシステム
この例では、Windows ベースのアプリケーションシステムに DR SMB ファイルシステムをマウントする方法を示します。NAS ファイルシステムのマウントに関する詳細については、「マウントシナリオ」をご参照ください。
net use Y: \\<<mount_target>>\myshare
次のパラメーターを実際の値に置き換えます:
-
<<mount_target>>:DR ファイルシステムのマウントターゲット。
-
Y: DR ファイルシステムがマッピングされるドライブ文字。マウントが成功すると、このドライブのデータは、最後の増分スケジュールされたタスクが完了した時点まで同期されます。
-
myshare:SMB 共有名。この名前は変更できません。
まとめ
このチュートリアルでは、次の方法を説明しました:
-
スケジュールされたタスクを設定して増分データを移行する。
-
アプリケーションシステムでファイルシステムを切り替える。