2.6. Ceph Orchestrator を使用した MDS サービスの管理

ストレージ管理者は、バックエンドにて Cephadm と Ceph Orchestrator を使用して MDS サービスをデプロイできます。デフォルトでは、Ceph File System (CephFS) はアクティブな MDS デーモンを 1 つだけ使用します。ただし、多くのクライアントがあるシステムでは複数のアクティブな MDS デーモンを使用する利点があります。

本セクションでは、以下の管理タスクを説明します。

2.6.1. 前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • すべてのノードへの root レベルのアクセス。
  • ホストがクラスターに追加されている。
  • すべてのマネージャー、モニター、および OSD デーモンがデプロイされます。

2.6.2. コマンドラインインターフェイスを使用した MDS サービスのデプロイ

Ceph Orchestrator を使用すると、コマンドラインインターフェイスで placement 仕様を使用して、Metadata Server (MDS) サービスをデプロイできます。Ceph ファイルシステム (CephFS) には、1 つ以上の MDS が必要です。

注記

最低でも、Ceph ファイルシステム (CephFS) データ用のプール 1 つと CephFS メタデータ用のプール 1 つの 2 つのプールがあるようにしてください。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ホストがクラスターに追加されている。
  • すべてのマネージャー、モニター、および OSD デーモンがデプロイされます。

手順

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

    [root@host01 ~]# cephadm shell

  2. 配置仕様を使用して MDS デーモンをデプロイする方法は 2 つあります。

方法 1

  • ceph fs volume を使用して MDS デーモンを作成します。これにより、CephFS に関連付けられた CephFS ボリュームとプールが作成され、ホストで MDS サービスも開始されます。

    構文

    ceph fs volume create FILESYSTEM_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2 HOST_NAME_3"

    注記

    デフォルトでは、このコマンドに対してレプリケートされたプールが作成されます。

    [ceph: root@host01 /]# ceph fs volume create test --placement="2 host01 host02"

方法 2

  • プール、CephFS を作成してから、配置仕様を使用して MDS サービスをデプロイします。

    1. CephFS のプールを作成します。

      構文

      ceph osd pool create DATA_POOL [PG_NUM]
      ceph osd pool create METADATA_POOL [PG_NUM]

      例:

      [ceph: root@host01 /]# ceph osd pool create cephfs_data 64
      [ceph: root@host01 /]# ceph osd pool create cephfs_metadata 64

      通常、メタデータプールは、データプールよりもオブジェクトがはるかに少ないため、控えめな数の配置グループ (PG) で開始できます。必要に応じて PG の数を増やすことができます。プールサイズの範囲は 64 PG ~ 512 PG です。データプールのサイズは、ファイルシステム内で予想されるファイルの数とサイズに比例します。

      重要

      メタデータプールでは、以下を使用することを検討してください。

      • このプールへのデータ損失によりファイルシステム全体にアクセスできなくなる可能性があるため、レプリケーションレベルが高くなります。
      • Solid-State Drive (SSD) ディスクなどのレイテンシーが低くなるストレージ。これは、クライアントで観察されるファイルシステム操作のレイテンシーに直接影響するためです。
    2. データプールおよびメタデータプールのファイルシステムを作成します。

      構文

      ceph fs new FILESYSTEM_NAME METADATA_POOL DATA_POOL

      [ceph: root@host01 /]# ceph fs new test cephfs_metadata cephfs_data

    3. ceph orch apply コマンドを使用して MDS サービスをデプロイします。

      構文

      ceph orch apply mds FILESYSTEM_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2 HOST_NAME_3"

      [ceph: root@host01 /]# ceph orch apply mds test --placement="2 host01 host02"

検証

  • サービスをリスト表示します。

    [ceph: root@host01 /]# ceph orch ls

  • CephFS のステータスを確認します。

    [ceph: root@host01 /]# ceph fs ls
    [ceph: root@host01 /]# ceph fs status

  • ホスト、デーモン、およびプロセスをリスト表示します。

    構文

    ceph orch ps --daemon_type=DAEMON_NAME

    [ceph: root@host01 /]# ceph orch ps --daemon_type=mds

