1.セファロアーキテクチャ
1.1セファロインタフェース
セファロは、3つのインタフェースをサポートしています。
- ネイティブAPIがあり、また、スウィフトとS3 APIと互換性があります。オブジェクト
- ブロック:シンプロビジョニング、スナップショット、クローン、
- ファイル:POSIXインターフェイス、サポートのスナップショット
1.2セファロコアコンポーネントと概念を導入
- モニター:セファロクラスタを監視するには、OSDメタデータを保存するために使用されるデータを同期させることにより、パクシそれらで構成される複数の小さなクラスターが必要です。
- OSD:OSDは、クライアントの要求に応答する責任があるオブジェクトストレージデバイス、の略で、プロセスの特定のデータを返す、セファロクラスタは、一般的にOSDの数を持っています。
- CRUSH:CRUSHデータが所望の位置に割り当てられるように、一貫性のあるハッシュと同様のデータ配信アルゴリズムのセファロの使用です。
- PG:PGは、プレイスメントグループの略で論理的な概念であり、PGは、OSDを複数備えています。この層は、実際にはより良い分布データと位置データのためのPGに導入されます。
- オブジェクト:セファロ記憶部は、底物体オブジェクト、各オブジェクトを含むメタデータと生データです。
- RADOS:データ分散、フェイルオーバークラスタ操作などのため。
- Libradioは:RADOSは契約ですのでLibradioがRADOSは、ライブラリが提供され、上側RBD、RGWとCephFSがlibradiosからアクセスできますので、それは、直接アクセスすることは困難であり、現在、PHP、Rubyの、ジャワ、パイソン、CおよびC ++のサポートを提供しています。
- MDS:MDSはCephFSサービスが依存メタデータサービスである、セファロメタデータサーバーの略です。
- RBD:RBDは、RADOSブロックデバイスを意味し、外部に設けられたセファロブロックデバイスサービスです。
- RGW:RGWフルネームRADOSゲートウェイは、外部インターフェースによって提供セファロオブジェクト・ストレージ・サービスは、S3とスイフトと互換性があります。
- CephFS:CephFSフルネームセファロファイルシステムは、外部に設けられたセファロファイルシステムサービスです。
2. 3つのストレージタイプ
ブロックデバイス:メインは、SANストレージに似たホストの用途、使用シナリオ、主にファイルの保存、ログ保存、仮想イメージファイルにRAWディスク・スペースをマップすることです。
ファイルストレージ:典型的な:FTP、NFSブロックストレージが問題を克服するために共有することができないので、ファイルストレージを持っています。
メディアストレージのストリーミング、高速読み取りとブロックストレージのファイル共有特性に保存されているとRESTful APIを介してアクセス可能な、一般的に、適切な画像、:オブジェクトストア。
2.1セファロIOプロセスとデータ配信
ステップ:
- クライアントは、クラスタハンドラを作成します。
- クライアントは、設定ファイルを読み込みます。
- クライアントは、モニター、取得クラスタマップ情報に接続されています。
- プライマリ・データ・ノード記載のOSD crushmapアルゴリズムに対応するIOクライアント要求を書き込みます。
- OSDマスタが同時にデータノードのデータを二つの追加のコピーを書くためにノード。
- マスターノードと状態書き込まれたデータの2つの他のノードのコピーを待っています。
- そして、マスターノードのノードステータスのコピーがクライアントに成功したリターン、IOプログラミングの後に書かれています。
新しいマスターIOフローチャート
説明:
新しく追加されたOSD1プライマリOSDなるオリジナルOSD4を交換する場合はPGがOSD1上で作成されていないため、データが存在しない場合、その後、PG上のI / Oは、どのように動作しないことができますか?
ステップ:
(1)クライアントが情報を取得するために、モニタクラスタマップを接続しました。
新しいプライマリOSD1 PGの不在は、一時的にメインを引き継ぐ情報にOSD2モニターを作成するレポートデータへのイニシアチブをとるだろうしながら、(2)。
データの(3)一時的なマスターOSD2総量は、新しいプライマリOSD1に同期します。
(4)クライアントIOは、直接、一時的なマスターOSD2を読み書きするために接続されているお読みください。
(5)OSD2は、他の2個の書き込みレプリカ・ノードが、書き込みIOを受け取りました。
(6)は、OSD2と書かれた成功の他の2つのコピーを待ちます。
(7)OSD2 3つのデータが正常に戻ってクライアントに書かれた、書き込みIOクライアントはこの時点で完了します。
OSD1データ同期が完了した場合(8)、一時的なメインOSD2が主な役割を引き渡すます。
(9)OSD1コピーなるOSD2、マスタノードとなります。
どのようにデータにアクセスする3.セファロ
ここで理解しやすいで書かれた記事は次のとおりです。http://www.xuxiaopang.com/2016/11/08/easy-ceph-CRUSH/