新しい会話を開始

未解決

2 Intern

 • 

532 メッセージ

32

2024年6月3日 11:48

Unityのデータ移行中のレプリケーションについて

サーバ経由でUnityにデータ移行を予定しています。Unityでリモートレプリケーションを実施

しているのですが、コピー帯域はデータ移行>>レプリとなっています。データ移行中はレプリも並行して動作させる予定です。レプリは非同期でコピーの間隔はデフォルト(60分)です。

そこで質問です。

データ移行の初期コピーが1~2か月間続き、レプリの差分が溜まり続ける状況でレプリの動作に問題はありますでしょうか。

Community Manager

 • 

5.1K メッセージ

2024年6月4日 04:31

データ移行の初期コピーが1~2か月間続き、レプリの差分が溜まり続ける状況でレプリの動作に問題はありますでしょうか。

Unityレプリケーションの動作理論上問題ありません。
毎回レプリケーションはRPOの60分内に終わらないかもしれませんが、それでもレプリケーションが完了したらすぐに次のレプリケーションが走るというような動作を繰り返します。

 

「差分が溜まり続ける」については、それぞれのレプリケーション完了までの時間が長くなることが想定されるために心配されているのかと思いますが、データ移行ということなのでおそらく既存データの上書きではなく、新規データの書き込みが多いことと想定されます。
そのような環境では、レプリケーション開始時に作成されたベーススナップショットがドライブ容量を使い保持するデータはRedirect on Write(ROW)されたデータ、つまり既存のデータに上書きされたデータの上書き前データなので、(既存のデータが存在しない)新規データ書き込みに対してはスナップショット容量は増加しません。
そのために、特にシビアに考える必要はないでしょう。

2 Intern

 • 

532 メッセージ

2024年6月4日 11:59

ちょっと記載間違いがありました。

データ移行の初期コピーは数日でその後、差分同期を1か月程度続ける想定で、そこそこ更新量が多いためRPOの60分でレプリが終わらないケースが長期間続くと考えています。

Unityのレプリケーションの動作としてはRPOが守れない状況が長時間続いても問題ない認識で合っていますでしょうか。何か気にしておくことはありますでしょうか。

ちなみにレプリケーションとしては新規データよりは既存データの更新が多いと考えています。

Community Manager

 • 

5.1K メッセージ

2024年6月4日 23:35

Unityのレプリケーションの動作としてはRPOが守れない状況が長時間続いても問題ない認識で合っていますでしょうか。何か気にしておくことはありますでしょうか。

RPOが守れない場合には次のレプリケーション処理の開始がキューイングされるだけなので特に問題はありません(想定されている動作です)。

 

2 Intern

 • 

532 メッセージ

2024年6月5日 11:26

ご回答ありがとうございます。質問ばかりですみません。

細かい話ですみませんが、スナップショットはレプリ開始時に作成すると思いますが、RPOが守られなかった次のレプリの時も開始時にスナップが作成される、で合っていますでしょうか。(RPOが守れない場合、RPOの間隔でスナップが作成されるといった挙動ではないと考えています。)

あと、RPOが守られなかった場合、Unityにアラートは上がるのでしょうか。

上がるとするとRPOが守られないことが確定したタイミングか、レプリが終わったタイミングになるのでしょうか。

長期間RPOが守られない状況で、RPOが守られるようになったことを察知したいのですが、何か良い方法はありますでしょうか。

Community Manager

 • 

5.1K メッセージ

2024年6月6日 01:01

スナップショットはレプリ開始時に作成すると思いますが、RPOが守られなかった次のレプリの時も開始時にスナップが作成される、で合っていますでしょうか。

はい。合っています。
RPOを守れた、守れなかったに関わらずレプリケーション開始時に静止点作成のためにスナップショットが作成されます。

 

 

RPOが守られなかった場合、Unityにアラートは上がるのでしょうか。

アラートは上がりません。
(レプリケーションは問題なく動作していると判断されているからだと思います)

 

[参考]
unity レプリケーションについて

 

 

長期間RPOが守られない状況で、RPOが守られるようになったことを察知したいのですが、何か良い方法はありますでしょうか。

Time Of Last Syncの時間を何度か確認するのが良さそうです。

 

確認された時刻よりもRPO以内の時刻がTime Of Last Syncに入っていること、プラスそのTime of Last SyncにRPO時間を足した時刻に再度確認をしてみて、そこでも同じようにRPOが守られていることが確認できれば(少なくとも前回のレプリケーションでは)RPOが守られていることが分かります。

 

[参考]
Unityにおけるレプリケーション完了の確認方法について

イベントは見つかりませんでした!

Top