5.6. ディレクトリーツリーから Metadata Server デーモンのランクへのマッピング

ディレクトリーとそのサブディレクトリーを特定のアクティブな Metadata Server (MDS) ランクにマッピングするには、そのメタデータがランクを保持する MDS デーモンによってのみ管理されるようにします。このアプローチにより、アプリケーションの負荷や、ユーザーのメタデータ要求の影響をストレージクラスター全体に均等に分散させることができます。

重要

内部バランサーは、すでにアプリケーションの負荷を動的に分散します。そのため、特定の慎重に選択したアプリケーションに対して、ディレクトリーツリーのみをマップします。

さらに、ディレクトリーがランクにマップされると、バランサーはこれを分割できません。そのため、マップされたディレクトリー内の多数の操作を行うと、ランクおよびそれを管理する MDS デーモンをオーバーロードできます。

前提条件

  • 少なくとも 2 つのアクティブな MDS デーモン。
  • CephFS クライアントノードへのユーザーアクセス
  • マウントされた Ceph File System を含む CephFS クライアントノードに attr パッケージがインストールされていることを確認します。

手順

  1. Ceph ユーザーのケイパビリティーに p フラグを追加します。

    構文

    ceph fs authorize FILE_SYSTEM_NAME client.CLIENT_NAME /DIRECTORY CAPABILITY [/DIRECTORY CAPABILITY] ...

    [user@client ~]$ ceph fs authorize cephfs_a client.1 /temp rwp
    
    client.1
      key: AQBSdFhcGZFUDRAAcKhG9Cl2HPiDMMRv4DC43A==
      caps: [mds] allow r, allow rwp path=/temp
      caps: [mon] allow r
      caps: [osd] allow rw tag cephfs data=cephfs_a

  2. ディレクトリーに ceph.dir.pin 拡張属性を設定します。

    構文

    setfattr -n ceph.dir.pin -v RANK DIRECTORY

    [user@client ~]$ setfattr -n ceph.dir.pin -v 2 /temp

    この例では、/temp ディレクトリーとそのすべてのサブディレクトリーを rank 2 に割り当てます。

関連情報