Some SCSI devices are listed as "tentative" by systemd
This document (000021057) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server for SAP Applications 15 SP3
Situation
# /bin/systemctl --no-pager --all list-units dev-sdf.device loaded activating tentative /dev/sdf dev-sdl.device loaded activating tentative /dev/sdl dev-disk-by\x2did-dm\x2duuid\x2dmpath\x2d360002ac000000000000000070002225b.device loaded active plugged /dev/disk/by-id/dm-uuid-mpath-360002ac000000000000000070002225b
Resolution
Cause
During boot, the SCSI device (e.g. /dev/sdf' in the example above under Situation) will be seen as "active/plugged" by systemd while processing the initramfs, because multipathd is inactive.
After switching the root file system, these devices are not "active" any more, and unusable for systemd, because they will now become members of a multipath device.
When systemd switches to the root file system, it re-executes itself, passing a list of previously detected device units to the re-executed instance by "serializing" and "deserializing" through a mechanism similar to a socket.
Recent systemd releases have changed the logic with which it treats the state of such "deserialized" devices before the devices are re-discovered by udev.
Older systemd releases would keep treating previously "plugged" device as "active/plugged".
This could cause a wrong setup of the storage stack and eventually boot failure for multipath setups.
Assuming that these devices are "inactive/dead" is also wrong; it could lead to other fatal errors, such as unmounting file systems that are still needed.
Therefore systemd was updated,and treats such devices as "tentative" now, until udev re-discovers them and reports them back to systemd. Using "tentative" state has the advantage that the devices will neither be prematurely activated nor deactivated by systemd, avoiding the above-mentioned errors.
For SCSI devices that are multipath members, udev sets the "SYSTEMD_READY=0" device property, and does not report these devices to systemd at all. Therefore they remain in systemd's internal device list in "tentative" state, and will be shown in this state by the `systemctl --all list-units` command.
This has no negative consequences.
If you are observing this device state just verify that the multipath device, that the respective SCSI devices are members of, is correctly activated.
The behavior changed with a change set that is mentioned in the changelog of the systemd package as follows:
7b47b3c306 core/device: ignore DEVICE_FOUND_UDEV bit on switching root
(bsc#1137373 bsc#1181658 bsc#1194708 bsc#1195157 bsc#1197570)
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021057
- Creation Date: 27-Apr-2023
- Modified Date:27-Apr-2023
-
- SUSE Linux Enterprise Server
- SUSE Linux Enterprise Server for SAP Applications
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com