Rate This Document
Findability
Accuracy
Completeness
Readability

Ceph OSD Occasionally Receives the SIGHUP Signal

Symptom

Environment settings

Hardware

Kunpeng server (25 x 2.5-inch drive expander chassis, 2 x Kunpeng 920 processor, 32 cores@2.6 GHz)

20 x HDD (2400 GB, SAS 12 Gb/s,10k RPM, 256 MB, 2.5-inch drive bay)

4 x SSD (1920 GB, SATA 6 Gb/s, mixed use, SM883 series, 2.5-inch drive bay)

OS

CentOS 7.6 (Kernel 4.14)

Problem description: The Ceph OSD occasionally receives the SIGHUP signal, and the Ceph OSD logs contain "Hangup from PID: 142000 task name: killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw."

Key Process and Cause Analysis

Ceph logs are retained for 7 days, with daily compression and rotation. However, handling the SIGHUP signal directly interrupts the service.

Conclusion and Solution

The configuration in /etc/logrotate.d/ceph is used for log file rotation and has no other side effects.

The logrotate configuration indicates that Ceph logs are retained for 7 days, with daily compression and rotation.

The configuration contains the following command:

postrotate
    killall -q -1 ceph-mon ceph-mds ceph-osd ceph-fuse radosgw || true

This command sends signals to those Ceph processes, which seems to shut them down.

In the killall command, -1 specifies a signal. According to signal(7) — Linux manual page, signal 1 is the SIGHUP signal. By default, handling the SIGHUP signal directly interrupts the service.