Cephfs deploy
This skill should be used when the user asks to deploy CephFS or MDS daemons on a cephadm-managed Ceph cluster — e.g. "deploy cephfs", "create a ceph filesystem", "set up MDS", "mount cephfs". Covers pool creation, MDS deployment, filesystem creation, scoped client auth, and mounting.From its SKILL.md
npx -y skills add sserkanml/ceph-cookbook --skill cephfs-deployAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.3 KB, as published. Nobody here has run it
CephFS Deployment with cephadm
Overview
Deploying CephFS on an existing cephadm-managed Ceph cluster: create the metadata + data pools, deploy MDS daemons via the orchestrator, create the filesystem, grant a least-privilege client identity, then mount it from a client host.
Placeholders
| Placeholder | Meaning | Example |
|---|---|---|
<FS_NAME> | Filesystem name | cephfs |
<META_POOL> | Metadata pool name | cephfs_metadata |
<DATA_POOL> | Data pool name | cephfs_data |
<PG_NUM> | PG count for both pools | 64 |
<MDS_COUNT> | Active MDS rank count (cluster also runs standbys) | 1 |
<PLACEMENT> | cephadm placement spec for MDS daemons | count:2 |
<CLIENT_ID> | cephx client id (without client. prefix) | cephfs-client |
<MON_HOST> | Mon host(s)/IPs the client connects to | mon1,mon2,mon3 |
<MOUNT_POINT> | Client-side mountpoint | /mnt/cephfs |
Prerequisites
- A healthy cephadm-managed cluster with
ceph orchworking. - Enough OSD capacity for two new pools.
- On the client host:
ceph-common(kernel mount, viamount -t ceph) orceph-fuse.
1. Create the Pools
ceph osd pool create <META_POOL> <PG_NUM>
ceph osd pool create <DATA_POOL> <PG_NUM>
2. Create the Filesystem
ceph fs new <FS_NAME> <META_POOL> <DATA_POOL>
ceph fs ls
3. Deploy MDS Daemons
ceph orch apply mds <FS_NAME> --placement="<PLACEMENT>"
ceph orch ps --daemon-type mds
ceph fs status <FS_NAME> # wait for at least one MDS in state=active
4. Scale Active Ranks (optional, for large workloads)
ceph fs set <FS_NAME> max_mds <MDS_COUNT>
Keep at least one daemon beyond
max_mdsas standby (covered by<PLACEMENT>above) — multi-active MDS needs a healthy standby for failover of any given rank.
5. Create a Scoped Client
ceph fs authorize <FS_NAME> client.<CLIENT_ID> / rw \
-o /etc/ceph/ceph.client.<CLIENT_ID>.keyring
6. Mount (kernel client)
grep key /etc/ceph/ceph.client.<CLIENT_ID>.keyring | awk '{print $NF}' > /etc/ceph/ceph.client.<CLIENT_ID>.secret
mkdir -p <MOUNT_POINT>
mount -t ceph <MON_HOST>:/ <MOUNT_POINT> \
-o name=<CLIENT_ID>,secretfile=/etc/ceph/ceph.client.<CLIENT_ID>.secret
7. Verify
ceph fs status <FS_NAME>
df -h <MOUNT_POINT>
touch <MOUNT_POINT>/test && ls <MOUNT_POINT>