systemd: Support Graceful Reboot for AIO Node
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.
Signed-off-by: Wong Hoi Sing Edison firstname.lastname@example.org