CephFS Manager
https://ceph.readthedocs.io/en/latest/start/intro/
によれば
Managers: A Ceph Manager daemon (ceph-mgr) is responsible for keeping track of runtime metrics and the current state of the Ceph cluster,
including storage utilization, current performance metrics, and system load.
The Ceph Manager daemons also host python-based modules to manage and expose Ceph cluster information, including a web-based Ceph Dashboard and REST API.
At least two managers are normally required for high availability.
(deepL先生翻訳)
マネージャ: Ceph Managerデーモン(ceph-mgr)は、ランタイムメトリクスとCephクラスタの現在の状態を追跡する責任を負います、
ストレージ使用率、現在のパフォーマンスメトリクス、システム負荷など。
Ceph Managerデーモンは、WebベースのCeph DashboardおよびREST APIなど、Cephクラスタ情報を管理および公開するpythonベースのモジュールもホストします。
通常、高可用性を実現するには少なくとも2つのマネージャが必要です。ストレージの容量、パフォーマンス、負荷らの監視かな.
こちらも「At least two managers are normally required for high availability.」とあり、運用時には複数台構成が望ましいみたい.
参照先https://docs.ceph.com/en/latest/mgr/administrator/
ここでは CephFS Monitors を持つceph01とceph02に担当させます.
リポジトリの登録は既にMonitor構築で済んでいるので Manager のパッケージのみをインストールします
[root@ceph01 ~]# dnf install ceph-mgrその後で構築を始めます
[root@ceph01 ~]# sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-ceph01
[root@ceph01 ~]# sudo -u ceph ceph auth get-or-create mgr.ceph01 mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-ceph01/keyring
(エラーの場合は「/etc/ceph/ceph.client.admin.keyring」の所有者がcephであることを確認)
[root@ceph01 ~]# ls -l /var/lib/ceph/mgr/ceph-ceph01/
total 4
-rw-r--r--. 1 ceph ceph 61 Mar 3 01:54 keyring
[root@ceph01 ~]# cat /var/lib/ceph/mgr/ceph-ceph01/keyring
[mgr.ceph01]
key = AQBcjcRntzIfDRAAzmmnE5L+HVw/cfKjmdz8zw==
[root@ceph01 ~]#次はManagerの起動デーモンを調整します.
[root@ceph01 ~]# cat /usr/lib/systemd/system/ceph-mgr\@.service
:
ExecStart=/usr/bin/ceph-mgr -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
:
[root@ceph01 ~]#とあるので、
[root@ceph01 ~]# systemctl enable ceph-mgr@ceph01.service
Created symlink /etc/systemd/system/ceph-mgr.target.wants/ceph-mgr@ceph01.service → /usr/lib/systemd/system/ceph-mgr@.service.
[root@ceph01 ~]# systemctl start ceph-mgr@ceph01.servicefirewallにManagerの穴をあけます
[root@ceph01 ~]# firewall-cmd --add-service=ceph --permanent
[root@ceph01 ~]# firewall-cmd --reloadManagerの起動を確認します
[root@ceph01 ~]# ceph -s
cluster:
id: c2d06c20-9197-40b4-a8c4-1a0604936ce8
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph01,ceph02,ceph-osd1 (age 12m)
mgr: ceph01(active, since 4s)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[root@ceph01 ~]#mgrが追加されました
っで ceph02 にも設けます
ssh ceph02
dnf install ceph-mgr -y
sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-ceph02
sudo -u ceph ceph auth get-or-create mgr.ceph02 mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-ceph02/keyring
systemctl start ceph-mgr@ceph02.service --now
firewall-cmd --add-service=ceph --permanent
firewall-cmd --reloadそうすると ceph -s の値は下記のようになります
[root@ceph01 ~]# ceph -s
:
services:
mon: 3 daemons, quorum ceph01,ceph02,ceph-osd1 (age 18m)
mgr: ceph01(active, since 12m), standbys: ceph02
osd: 0 osds: 0 up, 0 i
:
[root@ceph01 ~]#webベースの管理ツールです
dnfのパッケージからdashboardを入れるみたい. インストール後にそれを有効にします.
[root@ceph01 ~]# dnf --enablerepo=devel install ceph-mgr-dashboard
[root@ceph01 ~]# ceph mgr module ls
MODULE
:
dashboard - <-- これ
:
[root@ceph01 ~]#
[root@ceph01 ~]# ceph mgr module enable dashboard
Error ENOENT: all mgr daemons do not support module 'dashboard', pass --force to force enablement
[root@ceph01 ~]# ceph mgr module enable dashboard --force <-- 「--force」を入れないと無理みたい.
(dashboardの設定)
[root@ceph01 ~]# ceph config ls | grep mgr/dashboard <--設定項目一覧です
[root@ceph01 ~]# ceph config get mgr mgr/dashboard/ssl
true
[root@ceph01 ~]# ceph config set mgr mgr/dashboard/ssl false <--https接続を無効にします
[root@ceph01 ~]# ceph config get mgr mgr/dashboard/server_addr <-- dashboardのipアドレス
::
[root@ceph01 ~]# ceph config get mgr mgr/dashboard/server_port <-- dashboardのport番号
8080
[root@ceph01 ~]# lsof -i -P | grep 8080
ceph-mgr 12581 ceph 44u IPv6 43943 0t0 TCP *:8080 (LISTEN) <-- 既にdashboardは8080で稼働中
[root@ceph01 ~]#
[root@ceph01 ~]# ceph dashboard get-pwd-policy-enabled
True
[root@ceph01 ~]# ceph dashboard set-pwd-policy-enabled false <-- dashboard へのログインパスワードの複雑性を解除します
[root@ceph01 ~]#
[root@ceph01 ~]# ceph dashboard ac-user-show <-- 現在のdashboardにアクセスできるユーザ一覧
[]
[root@ceph01 ~]#
[root@ceph01 ~]# echo -n "adminpass" > password.txt <-- パスワード「adminpass」をファイルに書き込んで
[root@ceph01 ~]# ceph dashboard ac-user-create admin -i password.txt administrator <-- そのファイルを使ってユーザadmin(administratorロール)を作成
(dashboard内の設定方法一覧)
[root@ceph01 ~]# ceph dashboard -h
(8080のportに穴をあけます)
[root@ceph01 ~]# firewall-cmd --add-port=8080/tcp --zone=public --permanent && firewall-cmd --reloadPCからceph01の8080を見ます

登録したアカウントとパスワードで認証を経ると下記画面になります

注目としては「Orchestrator」の値がないということ。これがcephadmで作ると「cephadm」になります。
[root@ceph01 ~]# ceph -s
cluster:
id: c2d06c20-9197-40b4-a8c4-1a0604936ce8
health: HEALTH_WARN
3 mgr modules have recently crashed
:
[root@ceph01 ~]#と表示された際、この「3 mgr modules have recently crashed」の報告は
[root@ceph01 ~]# ceph health detail
HEALTH_WARN 3 mgr modules have recently crashed
[WRN] RECENT_MGR_MODULE_CRASH: 3 mgr modules have recently crashed
mgr module nfs crashed in daemon mgr.ceph01 on host ceph01 at 2025-04-25T17:35:28.260872Z
mgr module nfs crashed in daemon mgr.ceph01 on host ceph01 at 2025-04-25T17:50:49.181477Z
mgr module nfs crashed in daemon mgr.ceph01 on host ceph01 at 2025-04-25T17:50:54.661555Z
[root@ceph01 ~]#で詳しく見れて、
[root@ceph01 ~]# ceph crash ls
ID ENTITY NEW
2025-04-25T17:35:28.260872Z_cbcfe784-c3c9-4afd-81e6-bc090fb3b37f mgr.ceph01 *
2025-04-25T17:50:49.181477Z_a12c9575-22f4-4282-bdc2-2fccd24fc10a mgr.ceph01 *
2025-04-25T17:50:54.661555Z_52105f1a-ba86-4a29-9133-df02bf1f685f mgr.ceph01 *
[root@ceph01 ~]#でも見れる.
ここで「ceph crash info <ID>」で詳細が見れる.
[root@ceph01 ~]# ceph crash info 2025-04-25T17:35:28.260872Z_cbcfe784-c3c9-4afd-81e6-bc090fb3b37f
{
"backtrace": [
" File \"/usr/share/ceph/mgr/nfs/module.py\", line 191, in cluster_ls\n return available_clusters(self)",
" File \"/usr/share/ceph/mgr/nfs/utils.py\", line 70, in available_clusters\n completion = mgr.describe_service(service_type='nfs')",
" File \"/usr/share/ceph/mgr/orchestrator/_interface.py\", line 1737, in inner\n completion = self._oremote(method_name, args, kwargs)",
" File \"/usr/share/ceph/mgr/orchestrator/_interface.py\", line 1804, in _oremote\n raise NoOrchestrator()",
"orchestrator._interface.NoOrchestrator: No orchestrator configured (try `ceph orch set backend`)"
],
"ceph_version": "19.2.2",
"crash_id": "2025-04-25T17:35:28.260872Z_cbcfe784-c3c9-4afd-81e6-bc090fb3b37f",
"entity_name": "mgr.ceph01",
"mgr_module": "nfs",
"mgr_module_caller": "ActivePyModule::dispatch_remote cluster_ls",
"mgr_python_exception": "NoOrchestrator",
"os_id": "rocky",
"os_name": "Rocky Linux",
"os_version": "9.4 (Blue Onyx)",
"os_version_id": "9.4",
"process_name": "ceph-mgr",
"stack_sig": "1199785675eabc11ce537d594914ffe3daad2e10b76077ca318bb600b92a7954",
"timestamp": "2025-04-25T17:35:28.260872Z",
"utsname_hostname": "ceph01",
"utsname_machine": "x86_64",
"utsname_release": "5.14.0-427.13.1.el9_4.x86_64",
"utsname_sysname": "Linux",
"utsname_version": "#1 SMP PREEMPT_DYNAMIC Wed May 1 19:11:28 UTC 2024"
}
[root@ceph01 ~]#また、削除するには「ceph crash rm <ID>」とする
[root@ceph01 ~]# ceph crash rm 2025-04-25T17:35:28.260872Z_cbcfe784-c3c9-4afd-81e6-bc090fb3b37f
[root@ceph01 ~]# ceph crash rm 2025-04-25T17:50:49.181477Z_a12c9575-22f4-4282-bdc2-2fccd24fc10a
[root@ceph01 ~]# ceph crash rm 2025-04-25T17:50:54.661555Z_52105f1a-ba86-4a29-9133-df02bf1f685f
[root@ceph01 ~]# ceph crash lsで消せる.