DRBD+iSCSI夢の共演(前編)
〜 Windowsドライブをミラーリングで保護 〜
Linux上で動作するオープンソースソフトウェア「DRBD」とiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう(編集部) |
株式会社サードウェア
岩崎 登
2008/8/4
Linux上で動作するオープンソースソフトウェア「DRBD」では、ミラーリングによって企業内のさまざまなデータを保護することができる。これに、ハイパフォーマンスなiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう。
ネットワークミラーリングを実現するDRBD
Distributed Replicated Block Deviceの頭文字を取り「DRBD」と呼ばれるこのアプリケーションは、オーストリアのLINBIT社が開発したミラーリング技術であり、オープンソースとして提供されている。
DBBDはその名のとおり、ハードディスクドライブ(以下HDD)のパーティションをリアルタイムに複製することができるミラーリングシステムだ。主な特徴としては、SCSIケーブルでの直接的な接続やファイバチャネルを使用して接続する従来の方式とは異なり、既存の一般的なTCP/IPネットワーク接続で構成できるネットワークミラーリングシステムであることと、ブロックデバイスとしてファイルシステムより低いレイヤで動作することが挙げられる。
DRBDは、ブロックデバイスとしてファイルシステムとHDDの間に入ることで、ファイルシステムから渡されたブロックデータをそのままミラーリングする。このため、ファイルシステムの影響を受けずに、2台1組でデータをミラーリングすることが可能だ。
さらに、プライマリサーバ(1台目)とセカンダリサーバ(2台目)間のTCP/IP接続が切断された場合でも、プライマリサーバ単体で動作を続けるため、デバイスへのアクセスが停止することはない。セカンダリサーバとのTCP/IP接続が復旧すると、自動的に再同期を行う。また、接続が切断されていた間のデータ変更部分については、自動的に非同期でミラーリングを行うため、運用中にネットワーク障害が発生しても対応できる仕組みを搭載している。
図1 ブロックデータの流れ |
この記事では、ファイルシステムを問わないというDRBDの特徴を生かし、NTFSでフォーマットされているWindows Vista/XP用のボリュームをDRBDでミラーリングするという、ハイアベイラビリティクラスタ(HAクラスタ)環境の構築例を紹介したい。
IPネットワークストレージ「iSCSI」
iSCSI(internet Small Computer System Interface)は、IPネットワークで接続可能なIP-SANストレージ技術だ。
SANといえば従来、ファイバチャネルを利用したSAN(FC-SAN)が多く使用されてきた。またファイバチャネルでは、IPネットワークで接続可能な環境としてFCIPやiFCPも提供されているが、どちらも高価なファイバチャネルスイッチを導入する必要がある。
ファイバチャネルを利用したSANに比べ、iSCSIでは特別な専用機器を必要としないため、既存のネットワーク環境に導入しやすい。また、Windows Vistaから標準でサポートされていることからも注目を集めている。
また、「iSCSIターゲット」といわれる、iSCSIサーバ機能を実現するソフトウェアの中には、オープンソースで公開されているものがある。これを活用すれば、SAN ストレージサーバを低コストで構築できることも魅力的だ。ただ、既存のネットワークに簡単に導入できる半面、セキュリティ面やパフォーマンスでファイバチャネルに劣る面もある。しかし、ボンディングや10Gネットワークなどによる通信の高速化により、パフォーマンスの向上も可能になりつつある。
iSCSIはDRBDと相性がよい。DRBDで構成されたブロックデバイスを、iSCSIで各クライアントに公開することで、クライアントごとに異なるフォーマットを使用している場合でも、ファイルシステムを意識することなくDRBDが一括してミラーリングを行う環境が構築できる。
【関連記事】 http://www.atmarkit.co.jp/fnetwork/tokusyuu/16iscsi/iscsi01.html 特集:最新IPストレージ技術「iSCSI」 |
ミラーリング環境の構築
今回構築する環境は、ストレージサーバとして、プライマリサーバ(IPアドレス:192.168.20.10)とセカンダリサーバ(IPアドレス:192.168.20.20)の2台を用意。プライマリサーバをiSCSIで公開し、セカンダリサーバをバックアップサーバとして構築する。
|
プライマリサーバにはCentOS 5.2/DRBD 8.2.6/scsi-target-utilsをインストールし、セカンダリサーバには、CentOS 5.2/DRBD 8.2.6をインストールする。
図2 今回構築する環境 |
■ミラーリングするパーティションの準備
DRBDの設定を行う前に、DRBDで使用するHDDのパーティションを準備する必要がある。今回の設定では、例として、プライマリサーバ、セカンダリサーバともに、同容量に区切ったパーティション[/dev/sda3]を、fdiskやその他のパーティション管理ツールで用意する。
■名前の解決(/etc/hostsの編集)
DRBDは、ホスト名に基づいてプライマリサーバとセカンダリサーバを認識する。ホスト名が解決できない場合には、エラーが表示されて起動できない。そこで[/etc/hosts]を以下のように編集し、双方から名前が解決できるように設定する。
192.168.20.10 drbdscsi.hogehoge.jp drbdscsi |
■CentOS 5.2にDRBD 8.2.6環境をインストールする
CentOS 5.2には、DRBD 8.2.6のパッケージが標準で用意されており、パッケージ管理システム「yum」を使用することで、簡単にインストールできる。DRBDはカーネルモジュールで動作するため、DRBD本体とカーネルモジュールの2つをインストールすることに注意が必要だ。また、DRBDは2台で1組の構成であるため、プライマリサーバだけでなく、セカンダリサーバにもインストールする。
# yum install drbd82.i386 |
インストール後は、カーネルモジュールを読み込むために再起動を行い、以下のコマンドで正常にカーネルモジュールが読み込まれているかを確認する。
# lsmod | grep drbd |
1/3 |
|
||||||
|
Linux Square全記事インデックス |
Linux Squareフォーラム 仮想化技術関連記事 |
連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
Linux Squareフォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|