連載
» 2014年11月10日 19時48分 公開

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

[佐藤友昭,VA Linux Systemsジャパン]

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

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

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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。