Chapter 2. Understanding process management for Ceph As a storage administrator, you can manipulate the various Ceph daemons by type or instance, on bare-metal or in containers. Manipulating these daemons allows you to start, stop and restart all of the Ceph services as needed. 2.1. Prerequisites Installation of the Red Hat Ceph Storage software. 2.2. Ceph process management In Red Hat Ceph Storage, all process management is done through the Systemd service. Each time you want to start , restart , and stop the Ceph daemons, you must specify the daemon type or the daemon instance. Additional Resources For more information about using Systemd, see the chapter Managing services with systemd in the Red Hat Enterprise Linux System Administrator's Guide . 2.3. Starting, stopping, and restarting all Ceph daemons Start, stop, and restart all Ceph daemons as an admin from the node. Prerequisites A running Red Hat Ceph Storage cluster. Having root access to the node. Procedure Starting all Ceph daemons: Stopping all Ceph daemons: Restarting all Ceph daemons: 2.4. Starting, stopping, and restarting the Ceph daemons by type To start, stop, or restart all Ceph daemons of a particular type, follow these procedures on the node running the Ceph daemons. Prerequisites A running Red Hat Ceph Storage cluster. Having root access to the node. Procedure On Ceph Monitor nodes: Starting: Stopping: Restarting: On Ceph Manager nodes: Starting: Stopping: Restarting: On Ceph OSD nodes: Starting: Stopping: Restarting: On Ceph Object Gateway nodes: Starting: Stopping: Restarting: 2.5. Starting, stopping, and restarting the Ceph daemons by instance To start, stop, or restart a Ceph daemon by instance, follow these procedures on the node running the Ceph daemons. Prerequisites A running Red Hat Ceph Storage cluster. Having root access to the node. Procedure On a Ceph Monitor node: Starting: Stopping: Restarting: Replace MONITOR_HOST_NAME with the name of the Ceph Monitor node. On a Ceph Manager node: Starting: Stopping: Restarting: Replace MANAGER_HOST_NAME with the name of the Ceph Manager node. On a Ceph OSD node: Starting: Stopping: Restarting: Replace OSD_NUMBER with the ID number of the Ceph OSD. For example, when looking at the ceph osd tree command output, osd.0 has an ID of 0 . On a Ceph Object Gateway node: Starting: Stopping: Restarting: Replace OBJ_GATEWAY_HOST_NAME with the name of the Ceph Object Gateway node. 2.6. Starting, stopping, and restarting Ceph daemons that run in containers Use the systemctl command start, stop, or restart Ceph daemons that run in containers. Prerequisites Installation of the Red Hat Ceph Storage software. Root-level access to the node. Procedure To start, stop, or restart a Ceph daemon running in a container, run a systemctl command as root composed in the following format: Replace ACTION is the action to perform; start , stop , or restart . DAEMON is the daemon; osd , mon , mds , or rgw . ID is either: The short host name where the ceph-mon , ceph-mds , or ceph-rgw daemons are running. The ID of the ceph-osd daemon if it was deployed. For example, to restart a ceph-osd daemon with the ID osd01 : To start a ceph-mon demon that runs on the ceph-monitor01 host: To stop a ceph-rgw daemon that runs on the ceph-rgw01 host: Verify that the action was completed successfully. For example: Additional Resources See the Understanding process management for Ceph chapter in the Red Hat Ceph Storage Administration Guide for more information. 2.7. Viewing the logs of Ceph daemons that run in containers Use the journald daemon from the container host to view the logs of a Ceph daemon from a container. Prerequisites Installation of the Red Hat Ceph Storage software. Root-level access to the node. Procedure To view the entire Ceph log, run a journalctl command as root composed in the following format: Replace DAEMON is the Ceph daemon; osd , mon , or rgw . ID is either: The short host name where the ceph-mon , ceph-mds , or ceph-rgw daemons are running. The ID of the ceph-osd daemon if it was deployed. For example, to view the entire log for the ceph-osd daemon with the ID osd01 : To show only the recent journal entries, use the -f option. For example, to view only recent journal entries for the ceph-mon daemon that runs on the ceph-monitor01 host: Note You can also use the sosreport utility to view the journald logs. For more details about SOS reports, see the What is an sosreport and how to create one in Red Hat Enterprise Linux? solution on the Red Hat Customer Portal. Additional Resources The journalctl(1) manual page. 2.8. Enabling logging to a file for containerized Ceph daemons By default, containerized Ceph daemons do not log to files. You can use centralized configuration management to enable containerized Ceph daemons to log to files. Prerequisites Installation of the Red Hat Ceph Storage software. Root-level access to the node where the containerized daemon runs. Procedure Navigate to the var/log/ceph directory: Example Note any existing log files. Syntax Example In the example, logging to files for OSD.0 and OSD.3 are already enabled. Fetch the container name of the daemon for which you want to enable logging: Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 Use centralized configuration management to enable logging to a file for a Ceph daemon. Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 The DAEMON_NAME is derived from the CONTAINER_NAME . Remove ceph- and replace the hyphen between the daemon and daemon ID with a period. Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 Optional: To enable logging to a file for the cluster log, use the mon_cluster_log_to_file option: Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 Validate the updated configuration: Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 8 Example Optional: Restart the Ceph daemon: Syntax Example Validate that the new log files exist: Syntax Example Two new files were created, ceph-mon.host01.log for a Monitor daemon and ceph.log for the cluster log. Additional Resources For more information, see Configuring logging section in the Red Hat Ceph Storage Troubleshooting Guide . 2.9. Gathering log files of Ceph daemons To gather log files of Ceph daemons, run the gather-ceph-logs.yml Ansible playbook. Currently, Red Hat Ceph Storage supports gathering logs for non-containerized deployments only. Prerequisites A running Red Hat Ceph Storage cluster deployed. Admin-level access to the Ansible node. Procedure Navigate to the /usr/share/ceph-ansible directory: Run the playbook: Wait for the logs to be collected on the Ansible administration node. Additional Resources See the Viewing log files of Ceph daemons that run in containers section in the Red Hat Ceph Storage Administration Guide for more details. 2.10. Powering down and rebooting Red Hat Ceph Storage cluster Follow the below procedure for powering down and rebooting the Ceph cluster. Prerequisites A running Red Hat Ceph Storage cluster. Having root access. Procedure Powering down the Red Hat Ceph Storage cluster Stop the clients from using the RBD images and RADOS Gateway on this cluster and any other clients. The cluster must be in healthy state ( Health_OK and all PGs active+clean ) before proceeding. Run ceph status on a node with the client keyrings, for example, the Ceph Monitor or OpenStack controller nodes, to ensure the cluster is healthy. If you use the Ceph File System ( CephFS ), the CephFS cluster must be brought down. Taking a CephFS cluster down is done by reducing the number of ranks to 1 , setting the cluster_down flag, and then failing the last rank. Example: Setting the cluster_down flag prevents standbys from taking over the failed rank. Set the noout , norecover , norebalance , nobackfill , nodown and pause flags. Run the following on a node with the client keyrings. For example, the Ceph Monitor or OpenStack controller node: Shut down the OSD nodes one by one: Shut down the monitor nodes one by one: Rebooting the Red Hat Ceph Storage cluster Power on the administration node. Power on the monitor nodes: Power on the OSD nodes: Wait for all the nodes to come up. Verify all the services are up and the connectivity is fine between the nodes. Unset the noout , norecover , norebalance , nobackfill , nodown and pause flags. Run the following on a node with the client keyrings. For example, the Ceph Monitor or OpenStack controller node: If you use the Ceph File System ( CephFS ), the CephFS cluster must be brought back up by setting the cluster_down flag to false : Verify the cluster is in healthy state ( Health_OK and all PGs active+clean ). Run ceph status on a node with the client keyrings. For example, the Ceph Monitor or OpenStack controller nodes, to ensure the cluster is healthy. 2.11. Additional Resources For more information on installing Ceph see the Red Hat Ceph Storage Installation Guide

