Menu Close

9.5. Ceph BlueStore OSD の追加

本セクションでは、BlueStore バックエンドオブジェクトストアを使用して新たな Ceph OSD ノードをインストールする方法を説明します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへのルートレベルのアクセス。

手順

  1. デフォルトでは、新しい OSD ノードを、(デフォルトでは /etc/ansible/hosts にある) Ansible インベントリーファイルの [osds] セクションに追加します。

    [osds]
    node1
    node2
    node3
    HOST_NAME

    以下を置き換えます。

    • HOST_NAME は、OSD ノードの名前に置き換えます。

    [osds]
    node1
    node2
    node3
    node4

  2. /usr/share/ceph-ansible ディレクトリーに移動します。

    [user@admin ~]$ cd /usr/share/ceph-ansible
  3. host_vars ディレクトリーを作成します。

    [root@admin ceph-ansible] mkdir host_vars
  4. 新規に追加された OSD の設定ファイルを host_vars に作成します。

    [root@admin ceph-ansible] touch host_vars/HOST_NAME.yml

    以下を置き換えます。

    • HOST_NAME を、新しく追加された Ceph ノードのホスト名に置き換えます。

    [root@admin ceph-ansible] touch host_vars/node4.yml

  5. 新規作成されたファイルに以下の設定を追加します。

    osd_objectstore: bluestore
    注記

    すべての OSD に BlueStore を使用するには、osd_objectstore:bluestoregroup_vars/all.yml ファイルに追加します。

  6. host_vars/HOST_NAME.yml で BlueStore OSD を設定します。

    lvm_volumes:
      - data: DATALV
        data_vg: DATAVG

    以下を置き換えます。

    • DATALV を、データ論理ボリューム名に置き換えます。
    • DATAVG を、データ論理ボリュームグループ名に置き換えます。

    lvm_volumes:
      - data: data-lv1
        data_vg: vg1

  7. オプション。block.walblock.db を専用の論理ボリュームに保存する場合は、host_vars/HOST_NAME.yml ファイルを以下のように編集します。

    lvm_volumes:
      - data: DATALV
        wal: WALLV
        wal_vg: VG
        db: DBLV
        db_vg: VG

    以下を置き換えます。

    • DATALV を、データが含まれる論理ボリュームに置き換えます。
    • WALLV を、write-ahead-log が含まれる論理ボリュームに置き換えます。
    • WALLV を、WAL または DB デバイス、またはその両方の論理ボリュームが含まれるボリュームグループに置き換えます。
    • DBLV を、BlueStore 内部メタデータが含まれるべき論理ボリュームに置き換えます。

    lvm_volumes:
      - data: data-lv3
        wal: wal-lv1
        wal_vg: vg3
        db: db-lv3
        db_vg: vg3

    注記

    lvm_volumes:osd_objectstore: bluestore と一緒に使用する場合は、lvm_volumes の YAML 辞書には少なくとも データ が含まれている必要があります。wal または db を定義する際には、LV 名と VG 名の両方が必要になります (dbwal は必要ありません)。これにより、データのみ、データおよび wal、データおよび wal および db、またはデータおよび db の 4 つの組み合わせを使用できます。データは、生のデバイス、論理ボリューム、またはパーティションにすることができます。wal および db は、論理ボリュームまたはパーティションにすることができます。生のデバイスまたはパーティションの ceph-volume を指定すると、その上に論理ボリュームが配置されます。

    注記

    現在、ceph-ansible は、ボリュームグループまたは論理ボリュームを作成しません。Anisble Playbook を実行する前に、これを実行する必要があります。

  8. group_vars/all.yml ファイルを開いて編集し、osd_memory_target オプションのコメント設定を解除します。OSD が消費するメモリー容量に応じて値を調整します。

    注記

    osd_memory_target オプションのデフォルト値は 4000000000 ( 4 GB) です。このオプションは、メモリー内の BlueStore キャッシュをピニングします。

    重要

    osd_memory_target オプションは、BlueStore がサポートする OSD にのみ適用されます。

  9. 以下の Ansible Playbook を実行します。

    [user@admin ceph-ansible]$ ansible-playbook site.yml
  10. Ceph Monitor ノードから、新規 OSD が正常に追加されたことを確認します。

    [root@mon ~]# ceph osd tree