検索
連載

Ceph/RADOSの実装から動作の仕組みを理解するCeph/RADOS入門(2)(2/3 ページ)

OpenStack環境下の分散ストレージとして注目を集めるCeph/RADOS。今回は各コンポーネントを深掘りして挙動を理解していく。分散の仕組みや特徴を理解することで、より良いシステム構成検討を目指そう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ネイティブインターフェースとストレージクラスターへのデータ格納

 ここからは、各インターフェースとデータ格納の挙動を見ていきましょう。

librados

 RADOSはオブジェクトを格納します。libradosは、アプリケーションが独自APIでRADOSに直接アクセスするためのライブラリです。C/C++、Java、Python、Ruby、PHPのライブラリがあります。


図5 ネイティブ接続の場合の例(出典:Ceph、PDF

 それぞれのライブラリに関する情報は次の通りです。

ライブラリ名 参照先
Introduction to Librados http://ceph.com/docs/master/rados/api/librados-intro/
Java bindings for librados(Java) https://github.com/wido/rados-java
desperados: A Ruby library for Ceph's Rados(Ruby) https://github.com/johnl/desperados
phprados(PHP) https://github.com/ceph/phprados

(出典:Ceph

 RADOSのオブジェクトはオブジェクトID、データ、メタデータで構成され、論理的なパーティションであるプールに格納されます。

 オブジェクトIDはCeph Storage Cluster内で一意です。メタデータはname/valueのペアです。OSD上でオブジェクトは一個のファイルです。

 当初、Ceph/RADOSにはEBOFSというユーザーランド実行のオブジェクトファイルシステムが含まれていましたが、2009年にBTRFSを使用する計画に変更されています。

 最新のCeph/RADOS(v0.77以降)ではファイルシステム以外にKVS(leveldb)もOSDのバックエンドストレージに使用できるようです(v0.80時点でexperimental)。

 本稿ではOSDのファイルシステムにXFSを使用します。BTRFSを使用する場合、OSDのLinuxカーネルはv3.14以降の使用が推奨されていますので注意しましょう(*1)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る