通常マシンをエンタープライズストレージとして使用可能にするOpenfiler
システムエンジニアである私は、各種の企業クライアントの求めに応じる形で、これまで様々なストレージを扱ってきた。実際そうした環境で使われている方式は、DAS(Direct-Attached Storage)、NAS(Network-Attached Storage)、SAN(Storage Area Network)、iSCSI(Internet Small Computer System Interface)など様々だ。そしてこれらの実装時にクライアントが選択するのは、EMC、Dell、Hewlett-Packard、EqualLogicなどのベンダから販売されているプロプライエタリ系のストレージ製品となるのが通常である。とは言うものの、この種のデバイスの実体は、ごく一般的なサーバに制御用のオペレーティングシステムと複数のハードディスクを搭載しただけのものでしかない。そのためのオペレーティングシステムとしても、一部ではUnixやLinuxベースのものが使われているのである。それならば、通常のサーバに要件を満たすオペレーティングシステムを搭載することで、ストレージ専用マシンに仕立て上げられるのではなかろうか?
そうした可能性を追究しているうちに見つけたのが、Openfilerという多数のストレージ用プロトコルをサポートしたソフトウェアであり、これに最低限の要件を満たすマシンを組み合わせるとエンタープライズレベルのストレージデバイスが調達できてしまい、実に5,000ドル以上の経費節約が可能となるのだ。
Openfiler は、Xinit Systemsにより2003年に開発された、CentOSおよびrPathベースのネットワークオペレーティングシステムであり、通常のx86-64システムをNASないしSANとして使用可能にさせ、その際には最大60TBまでをサポートできる設計になっている。OpenfilerではWebベースの管理システムが採用されており、NFS(Network File System)3、SMB/CIFS(Server Message Block/Common Internet File System)、WebDAV(Web-based Distributed Authoring and Versioning)、HTTP/1.1、FTP(File Transfer Protocol)、iSCSIなどのプロトコルを用いたストレージシステムの構築と管理が簡単に行える。またRAID(Redundant Array of Inexpensive Disks)を用いたストレージに関しては、0、1、5、6、10レベルでの構成が可能だ。またOpenfilerでは、LDAP(Lightweight Directory Access Protocol)、Active Directory、NIS(Network Information Service)、Hesiodなどの認証機構との統合も可能で、セキュアなストレージアクセスを確保することができる。
通常のエンタープライズストレージと同様、Openfilerにもリカバリ用のスナップショット機能が装備されている。その上Openfilerでは無停電電源装置(UPS:Uninterruptible Power Supply)との統合もサポートされており、これは現状のプロプライエタリ系ストレージですら一般には備えていない特長の1つとなっている。このようにOpenfilerは、プロプライエタリ系製品に遜色ない機能、パフォーマンス、可用性を有しているだけでなく、同等の機能一式をより低コストにて提供できるのだ。
Openfilerを使用するシステムの最小要件は、1GHzのプロセッサ、512MBのRAM、1GBのディスク容量(オペレーティングシステム用)、Ethernetカードの装備というものだが、良好なパフォーマンスを得るには、1.6GHzのプロセッサ、1GBのRAM、2GBのOSディスク容量、Gigabit Ethernetカード、RAIDコントローラの装備が推奨される。そして当然ではあるが、ストレージに使用するディスク群も用意しておかなくてはならない。私の推薦する最低限の構成は、ストレージシステム上にハードウェアまたはソフトウェア方式のRAID 5を構築するというシステムであり、この場合ハードディスクは最低3基が必要となる。最近のハードディスク価格は1TBのSATA(Serial Advanced Technology Attachment)ドライブでも200ドルを切っているので、3ディスク構成のRAID 5という選択肢はそれほどの負担にはならないだろう。RAID 5をサポートした4ポートSATA RAIDコントローラについても、高望みをしなければ100ドル程度の出費で抑えられるはずだ。なおFibre Channelホストバスアダプタ(HBA:Host Bus Adapter)を使用する場合は、事前にハードウェア互換性のリストを確認しておく必要がある。
Openfilerの入手は、開発元のサイトからISO CDイメージをダウンロードできるが、その他にもVMwareアプライアンスが入手できるようになっている。ベアメタルおよび仮想化インストレーションに関する要件の詳細については、Openfilerのシステム要件ページを参照して頂きたい。
インストール
Openfilerのインストール手順はシンプルであり、Red Hat Enterprise Linux(RHEL)やCentOSのインストールと大差ない。ただしハードディスクのパーティションについては、その設定段階において、手作業にて必要な指定をすることになるだろう。ハードディスクパーティションの設定をインストーラ任せにしておくと、複数ディスクで構成された環境ではファイルシステムが分散化させられるのだが、ディスクの1つをOpenfilerの格納先として、残りのローカルディスクをすべてストレージにするという構成の場合、そうしたパーティション設定は手作業で行うしかないのだ。その他に必要なのは、rootパスワードやタイムゾーンなどの情報指定である。なおOpenfilerのインストール完了後はWebベースの管理システムを使用することになるので、IPアドレスについては動的な割り当てでなくインストール時に静的な指定をしておく方が便利だろう。
これら必要な情報の指定が終わるとOpenfilerのインストール作業は最後まで自動で進行し、その間にユーザによる設定やパッケージ選択が求められることはない。本稿の執筆用に私が用意した試験システムは、Athlon X2 4400デュアルコア、2GBのメモリ、250GBのSATAディスク3基という構成である。そしてOpenfiler本体は、6GBの仮想ハードディスクを3基装備したVMware Workstationの仮想マシン上で実行させている。もっともこの構成ではハードウェアRAIDを使用できないので、今回は2基の仮想ディスクを用いてソフトウェアRAID 1をセットアップしておいた。
Openfilerの設定と管理
OpenfilerへのアクセスはWebベースの管理システムで行うようになっており、具体的な操作としては、通常のWebブラウザにて“https://hostname:446”という形式のアドレスを指定すればいい。このようにOpenfilerでは、SSL(Secure Sockets Layer)セッションおよびポート446が使用されるようになっている。ログイン画面では、デフォルトのユーザ名である“openfiler”およびデフォルトのパスワードである“password”を入力すればいいが、こうした管理用のユーザ名とパスワードについてはネットワークストレージを新規作成する前にデフォルト値から変更しておくべきであり、そのための操作は、管理用のWebページ上部にあるSystemsメニューにて行えるようになっている。
ストレージボリュームを作成するには、まずVolumesタブに移動する。ここではディスクが1つも構成されていない状況を想定しているので、Block Devicesをクリックしてディスクの構成を行う。これにより、物理ディスクの指定が求められる。私のシステムの場合は、sda、sdb、sdcの3つが提示されたが、今回はsdbとsdcを構成することにした。こうしたディスクは、物理ディスクだけでなくアレイ番号を指定することもできる。今回はソフトウェアRAID 1をセットアップするので“member of an array”オプションを選択しておいた。
アレイメンバオプションを指定したsdbとsdcに対しては、ソフトウェアRAIDの設定を行わなくてはならない。ここで提示される選択肢はRAID 0、1、5、6、10であるが、この場合はディスクが2基しかないので、RAID 1を選択してそのメンバにsdbおよびsdcを登録しておいた。なおスペアに使えるディスクが存在する環境の場合は“member”でなく“spare”の指定をすることもできる。構成に必要な設定の完了後は、RAIDグループが100パーセント同期するまで待機しなければならない。
次にVolumesセクションに移動して、右側に表示されるメニューオプション群の中から、新規作成ボリュームの追加を行うAdd Volumeオプションを選び、先に作成しておいたRAID 1を選択して1つの論理ボリュームを構築する。論理ボリュームの作成時には、ファイルシステムのオプションとして、XFS、ext3、iSCSIが提示される。今回私は、SMB、WebDAV(NAS)、iSCSI(SAN)に関するテストを実行したかったので、SMBおよびWebDAV用の1GB XFSボリュームと2GB iSCSIボリュームという、2つの論理ボリュームを作成しておいた。なお、共有作成が可能なのはXFSまたはext3ボリュームだけであり、iSCSIボリュームでは行うことはできない。
論理ボリュームの作成後は、SMBおよびWebDAVに関する共有作成を行う。そのための操作としては、Sharesタブに移動して、先に作成しておいた論理ボリュームを選択してから、その中に共有用フォルダを作成すればいい。このフォルダについては、SMB、NFS、WebDAV、rsyncを用いた共有が行える。ただしこれらのプロトコルを用いたフォルダ共有を行うには、事前にServicesタブにて該当するサービスが有効化されていることを確認しておかなくてはならない。その他には、各自のストレージリソースに対してアクセス可能なネットワーク/ネットワークホストをストレージシステムに対して指定するネットワークアクセスリストを最低1つ用意しておく必要がある。リスト未登録のネットワークエントリについては、当該ストレージに関するすべてのネットワークアクセスが、Openfilerストレージシステムによって拒絶されるようになる。ネットワークアクセスリストの登録は、System Sectionにあるネットワーキング設定に移動して、該当するネットワークセグメントないしホストを入力すればいい。
今回私は、後で作成する予定のストレージ共有へのアクセス権を、ローカルサブネット192.168.100.0/24に与えておいた。こうしたリソースの共有についてはPublic AccessおよびControlled Accessという2つのオプションが存在する。Public Accessを使用するのは、ネットワークアクセスリストを基にしたアクセスだけを行わせる場合である。Controlled Accessを使用するのは、LDAPやActive Directoryなどの認証機構を介して、ユーザやグループ単位のアクセスを行わせる場合である。今回私はPublic Accessを選択した。なお各自が設定したローカルサブネットについては、SMBおよびWebDAVを用いた読み込み/書き込み(RW:Read/Write)アクセスを許可しておかなくてはならない。
次に、iSCSIボリュームの設定を行う。ここでは、当該サービスのiSCSI Targetを有効化しておかなければならない。それにはVolumesタブにあるiSCSI Targetに移動して、Openfilerをターゲットとして追加しておく。その他のiSCSI設定について変更可能な項目もあるが、今回はそのまま使用することにした。最後に論理ユニット番号(LUN:Logical Unit Number)マッピングの設定に移動して、各自の作成したiSCSIボリュームへのバインドを行う。
必要な設定は以上で終了である。このようにOpenfilerを使用すれば、ごく簡単な設定手順を経るだけで、エンタープライズストレージをセットアップできてしまうのだ。設定に関して不明な点があれば、Openfilerのオンラインマニュアルやフォーラムが参考になるだろう。その他に有償の管理者用ガイドも提供されているが、これを利用するには88ドル程度のコストがかかる(本稿執筆時の為替レート換算)。また登録制のテクニカルサポートも用意されているが、こちらは148ドルから3,427ドルに至る複数の料金体系に分かれている。もっともOpenfilerの使用についてはそれほど難しい点はないので、ミッションクリティカルなソフトウェアを運用したり、24時間態勢のサポートを確保したい場合を除いて、テクニカルサポートを申し込む必要性は特にないであろう。また仮にこうした有償サポートへの支払いを選択したとしても、プロプライエタリ系のストレージハードウェアを購入するよりもOpenfilerを利用する方が、多くのケースにおいてコスト的に有利なはずである。
ストレージへの接続
設定の完了した新規の共有ボリュームに対しては、クライアントからの接続が可能になっている。今回私は、共有フォルダのマッピングによるSMB接続を試してみた。そのマッピングは「\\host/physicalvolumename.logicalvolumename.sharedfolder」というフォーマットにて行う。例えば\store1\nas\test1という共有フォルダへのアクセスには\\192.168.100.50\store1.nas.test1を使用することになる。
WebDAV接続の場合は、これと異なるアドレス指定法が適用される。例えば先のSMBと同じ共有フォルダにアクセスするのであっても、ブラウザに指定するアドレスはhttps://192.168.100.50/mnt/store1/nas/test1というフォーマットになるのだ。
iSCSIボリュームに関しては、クライアントマシンにiSCSIイニシエータをインストールしておかなくてはならない。実際私がWindowsクライアントからの接続を試みた際にも、Windows用の最新版iSCSIイニシエータのダウンロードとインストールが必要となった。次にiSCSIターゲットのアドレスとして192.168.100.50を入力する。なお今回のテストにてOpenfilerのiSCSI設定は何も変更していないので、ここでの設定はデフォルト値をそのまま使用している。後はターゲットアドレスにログオンし、接続の確立後にWindowsのディスク管理を確認すれば、2GBのiSCSIボリュームはそのまま利用可能となっているはずだ。
iSCSIプロトコルではSANテクノロジが使用されているので、この状況下で接続されたiSCSIボリュームは通常のディスクと同様に表示され、一般的なディスク操作のすべてが行えるようになっている。これとは対照的に、SMBなどのNASプロトコルはファイルベースであるため、ボリューム単位でなくファイル単位の操作が行える。
エンタープライズストレージソリューションとしてのOpenfiler
Openfilerに装備された機能とその完成度を総合すると、非常に優れたエンタープライズストレージソリューションであると評していいはずだ。サーバハードウェアとしては、Pentium 4以上のCPU、4基のSATAディスク、RAIDコントローラ、Gigabit Ethernetカードの装備が必要であるが、この程度のスペックのマシンは1,000ドル以下で入手可能であり、それだけの出費でNASとSANの双方をサポートした実用レベルのストレージシステムを構築できるのである。またOpenfilerは認証機構をサポートしているため、ストレージへのアクセス管理も簡単に行えるし、プロプライエタリ系のストレージシステムであっても標準装備されているとは限らないUPS機能をサポートしているのだ。その他にもスナップショット機能を有しているため、障害発生時のストレージ復旧が速やかに行えるようになっている。
実際これまでのところ、私が運用しているネットワークにおいてOpenfilerは安定して動作しており、果たすべき役割を遺漏なくこなしているのである。