Project

General

Profile

Fix #47528

systemd: Support Graceful Reboot for AIO Node

Added by Wong Hoi Sing Edison over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Category:
-
Target version:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
octopus,nautilus
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Ceph AIO installation with single/multiple node is not friendly for loopback mount, especially always get deadlock issue during graceful system reboot.

We already have `rbdmap.service` with graceful system reboot friendly as below:

[Unit]
After=network-online.target
Before=remote-fs-pre.target
Wants=network-online.target remote-fs-pre.target

[Service]
ExecStart=/usr/bin/rbdmap map
ExecReload=/usr/bin/rbdmap map
ExecStop=/usr/bin/rbdmap unmap-all

This PR introduce:

  • `ceph-mon.target`: Ensure startup after `network-online.target` and before `remote-fs-pre.target`
  • `ceph-*.target`: Ensure startup after `ceph-mon.target` and before `remote-fs-pre.target`
  • `rbdmap.service`: Once all `_netdev` get unmount by `remote-fs.target`, ensure unmap all RBD BEFORE any Ceph components under `ceph.target` get stopped during shutdown

The logic is concept proof by https://github.com/alvistack/ansible-role-ceph_common/tree/develop; also works as expected with Ceph + Kubernetes deployment by https://github.com/alvistack/ansible-collection-kubernetes/tree/develop. No more deadlock happened during graceful system reboot, both AIO single/multiple no de with loopback mount.

Also see:

Signed-off-by: Wong Hoi Sing Edison


Related issues

Copied to Ceph - Backport #47576: octopus: systemd: Support Graceful Reboot for AIO Node Resolved
Copied to Ceph - Backport #47577: nautilus: systemd: Support Graceful Reboot for AIO Node Resolved

History

#1 Updated by Kefu Chai over 3 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Wong Hoi Sing Edison
  • Pull request ID set to 36776

#2 Updated by Patrick Donnelly over 3 years ago

  • Target version set to v16.0.0
  • Source set to Community (dev)
  • Backport set to octopus,nautilus

#3 Updated by Patrick Donnelly over 3 years ago

  • Status changed from Fix Under Review to Pending Backport

#4 Updated by Nathan Cutler over 3 years ago

  • Copied to Backport #47576: octopus: systemd: Support Graceful Reboot for AIO Node added

#5 Updated by Nathan Cutler over 3 years ago

  • Copied to Backport #47577: nautilus: systemd: Support Graceful Reboot for AIO Node added

#6 Updated by Nathan Cutler over 3 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF