11.8. Ceph BlueStore BlueFS


BlueStore ブロックデータベースは、メタデータを RocksDB データベースのキーと値のペアとして格納します。ブロックデータベースは、ストレージデバイス上の小さな BlueFS パーティションに存在します。BlueFS は、RocksDB ファイルを保持するように設計された最小限のファイルシステムです。

BlueFS ファイル

RocksDB が生成する 3 種類のファイルを以下に示します。

  • CURRENTIDENTITYMANIFEST-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 デバイスに配置するように直接通知します。

11.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 レベルのアクセス。

手順

  1. Cephadm シェルにログインします。

    [root@host01 ~]# cephadm shell

  2. 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

11.8.2. Ceph OSD の Ceph BlueFS 統計の表示

bluefs stats コマンドを使用して、コロケーションされた Ceph OSD およびコロケーションされていない Ceph OSD に関する BluesFS 関連情報を表示します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • オブジェクトストアが BlueStore として設定されている。
  • OSD ノードへのルートレベルのアクセス。

手順

  1. Cephadm シェルにログインします。

    [root@host01 ~]# cephadm shell

  2. BlueStore OSD 統計を表示します。

    構文

    ceph daemon osd.OSD_ID bluefs stats

    コロケーションされた OSD の例

    [ceph: root@host01 /]# ceph daemon osd.1 bluefs stats
    
    1 : device size 0x3bfc00000 : using 0x1a428000(420 MiB)
    wal_total:0, db_total:15296836403, slow_total:0

    コロケーションされていない OSD の例

    [ceph: root@host01 /]# ceph daemon osd.1 bluefs stats
    
    0 :
    1 : device size 0x1dfbfe000 : using 0x1100000(17 MiB)
    2 : device size 0x27fc00000 : using 0x248000(2.3 MiB)
    RocksDBBlueFSVolumeSelector: wal_total:0, db_total:7646425907, slow_total:10196562739, db_avail:935539507
    Usage matrix:
    DEV/LEV     WAL         DB          SLOW        *           *           REAL        FILES
    LOG         0 B         4 MiB       0 B         0 B         0 B         756 KiB     1
    WAL         0 B         4 MiB       0 B         0 B         0 B         3.3 MiB     1
    DB          0 B         9 MiB       0 B         0 B         0 B         76 KiB      10
    SLOW        0 B         0 B         0 B         0 B         0 B         0 B         0
    TOTALS      0 B         17 MiB      0 B         0 B         0 B         0 B         12
    MAXIMUMS:
    LOG         0 B         4 MiB       0 B         0 B         0 B         756 KiB
    WAL         0 B         4 MiB       0 B         0 B         0 B         3.3 MiB
    DB          0 B         11 MiB      0 B         0 B         0 B         112 KiB
    SLOW        0 B         0 B         0 B         0 B         0 B         0 B
    TOTALS      0 B         17 MiB      0 B         0 B         0 B         0 B

    ここでは、以下のようになります。

    0: これは専用の WAL デバイス、つまり block.wal を参照します。

    1: これは、専用の DB デバイス、つまり block.db を指します。

    2: これは、block または slow であるメインブロックデバイスを指します。

    device size: デバイスの実際のサイズを表します。

    using: 総使用量を表します。これは BlueFS に限定されません。

    注記

    DB および WAL デバイスは、BlueFS によってのみ使用されます。メインデバイスの場合には、保存された BlueStore データからの使用も含まれます。上記の例では、2.3 MiB が BlueStore からのデータです。

    wal_totaldb_totalslow_total: これらの値は、上記のデバイスの値を繰り返します。

    db_avail: この値は、必要に応じて SLOW デバイスから取得できるバイト数を表します。

    使用マトリックス
    • WALDBSLOW の行: 特定のファイルが配置される予定だった場所を記述します。
    • LOG の行: BlueFS リプレイログ ino 1 について記述します。
    • WALDBSLOW の列: データが実際に置かれる場所を記述します。値は割り当て単位です。WAL と DB は、パフォーマンス上の理由上、割り当ての単位が大きくなっています。
    • */* の列: ceph-bluestore-tool に使用される仮想デバイス new-db および new-wal に関連します。常に 0 B と表示されます。
    • REAL の列: 実際の使用量をバイト単位で示します。
    • FILES の列: ファイルの数を示します。

    MAXIMUMS の列: このテーブルは、使用マトリクスから各エントリーの最大値を取得します。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.