1年くらい記憶域レプリカを使ってみたのでその感想を書いてみようと思いました
記憶域レプリカとは、Windows Server 2016で新たに登場した機能です
サーバー間、もしくはクラスター間で「同期」もしくは「非同期」でレプリケーションを実施します
サーバー障害や災害時にソースサーバーの切替を実施することで、データ損失なく正常なサーバーへの切替が可能です
(※ データ損失なしは同期レプリケーションの場合)
https://learn.microsoft.com/ja-jp/windows-server/storage/storage-replica/storage-replica-overview
構成
ファイルサーバーの災害対策として利用することを目的にしています
ソースサーバー:レプリケート元のサーバー
ターゲットサーバー:レプリケート先のサーバー
データ領域(Dドライブ)をレプリケートします
使ってみた感想
実運用には不安が残るので、あまり積極的に使用したい機能ではないなと思いました
理由は下記の通りです
・レプリケートが正常に行われていることがわかりづらい
・同期レプリケーションが重すぎて使い物にならない
・障害時の切替に手間がかかる
・ネット上で記憶域レプリカに関する情報が少ない
それぞれもう少し詳しく説明していきたいと思います
レプリケートが正常に行われていることがわかりづらい
記憶域レプリカを設定すると、対象のディスクはターゲットサーバー上で下記のように表示されます
最初、レプリケート失敗しているのではないかと戸惑いました
また、中身も一切見ることができません
そもそもレプリケート先で編集はできるべきではないので仕方ないことなのかもしれません
検証でソースサーバー切替を実施した後や記憶域レプリカの設定を解除した後は、ディスクの中身が見れるようになったのでレプリケートされていること自体は確認できました
また、PowerShellで下記コマンドを使用すれば、継続的にレプリケートできていることは確認できました(「ReplicationStatus」が「ContinuouslyReplicating」になっている)
(Get-SRGroup).replicas ReplicationStatus : ContinuouslyReplicating
ただ、データが洩れなく同期できているかどうかは断定できないです
同期レプリケーションが重すぎて使い物にならない
同期レプリケーション:遅延なしで同期する(データ損失なし)
非同期レプリケーション:遅延ありで同期する(データ損失の可能性あり)
災害時のデータ損失をなくしたかったので、当初は同期レプリケーションを実施していました
が、月に2回程度サーバーがフリーズして強制シャットダウンしないと動かない状況が発生したのでやめました(平常時も、アクセスが集中する時間帯は動作がだいぶ遅かったです)
遠距離だからしょうがないのかもしれませんし、回線自体に問題がある可能性もありますが、非同期レプリケーションに変更したらフリーズすることはなくなり、動作遅延も改善したので同期レプリケーションが重すぎることはわかりました
障害時の切替に手間がかかる
障害時は手動で切り替えるか、事前に自動切替されるよう(名前空間を使うなど)に設定しておく必要があります
また、当環境のようにファイルサーバーでレプリケートしている場合、あくまでデータのレプリケートしかされないのでアクセス権はソースサーバーの切替後に再設定が必要となります
ネット上で記憶域レプリカに関する情報が少ない
比較的新しい機能だからなのか、使い勝手が良くないからなのかわかりませんが、構築や運用に関する情報が少ないです
冗長化の設定なので重要度は高いですし、運用中に別の冗長方法に変更するのも難しいので、情報が少ない方法を選ぶのは避けたほうが良いと考えます
まとめ
記憶域レプリカは実運用で使用するにはリスキーだと思いました
使うとしても下記の場合に限ってが良いかなと思います
・一定期間のサーバー停止が許容できる場合
・一部データ損失があっても構わないので遠隔地へ非同期レプリケーションしたい場合
・近距離エリアで同期レプリケーションする場合
2023/12/17 追記
Windows Server 2025が登場しましたが、記憶域レプリカの圧縮が新機能にありました
どのくらいデータ転送量が減るのかはわかりませんし、現状2025を検証する予定はないですが転送速度が改善されていると良いなと思います!
コメント