関連情報

2.6.3. サービス仕様を使用した MDS サービスのデプロイ

Ceph Orchestrator を使用すると、サービス仕様を使用して MDS サービスをデプロイできます。

注記

少なくとも 2 つのプールがあることを確認してください。1 つは Ceph ファイルシステム (CephFS) データ用で、もう 1 つは CephFS メタデータ用です。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ホストがクラスターに追加されている。
  • すべてのマネージャー、モニター、および OSD デーモンがデプロイされます。

手順

  1. mds.yaml ファイルを作成します。

    例:

    [root@host01 ~]# touch mds.yaml

  2. mds.yaml ファイルを編集し、以下の詳細を含めます。

    構文

    service_type: mds
    service_id: FILESYSTEM_NAME
    placement:
      hosts:
      - HOST_NAME_1
      - HOST_NAME_2
      - HOST_NAME_3

    例:

    service_type: mds
    service_id: fs_name
    placement:
      hosts:
      - host01
      - host02

  3. YAML ファイルをコンテナー内のディレクトリーにマウントします。

    例:

    [root@host01 ~]# cephadm shell --mount mds.yaml:/var/lib/ceph/mds/mds.yaml

  4. そのディレクトリーに移動します。

    例:

    [ceph: root@host01 /]# cd /var/lib/ceph/mds/

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

    [root@host01 ~]# cephadm shell

  6. 以下のディレクトリーに移動します。

    例:

    [ceph: root@host01 /]# cd /var/lib/ceph/mds/

  7. サービス仕様を使用して MDS サービスをデプロイします。

    構文

    ceph orch apply -i FILE_NAME.yaml

    [ceph: root@host01 mds]# ceph orch apply -i mds.yaml

  8. MDS サービスがデプロイされ、機能したら、CephFS を作成します。

    構文

    ceph fs new CEPHFS_NAME METADATA_POOL DATA_POOL

    [ceph: root@host01 /]# ceph fs new test metadata_pool data_pool

検証

  • サービスをリスト表示します。

    [ceph: root@host01 /]# ceph orch ls

  • ホスト、デーモン、およびプロセスをリスト表示します。

    構文

    ceph orch ps --daemon_type=DAEMON_NAME

    [ceph: root@host01 /]# ceph orch ps --daemon_type=mds

関連情報

2.6.4. Ceph Orchestrator を使用した MDS サービスの削除

ceph orch rm コマンドを使用してサービスを削除できます。または、ファイルシステムおよび関連するプールを削除できます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • すべてのノードへの root レベルのアクセス。
  • ホストがクラスターに追加されている。
  • ホストにデプロイされた MDS デーモン 1 つ以上。

手順

  • MDS デーモンをクラスターから削除する方法は 2 つあります。

方法 1

  • CephFS ボリューム、関連するプール、およびサービスを削除します。

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

      [root@host01 ~]# cephadm shell

    2. 設定パラメーター mon_allow_pool_deletetrue に設定します。

      [ceph: root@host01 /]# ceph config set mon mon_allow_pool_delete true

    3. ファイルシステムを削除します。

      構文

      ceph fs volume rm FILESYSTEM_NAME --yes-i-really-mean-it

      [ceph: root@host01 /]# ceph fs volume rm cephfs-new --yes-i-really-mean-it

      このコマンドは、ファイルシステム、そのデータ、メタデータプールを削除します。また、有効な ceph-mgr Orchestrator モジュールを使用して MDS を削除しようとします。

方法 2

  • ceph orch rm コマンドを使用して、クラスター全体から MDS サービスを削除します。

    1. サービスをリスト表示します。

      [ceph: root@host01 /]# ceph orch ls

    2. サービスの削除

      構文

      ceph orch rm SERVICE_NAME

      [ceph: root@host01 /]# ceph orch rm mds.test

検証

  • ホスト、デーモン、およびプロセスをリスト表示します。

    構文

    ceph orch ps

    [ceph: root@host01 /]# ceph orch ps

関連情報