BLOG

2台のWindows 2012 Serverでストレージレプリケーションを行う

ws2012_logo

前回の記事ではWindows 2012 Serverを使って、
NFSサーバーとデータ重複除去ストレージを構築しました。

※2013/7/30 記事内容更新: パフォーマンスベンチマーク結果を追加しました。

Linuxでこの技術が実用段階となるのはもう少し先で、
今年に入ってからExperimentalですがBtrfsで重複排除が実装されました。
またZFSでは早い時期からサポートはしているものの、
メモリ負荷が高かったり、速度が遅かったりとまだまだ課題がありそうです。

さて、今回は前回の続きでDFS-Rという機能を使い、
前回構築したNFS+重複排除ストレージにレプリケーション機能を追加します。
DFS-RはDFSを拡張した非同期レプリケーション機能で、
2つのサーバー間のコピーは圧縮されてデータのやり取りが行われており、
災害対策用としても利用できそうです。
尚、前提条件として2台のサーバーとActive Directoryに参加している必要があります。

 

■ サーバー設定(両方のサーバーで実施)

・DFSレプリケーションをインストール
WS000121
画面左下のアイコンから、サーバーマネージャーを開き、
ダッシュボードから「役割と機能の追加ウィザード」を選択します。

WS000125
「サーバーの役割」タブから、
ファイルサービスおよび記憶域サービス → ファイルサービスおよびISCSIサービスと進み
DFSレプリケーションを選択してインストールまで進めます。

 

■ サーバー設定(いずれか片方のサーバーで実施)

・DFSレプリケーションの設定
DFSレプリケーション設定を行うため、DFSの管理を起動します。

WS000190
サーバーマネージャーの右上にあるツールメニューから、DFSの管理を選択します。

WS000191
上記DFSの管理画面が表示されたら、
右側のメニューより新しいレプリケーショングループを押下し、ウィザードを起動します。

WS000192
このような画面が表示されます。
今回は双方向でのレプリケーションを実現したいと思いますので、
下にあるデータ収集用のレプリケーショングループを選択します。

WS000194
続いてレプリケーションの名称を入力しますので、今回はreplicationと入力します。
また一番下では双方のサーバーが参加しているADドメインを入力します。

WS000195 WS000196
次はブランチサーバーの選択です。
DFS-Rではブランチサーバー(コピー元)とハブサーバー(コピー先)に分かれますが、
ここではコピー元となるブランチサーバーを選択します。
また次の画面ではレプリケーションを行うフォルダを選択します。

WS000198 WS000203
コピー先となるハブサーバーも同様に行います。

WS000204
2つのサーバー設定が完了すると、レプリケーションポリシーを設定します。
この設定は後から設定する事ができます。
例えば月曜日の早朝はバッチ処理が多いため、
レプリケーションの帯域を絞りたいなど日別時間別で細かく設定が可能です。

WS000205 WS000206
以上により設定が完了となります。
あとはクライアントからNFS経由等でファイルをコピーしてみてください。
無事にレプリケーションがされているでしょうか?

・レプリケーション状況の確認
コマンドプロンプトより以下のコマンドを実行する事で、レプリケーション状況の確認ができます。

dfsrdiag.exe ReplicationState

WS000210
上記内容で表示されます。

 

■ 速度パフォーマンス
以下の環境で計測を行い、シーケンシャル書き込み速度の測定を行いました。
※2013/7/30内容を追加しました。

役割 ハードウェア名称 CPU CPU周波数
NFSホスト1番 PowerEdge R805 Quad-Core AMD Opteron(tm) Processor 2376 2.3GHz
NFSホスト2番 PowerEdge R805 Quad-Core AMD Opteron(tm) Processor 2376 2.3GHz
NFSクライアント PowerEdge 860 Intel(R) Xeon(R) CPU X3210 2.13GHz
$ time dd if=/dev/zero of=./test.img bs=10M count=1000
1000+0 records in
1000+0 records out
10485760000 bytes (10 GB) copied, 479.955 s, 21.8 MB/s

real    7m59.996s
user    0m0.005s
sys     0m20.143s

$ time dd if=/dev/zero of=./test2.img bs=10M count=1000
1000+0 records in
1000+0 records out
10485760000 bytes (10 GB) copied, 495.454 s, 21.2 MB/s

real    8m15.539s
user    0m0.006s
sys     0m19.732s

$ time dd if=/dev/zero of=./test3.img bs=10M count=1000
1000+0 records in
1000+0 records out
10485760000 bytes (10 GB) copied, 516.138 s, 20.3 MB/s

real    8m36.187s
user    0m0.004s
sys     0m19.606s

今回の速度計測では20MB/sほど出ている事を確認しました。

 

■ レプリケーションソフトウェアの比較
今回紹介したWindowsでのDFS-R以外に、
LinuxではlsyncやDRBD等を用いたレプリケーションが有名です。
DRBDやDFS-Rはブロック単位でレプリケーションしていますので、
レプリケーションにかかる時間がファイル点数に依存せず高速にコピーを完了する事ができます。

OS 代表ソフトウェア レプリケーション単位 レプリケーション方法 双方向書き込み 差分転送 圧縮機能
Linux lsync ファイル単位 非同期
(15秒おき実行)
× ×
Linux rsync+ssh ファイル単位 非同期
(手動実行)
×
(要バッチ)
Linux DRBD ブロック単位 非同期/同期
(要対応FS)

(有料版)
Windows DFS-R ブロック単位 非同期

 

今回は異なるサーバー同士でストレージレプリケーションを行う方法について紹介しました。
一昨年発生した震災の影響もあってBCPを見直す企業が増えてきていますが、
その中で選択肢が増える事は良い事です。

次回はBCP続きのお話として、
セミナーでMicrosoftの方が災害対策用途としても使えるとおっしゃっていた
Windows Server 2012の新機能、HyperVレプリカについて書いてみたいと思います。

Tweet about this on TwitterShare on FacebookShare on Google+