12.8. Ceph BlueStore BlueFS
BlueStore ブロックデータベースは、メタデータを RocksDB データベースのキーと値のペアとして格納します。ブロックデータベースは、ストレージデバイス上の小さな BlueFS パーティションに存在します。BlueFS は、RocksDB ファイルを保持するように設計された最小限のファイルシステムです。
BlueFS ファイル
RocksDB が生成する 3 種類のファイルを以下に示します。
-
CURRENT、IDENTITY、MANIFEST-000011などの制御ファイル。 -
004112.sstなどの DB テーブルファイル。 -
000038.logなどの先読みログ。
さらに、ディレクトリー構造、ファイルマッピング、および操作ログとして機能する、BlueFS リプレイログ ino 1 として機能する内部の隠しファイルがあります。
フォールバック階層
BlueFS を使用すると、任意のファイルを任意のデバイスに配置できます。ファイルの一部は、WAL、DB、SLOW などの異なるデバイスに存在する場合もあります。BlueFS がファイルを置く場所には順序があります。ファイルは、1 次ストレージがなくなってから 2 次ストレージに、2 次ストレージがなくなってから 3 次ストレージに配置されます。
特定のファイルの順序は次のとおりです。
- ログ先行書き込み: WAL、DB、SLOW
-
リプレイログ
ino 1: DB、SLOW 制御および DB ファイル: DB、SLOW
スペース不足時の制御と DB ファイルの順序: SLOW
重要制御および DB ファイルの順序には例外があります。RocksDB は、DB ファイルのスペースが不足していることを検出すると、ファイルを SLOW デバイスに配置するように直接通知します。
12.8.1. bluefs_buffered_io 設定の表示 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、bluefs_buffered_io パラメーターの現在の設定を表示できます。
Red Hat Ceph Storage では、オプション bluefs_buffered_io はデフォルトで True に設定されます。このオプションにより、場合によっては BlueFS はバッファー読み取りを実行できるようになり、カーネルページキャッシュが RocksDB ブロック読み取りなどの読み取りのセカンダリーキャッシュとして機能できるようになります。
bluefs_buffered_io の値を変更することは推奨されません。bluefs_buffered_io パラメーターを変更する前に、Red Hat サポートアカウントチームにお問い合わせください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Monitor ノードへの root レベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell-
bluefs_buffered_ioパラメーターの現在値は、3 つの方法で表示することができます。
方法 1
設定データベースに保存されている値を表示します。
例
[ceph: root@host01 /]# ceph config get osd bluefs_buffered_io
方法 2
特定の OSD の設定データベースに保存されている値を表示します。
構文
ceph config get OSD_ID bluefs_buffered_io例
[ceph: root@host01 /]# ceph config get osd.2 bluefs_buffered_io
方法 3
実行値が設定データベースに保存されている値と異なる OSD の実行値を表示します。
構文
ceph config show OSD_ID bluefs_buffered_io例
[ceph: root@host01 /]# ceph config show osd.3 bluefs_buffered_io