DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、Windows 10/Windows Server環境の「自動データ複製&冗長化システムの作り方」を解説します。
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD(Distributed Replicated Block Device)」を使い、災害対策システムや高可用性WordPressシステムなどを構築するノウハウをお届けする本連載。今回より、基礎編より一歩進んだ「応用ノウハウ」を紹介していきます。
DRBDはLinux上での動作を前提に作られています。しかし、ユーザーが使うクライアントの多くはWindowsだと思います。また社内システムをWindows Server環境で運用するシーンも多く存在します。DRBDはWindows上では動作しませんが、DRBDの仕組みを活用すれば、「Windows環境のデータ」をリアルタイムレプリケーション(複製)するシステムを構築できます。
今回は、この「Windows環境の自動データ複製&冗長化システム」を、DRBDと「iSCSI(Internet Small Computer System Interface)」を組み合わせて構築してみましょう。システム構成は以下の通りです(図1)。
ユーザーは、Windows 10のクライアントPCやWindows Serverなど(以下、Windows環境と記述します)から、普段通りにファイルの読み書きを行います。Windows環境とDRBDが動作するLinuxサーバ(一号機)はiSCSIで接続されており、データはプライマリーサーバである一号機へ保存されます。
Linuxサーバ同士で複製する部分は、これまでの連載で解説してきたDRBDによる冗長化の仕組みと同じです。一号機とセカンダリーサーバである二号機間でリアルタイムにデータが複製されます。また、「Pacemaker」と「Corosync」を併用することで、プライマリーサーバである一号機に障害が発生したら、自動的に二号機をプライマリーサーバに切り替えてサービスを継続する運用も可能になります。
今回のシステム構築においては、iSCSIに関連する用語を幾つか用います。最初にまとめて解説しておきます。
iSCSIとは、コンピュータと周辺機器間でデータをやりとりするインタフェース規格「SCSI(Small Computer System Interface:スカジー)」コマンドを、IPネットワーク経由で送受信するためのプロトコルです。サーバ向けのストレージ専用ネットワーク「SAN(Storage Area Network)」を構築するデータ転送方式の1つとして使われています。iSCSIは、光ファイバーを用いる「ファイバーチャネル(Fibre Channel)」と比べ、既存のIPネットワーク(LANの配線)を併用できることから、導入/運用面のコストメリットが高い特徴があります。
iSCSIの接続先となり、ディスクスペースを提供する側を「iSCSIターゲット」と呼びます。
今回構築するシステム構成では、ディスクスペースとなる実際の保存先がLinuxサーバになりますので、一号機と二号機がiSCSIターゲットとなります。
iSCSIの接続元となるクライアントを「iSCSIイニシエーター」と呼びます。今回のシステム構成では、Windows環境がiSCSIイニシエーターとなります。
iSCSIターゲットとiSCSIイニシエーターを識別するための識別子を「IQN」と呼びます。年、月、IPドメイン名を使用し、「iqn.」で始まる命名方法を採用しています。iSCSIターゲットに接続する時は、iSCSIターゲットのIQNを指定します。本稿では「iqn.2016-04.3ware.co.jp:windows-disk」を例に使いますが、自社の環境に応じて適宜読み替えてください。
「LUN」とは、OSから1台の物理ストレージとして認識される単位のことです。ここでは、iSCSIターゲット側で提供するディスク領域を指します。
これらを踏まえて、前述した図1をiSCSIの役割に読み替えると以下のようになります(図2)。
プライマリーサーバ、セカンダリーサーバは同じIQNを使用します。こうすることで、障害によってシステム上でプライマリー/セカンダリーのサーバ切り替えが発生しても、Windows環境からは常にプライマリーサーバへデータを書き込むように設定できます。また、iSCSIターゲットの起動と停止はPacemakerで制御します。
Copyright © ITmedia, Inc. All Rights Reserved.