2010.01.19
waka

オープンソースで作る共有ファイルシステム:iSCSI+OCFS2(1)

こんにちわ、wakaです。
今回からは弊社の主力業務のひとつであるシステム運用面でオープンソースを活用したピックスを紹介していきたいと思います。
第1回目は共有ファイルシステムについてのお話です。

さて、皆さんファイル共有したいというときには何を使用するでしょうか?
Linuxになじみのある方であればNFS、Sambaあたりを思い浮かべると思います。
いずれもディレクトリ単位でのファイル共有をアプリケーションレイヤで行う仕組みです。
これらはアプリケーションレイヤでのファイル共有システムであるため、最大で60MB/秒ほどの転送速度が限界のようです。

では、データベースサーバーのような高速でのファイルI/O処理を行う必要がある場合のファイル共有はどうしたらよいのでしょうか?
その答えとなるのが今回のトピックスである「共有ファイルシステム:iSCSI+OCFS2」となります。
その名の通りファイルシステムレベルでの共有を行うため、アプリケーションに依存することなく高速な転送速度が期待できます。
しかし、一方ではファイルシステムについての正しい知識・複雑な管理が必要なため敷居が高いのも事実です。

以下に要点をまとめます。

ファイル共有について
(1)NFS(NetworkFileSystem)
現在version4がリリースされている。ディレクトリ・ファイル単位でのファイル共有機能が使用可能。
設定・構築は比較的容易。ファイルI/Oの性能面で厳しい要件が求められない場合は最適。
※version4でのI/O限界値はReadで約80MB/sec、Writeで約60MB/secほど。
(2)Samba
Linux系OSでWindowsファイルサーバーなどとの相互接続を実現するフリーソフトウェア。
ディレクトリ単位でのファイル共有機能が使用可能。

ファイルシステムについて
(1)Linuxローカルファイルシステムとしては通常使用されるのはext2/ext3/ReiserFSあたり?
これらは非共有型のファイルシステムなので無理やり共有して使用するとファイルシステムが壊れる。
(2)共有型ファイルシステムとしてはOCFS2(Oracle Cluster File System)/RedHat GFS/ZFSなど。
共有型ファイルシステムであり、使用用途は様々。GBイーサ環境が安価で構築できるようになり、手間を惜しまなければ低価格の機材構成でオープンソースのみを利用して比較的高性能な共有ファイルシステム環境が構築することができる。

構築について
(1)物理的にもファイルシステムが共有できる必要があるため、今回はiSCSIで複数OSから接続したディスク領域にOCFS2環境を構築する。
(2)構築手順
 ①iSCSI Target サーバー(ディスク領域として接続される側)の構築
 ②iSCSI Client サーバー(接続する側)の構築
 ③Clientサーバー上でiSCSI接続したディスク領域にOCFS2ファイルシステムの構築
 ④共有ファイルシステム動作試験/性能測定
(3)構築例環境
OS:CentOS5.4
<構成図>
blog20100119

今回はここまで、次回からは実際に環境構築していきます。

waka

一覧に戻る