Commands:
systemctl start ceph.target
systemctl stop ceph.target
systemctl restart ceph.target
systemctl start ceph-mon.target
systemctl stop ceph-mon.target
systemctl restart ceph-mon.target
systemctl start ceph-mgr.target
systemctl stop ceph-mgr.target
systemctl restart ceph-mgr.target
systemctl start ceph-osd.target
systemctl stop ceph-osd.target
systemctl restart ceph-osd.target
systemctl start ceph-radosgw.target
systemctl stop ceph-radosgw.target
systemctl restart ceph-radosgw.target
systemctl start ceph-mon@ MONITOR_HOST_NAME
systemctl stop ceph-mon@ MONITOR_HOST_NAME
systemctl restart ceph-mon@ MONITOR_HOST_NAME
systemctl start ceph-mgr@ MANAGER_HOST_NAME
systemctl stop ceph-mgr@ MANAGER_HOST_NAME
systemctl restart ceph-mgr@ MANAGER_HOST_NAME
systemctl start ceph-osd@ OSD_NUMBER
systemctl stop ceph-osd@ OSD_NUMBER
systemctl restart ceph-osd@ OSD_NUMBER
systemctl start ceph-radosgw@rgw. OBJ_GATEWAY_HOST_NAME
systemctl stop ceph-radosgw@rgw. OBJ_GATEWAY_HOST_NAME
systemctl restart ceph-radosgw@rgw. OBJ_GATEWAY_HOST_NAME
systemctl ACTION ceph- DAEMON @ ID
systemctl restart ceph-osd@osd01
systemctl start ceph-mon@ceph-monitor01
systemctl stop ceph-radosgw@ceph-rgw01
systemctl status ceph- DAEMON @ ID
systemctl status ceph-mon@ceph-monitor01
journalctl -u ceph- DAEMON @ ID
journalctl -u ceph-osd@osd01
journalctl -fu ceph- DAEMON @ ID
journalctl -fu ceph-mon@ceph-monitor01
cd /var/log/ceph
ls -l /var/log/ceph/
ls -l /var/log/ceph/ total 396 -rw-r--r--. 1 ceph ceph 107230 Feb 5 14:42 ceph-osd.0.log -rw-r--r--. 1 ceph ceph 107230 Feb 5 14:42 ceph-osd.3.log -rw-r--r--. 1 root root 181641 Feb 5 14:42 ceph-volume.log
docker ps -a
podman ps -a
docker exec CONTAINER_NAME ceph config set DAEMON_NAME log_to_file true
exec CONTAINER_NAME ceph config set DAEMON_NAME log_to_file true
docker exec ceph-mon-host01 ceph config set mon.host01 log_to_file true
podman exec ceph-mon-host01 ceph config set mon.host01 log_to_file true
docker exec CONTAINER_NAME ceph config set DAEMON_NAME mon_cluster_log_to_file true
exec CONTAINER_NAME ceph config set DAEMON_NAME mon_cluster_log_to_file true
docker exec ceph-mon-host01 ceph config set mon.host01 mon_cluster_log_to_file true
podman exec ceph-mon-host01 ceph config set mon.host01 mon_cluster_log_to_file true
docker exec CONTAINER_NAME ceph config show-with-defaults DAEMON_NAME | grep log_to_file
exec CONTAINER_NAME ceph config show-with-defaults DAEMON_NAME | grep log_to_file
podman exec ceph-mon-host01 ceph config show-with-defaults mon.host01 | grep log_to_file log_to_file true mon default[false] mon_cluster_log_to_file true mon default[false]
systemctl restart ceph- DAEMON @ DAEMON_ID
systemctl restart ceph-mon@host01
ls -l /var/log/ceph/
ls -l /var/log/ceph/ total 408 -rw-------. 1 ceph ceph 202 Feb 5 16:06 ceph.audit.log -rw-------. 1 ceph ceph 3182 Feb 5 16:06 ceph.log -rw-r--r--. 1 ceph ceph 2049 Feb 5 16:06 ceph-mon.host01.log -rw-r--r--. 1 ceph ceph 107230 Feb 5 14:42 ceph-osd.0.log -rw-r--r--. 1 ceph ceph 107230 Feb 5 14:42 ceph-osd.3.log -rw-r--r--. 1 root root 181641 Feb 5 14:42 ceph-volume.log
cd /usr/share/ceph-ansible
ansible-playbook infrastructure-playbooks/gather-ceph-logs.yml -i hosts
ceph fs set FS_NAME max_mds 1 ceph mds deactivate FS_NAME :1 # rank 2 of 2 ceph status # wait for rank 1 to finish stopping ceph fs set FS_NAME cluster_down true ceph mds fail FS_NAME :0
ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause
systemctl stop ceph-osd.target
systemctl stop ceph-mon.target
systemctl start ceph-mon.target
systemctl start ceph-osd.target
ceph osd unset noout ceph osd unset norecover ceph osd unset norebalance ceph osd unset nobackfill ceph osd unset nodown ceph osd unset pause
ceph fs set FS_NAME cluster_down false