Getting started with file storage

Get to know the relevant tasks that are required for working with Ceph File Systems (CephFS).

Limitations

To know about the limitations and POSIX standards to consider when working with Ceph File System, see CephFS limitations and the POSIX standards.

Deploying the Ceph File System

Detailed deployment instructions for Ceph File System is found in Deploying the CephFS.

Managing Ceph File Systems through the dashboard

For detailed information on managing Ceph File Systems from the dashboard, see Managing Ceph File Systems (CephFS).

For detailed information on managing NFS from the dashboard, see Managing NFS shares.

Managing the NFS service gateway using the Ceph orchestrator

For detailed information, see Managing the NFS service gateway using the Ceph orchestrator.

Creating client users for a Ceph File System

For detailed information, see Creating client users for a Ceph File System .

Setting up the Ceph File System

Basic Ceph File System CLI commands

This information is for a quick reference of basic CephFS CLI commands. For a full list and more detailed information about each command, see Managing CephFS volumes.
Creating a CephFS volume
ceph fs volume create VOLUME_NAME
Creating a CephFS subvolume
ceph fs subvolume create VOLUME_NAME SUBVOLUME_NAME [--size SIZE_IN_BYTES --group_name SUBVOLUME_GROUP_NAME --pool_layout DATA_POOL_NAME --uid UID --gid GID --mode OCTAL_MODE] [--namespace-isolated]
Creating a CephFS subvolume group
ceph fs subvolumegroup create VOLUME_NAME GROUP_NAME [--pool_layout DATA_POOL_NAME --uid UID --gid GID --mode OCTAL_MODE]
Listing CephFS volumes
ceph fs volume ls
Listing CephFS subvolumes
ceph fs subvolume ls VOLUME_NAME
Listing CephFS subvolume groups
ceph fs subvolumegroup ls VOLUME_NAME
Viewing information about a CephFS volume
ceph fs volume info VOLUME_NAME
Removing a CephFS volume
ceph fs volume rm VOLUME_NAME [--yes-i-really-mean-it]
Removing a CephFS subvolume
ceph fs subvolume rm VOLUME_NAME SUBVOLUME_NAME
Removing a CephFS subvolume group
ceph fs subvolumegroup rm VOLUME_NAME GROUP_NAME [--force]
Creating a snapshot of a CephFS subvolume
ceph fs subvolume snapshot create VOLUME_NAME SUBVOLUME_NAME SNAP_NAME [--group_name GROUP_NAME]

Basic NFS CLI commands

This information is for a quick reference of basic NFS Ceph File System CLI commands. For a full list and more detailed information about each command, see Managing CephFS volumes.

Creating an NFS cluster
ceph nfs cluster create CLUSTER_NAME [PLACEMENT] [--ingress] [--virtual_ip IP_ADDRESS] [--ingress-mode {default|keepalive-only|haproxy-standard|haproxy-protocol}] [--port PORT]
Deleting an NFS cluster
ceph nfs cluster rm CLUSTER_NAME
Creating a CephFS export
ceph nfs export create cephfs CLUSTER_NAME BINDING FILE_SYSTEM_NAME [--readonly] [--path=PATH_WITHIN_CEPHFS]
Viewing export blocks based on the pseudo-root name
ceph nfs export get CLUSTER_NAME BINDING

Basic SMB CLI commands

This information is for a quick reference of basic SMB CLI commands.

Creating an SMB cluster
Creating an SMB cluster with the imperative method
ceph smb cluster create CLUSTER_ID USER [--domain-realm=DOMAIN_REALM] 
[--domain-join-user-pass=DOMAIN_JOIN_USER_PASS] 
[--define-user-pass=DOMAIN_USER_PASS] [--custom-dns=CUSTOM_DNS]
The following is an example of auth_mode: user:
# ceph smb cluster create smb1 user --define_user_pass user1%passwd --placement label:smb --clustering default
The following is an example of auth_mode: AD:
ceph smb cluster create smb1 active-directory --domain_realm samba.qe --domain_join_user_pass Administrator%Redhat@123 --custom_dns 10.70.44.153 --placement label:smb --clustering default
Creating an SMB cluster with the declarative method
ceph smb apply -i [--format VALUE]
For example,
[ceph: root@host01 ~]# ceph smb apply -i resources.yaml

For more information about Declarative method, see Composing resource specifications for declarative method

Creating an SMB share
Creating an SMB share with imperative method
ceph smb share create CLUSTER_ID SHARE_ID CEPHFS_VOLUME PATH [SHARE_NAME] [SUBVOLUME] [--readonly] [--format]
For example,
ceph smb share create smb1 share1 cephfs / --subvolume=smb/sv1
{
  "resource": {
    "browseable": true,
    "cephfs": {
      "path": "/",
      "provider": "samba-vfs",
      "subvolume": "sv1",
      "subvolumegroup": "smb",
      "volume": "cephfs"
    },
    "cluster_id": "smb1",
    "intent": "present",
    "name": "share1",
    "readonly": false,
    "resource_type": "ceph.smb.share",
    "share_id": "share1"
  },
  "state": "updated",
  "success": true
}
 
Creating an SMB share with declarative method
For more information about managing SMB cluster and share using declarative methods, see Managing SMB clusters and shares
Listing an SMB cluster
 ceph smb share ls CLUSTER_ID [--format VALUE]
For example,
ceph smb share ls smb1
[
  "share1"
]
Viewing SMB cluster details
ceph smb show [RESOURCE_NAMES]
For example,
ceph smb show ceph.smb.cluster.smb1
{
  "resource_type": "ceph.smb.cluster",
  "cluster_id": "smb1",
  "auth_mode": "user",
  "intent": "present",
  "user_group_settings": [
    {
      "source_type": "resource",
      "ref": "ug1"
    }
  ],
  "placement": {
    "label": "smb"
  },
  "public_addrs": [
    {
      "address": "10.8.131.254/21"
    }
  ]
}

For more information about viewing SMB cluster and share using declarative methods, see Managing SMB clusters and shares

Deleting an SMB share
Deleting an SMB share with imperative method
 ceph smb cluster rm CLUSTER_ID
For example,
 ceph smb share rm smb1 share1
{
  "resource": {
    "resource_type": "ceph.smb.share",
    "cluster_id": "smb1",
    "share_id": "share1",
    "intent": "removed"
  },
  "state": "removed",
  "success": true
}
Deleting an SMB share with declarative method

For more information about managing an SMB cluster and share using declarative methods, see Managing SMB clusters and shares.