前回、Windows Serverを2台使用してiSCSI TargetとiSCSIイニシエータの設定をして仮想ディスクをマウントしました。
今回は、Windows Server上にiSCSIで接続されたディスク2台をマウントしてミラーボリュームを作成していきたいとおもいます。
ミラーボリュームとは
ミラーボリュームはディスクのRAID構成の一種でRAID1の別名になります。
ミラーディスクは2台のディスクで構成されます。
すべてのディスクに同じ内容を書き込むため、1台のディスクが壊れてもデータがロストしません。
通常のRAIDであれば、ディスクの書き込み制御にハードウェアRAIDコントローラを使用していますが、Windowsでミラーボリュームを作成する場合はソフトウェアRAIDコントローラとなります。
ソフトウェアRAIDはハードウェアRAIDに比べ、ディスクのR/W性能が低下する場合があります。
ミラーボリュームの作成

ミラーボリュームを作成するWindows Serverより、[ディスクの管理]を選択します。
今回は、[ディスク2]と[ディスク3]でミラーボリュームを作成していきます。
わかりにくいですが、ディスク3が自身のローカル、ディスク2がリモートのディスクとなります。

iSCSIイニシエータ的にはこのような設定になっています。

[ディスク2]に接続されているvHDDの容量はミラー構成前で36MBとなっています。

[ディスクの管理]より、未割り当てのディスクを右クリックし、[新しいミラーボリューム]を選択します。
どちらから作成しても同じですが、気分的に自分のローカル側のディスクから操作を開始しました。

[新しいミラーボリュームウィザードの開始]より、[次へ]を選択します。

[ディスクの選択]より、利用可能なディスクから、ミラーを組むディスクを選択し、[追加]を選択します。

[選択されたディスク]にミラーを組むディスクを移動したら、[次へ]を選択します。

[ドライブ文字またはパスの割り当て]より、以下の設定を行います。
- 次のドライブ文字を割り当てる : ●
- ドライブ文字列 : 任意のドライブレターを選択
設定の完了後、[次へ]を選択します。

[ボリュームのフォーマット]より、以下の設定を行い、[次へ]を選択します。
- このボリュームを次の設定でフォーマットする : ●
- ファイルシステム : NTFS (任意のフォーマットを選択)
- アロケーションユニットサイズ : 既定値
- ボリュームラベル : 任意のボリュームラベルを設定

[新しいミラーボリュームウィザードの完了]より、[完了]を選択します。

ミラーボリュームを作成すると、ディスクの変換が入るため、変換を実行します。

正常に設定がされると、ディスクのフォーマットが始まります。

今回はディスクにiSCSIを使用しているため、フォーマット中は帯域を使用します。
一時的にですが、4Gbps程度の通信が発生しています。

今回は、2台構成のサーバで構成しているため、iSCSIのターゲット側では同じように3~4Gbpsの受信が発生しています。
そのため、iSCSIの通信はiSCSI用のNICから別の経路で流した方が良さそうですね。

ミラーディスクが作成されると、Windows Serverは赤色の帯でディスクが表示されます。
ミラーディスクが正常となっていることを確認します。
以上でミラーディスクの作成は完了です。
ミラーディスクでW/Rの実験をする
ここからは、完全に興味本位の内容となるため、読み物としてお付き合いください。

ミラーボリュームを作成しましたが、Windowsのエクスプローラ上だと通常のパーティションディスクにように見えます。
ディスクの管理から出ないとミラーされていることは分かりません。

このミラーボリュームに大きなファイルを置いてみます。
今回はテストとしてWindows10のISOファイルを置いてみました。
簡易な構成ですが、検証のNWは物理1Gのネットワークを使用しています。
そのため、転送速度の実行値は最大で125MB/sぐらいだと思います。
今回の転送速度を見る限り、80%程度の性能で転送できています。

NASからデータを受信しているのと、iSCSIのターゲットへデータをミラーしているため、送信も上がっています。

逆にiSCSIのターゲット側から見ると受信が1.2Gbpsぐらい出ています。
あくまで推察ですが、NAS→ServerはGbEのためそこの転送速度がボトルネックになっているものと思われます。
そのため、Hyper-V上でNASを作成してHyper-V内で完結する環境を整えればもう少し転送速度は上がると思います。
ただ、そうすると今度はHyper-VホストのディスクIOがボトルネックになる気がしています。
やっぱりデータの転送は難しいです。
データ削除時の挙動
前項ではデータの追加を行いました。

Windowsのisoファイルは4GB程度のため、順当に使用率は上がっています。

iSCSIターゲット側のvHDDも同じように4GB程度の使用量です。
ここで、追加したisoファイルを削除してみます。

4GB程度のisoファイルはゴミ箱に移動できないので、直接削除を行います。

削除をしたときのミラーディスクを構成しているサーバですが、帯域は消費しませんでした。

容量は確実に減っていますが、ファイルの削除では追加のようにデータを転送する必要がないため、削除命令を出して各々のローカル側で勝手に削除がされるんだろうなーと勝手に想像しました。
間違っていたら教えてください。
以上で、検証は終了です。
まとめ
今回は、iSCSIをマウントしたディスクを使用してWindows Serverのミラーボリュームを作成しました。
結論から言うと、ミラーを行う場合はiSCSIのネットワークをサービス提供を行うLANから切り離し、iSCSI専用のNWを組むとサービス側への影響が少なります。
まぁ、ごもっともな話、iSCSIでミラーボリュームを組むのではなく、VSSでデータを退避した方が簡単だと思いますが。。。
ここについては、RAIDとシャドーコピーなのでそもそも機能が異なるため、単純比較はできませんが・・・
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
コメント