mirror of
https://github.com/ceph/ceph
synced 2024-12-20 10:23:24 +00:00
d954de5546
A ceph udev action may be triggered before the local file systems are mounted because there is no ordering in udev. The ceph udev action delegates asynchronously to systemd via ceph-disk@.service which will fail if (for instance) the LVM partition required to mount /var/lib/ceph is not available yet. The systemd unit will retry a few times but will eventually fail permanently. The sysadmin can systemctl reset-fail at a later time and it will succeed. Add a dependency to ceph-disk@.service so that it waits until the local file systems are mounted: After=local-fs.target Since local-fs.target depends on lvm, it will wait until the lvm partition (as well as any dm devices) is ready and mounted before attempting to activate the OSD. It may still fail because the corresponding journal/data partition is not ready yet (which is expected) but it will no longer fail because the lvm/filesystems/dm are not ready. Fixes: http://tracker.ceph.com/issues/17889 Signed-off-by: Loic Dachary <loic@dachary.org>
11 lines
261 B
Desktop File
11 lines
261 B
Desktop File
[Unit]
|
|
Description=Ceph disk activation: %f
|
|
After=local-fs.target
|
|
Wants=local-fs.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
KillMode=none
|
|
ExecStart=/bin/sh -c 'timeout 120 flock /var/lock/ceph-disk /usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f'
|
|
TimeoutSec=0
|