Ceph/RADOSのインストール、環境構築と接続テストまで:Ceph/RADOS入門(3)(4/4 ページ)
OpenStack環境で使える分散ストレージとして注目を集めるCeph/RADOS。今回は実際に5台のサーバーを使って分散ストレージ環境を構築、各インターフェースの動作確認までの手順を紹介します。
各インターフェースでの接続を確認してみよう
Ceph Storage Clusterの構築が完了した時点で、3つのプール「data」「metadata」「rbd」が作成されています。
「data」はファイルインターフェースのデータ用、「metadata」はファイルインターフェースのメタデータ用、「rbd」はブロックインターフェースのボリューム用です。
(1)ブロックインターフェースでの接続確認
ブロックインターフェースでの接続を確認します。
rbdコマンドとrbdカーネルモジュールを使用します。まず、rbdカーネルモジュールをロードし、rbdコマンドでボリュームを作成、接続するとブロックデバイスが作成されます。
foo という名前で4096Mバイトの容量のボリュームを作成します。
rbdカーネルモジュールをロードします。
ボリュームfooをクライアントに接続します。
ブロックデバイス/dev/rbd/rbd/fooをアクセスすることでブロックインターフェースが使用可能になりました。
(2)ファイルインターフェースでの接続
次にファイルインターフェースでの接続を確認します。cephカーネルモジュールとmount(mount.ceph)コマンドを使用します。ファイルシステムを構築するステップはありません。
ceph カーネルモジュールをロードします。
クライアントの名前空間の「/mnt/mycephfs」ディレクトリにマウントします。マウント元は「<いずれかのmonitorのIPアドレス>:6789:/」を指定します。
ここではhead-01のIPアドレス(10.100.0.11)を選択します。
現状、一つのCeph Storage Clusterごとに定義できるファイルシステムは一個だけです。また、カーネルモジュール(ceph.ko)を使用するマウントの場合、サブディレクトリをマウント元に指定したマウントはできません。つまり、常にファイルシステム全体をクライアントの名前空間内にマウントします。FUSEを使用するマウント(ceph-fuse)の場合、マウント元にサブディレクトリを(-rオプションで)指定したマウントが可能です。
クライアントから「/mnt/mycephfs」ディレクトリ配下をアクセスすることでファイルインターフェースが使用可能になりました。なお、現状では、ファイルインターフェースはPOSIXセマンティクスからの逸脱があります。詳細はCeph Documentationの「DIFFERENCES FROM POSIX」のページを確認してください。
筆者プロフィール
佐藤友昭(さとうともあき)
VA Linux Systems Japan株式会社 クラウド基盤エキスパート。
UNIX系オペレーティングシステムの開発において、ローカルファイルシステム、ネットワークファイルシステム、論理ボリュームマネージャーなどを担当。
HPC向けネットワークファイルシステム、ディスクアレイ、Flash SSDアレイストレージの開発にも携わるなど、ストレージ開発のスペシャリストとして活躍する。
また、InfiniBandやiWarp(10GbE)などのRDMAネットワーク向けのファイルシステムプロトコル策定、リファレンス実装の分野におけるOSS開発の実績を持つ。
Copyright © ITmedia, Inc. All Rights Reserved.