Re: Help: Local and Remote targets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Understood but I don't have to worry about iscsi offloading for now.   Some theories I have to attack the problem but each has a problem and may be complex.

1) Since I can obtain udev/disk information when the system is in a multi-user already booted stated.  Check for "iscsi" devices and filesystems then create a file on "/" that has the device id and specify it as an iscsi device.  When the system reboots then check for that file, if it exists set state to REMOTE-FS target within fstab-generator.c

Problem:  I will have to manage create/remove such files within systemd especially if contents within /etc/fstab are manually modified by the user.  Where would be the best place to put such logic within systemd source?

2) Boot the system mounting only "/" and "/usr" and defer fstab-generatoration until the system is booted.  Then find a way to manually re-start fstab-generation after iscsi/network are operational.  After that restart systemd.

Problem: Unsure if this is reasonable. Wondering if doing so may introduce some kind of side effect issues regarding mounting and other services.

Note:
Really hoping for an easier way instead of trying to implement points (1) or (2)

Tony

On 8/20/19 3:33 PM, Rick Beldin wrote:
This might be problematic.  What will you do with iscsi devices that support
iscsi offload?  Those are typically completely invisible to the OS and just
appear as another HBA.

On 8/20/19 3:26 PM, Tony Rodriguez wrote:
I modified systemd-219 functionality to meet a custom requirement for
detecting filesystems/devices that use iscsi without using the _netdev keyword
in /etc/fstab.  It is a strict requirement regarding not using _netdev that I
have no control over.   However,  I am stuck.

 From my understanding, src/fstab-generator.c is used to determine LOCAL-FS and
REMOTE-FS.  I have modified fstab-generator.c to search for iscsi udev devices
which works, provided the system is already fully booted (typical multi-user
state type of thing).  I can also find /dev/disk/ block devices including
iscsi devices using my logic within fstab-generator.c.  The problem is when
the system reboots, it appears systemd using the same fstab-generator logic
that I implemented is unable to detect any iscsi devices.  After doing some
research, it appears normal systemd behavior is to mount  /  and /usr then
invoke fstab-generator.c to determine if a given filesystem in /etc/fstab
should be a local or remote target.

The problem is I have no way to tell if a given iscsi filesystem/device
specified in /etc/fstab (without the _netdev keyord ) is local/remote during
the booting state.  Mainly because devices are not yet populated in /dev/disk
or udev.  Is there a way I can determine if a filesystem/mount point/device
specified in /etc/fstab is local or remote without the _netdev or fstype
(which handles nfs, etc) keywords within fstab-generator.c? If checking udev
and /dev/disk are not possible within fstab-generator.c, because such devices
are not yet populated, then what should I modify within the systemd source so
I can determine such local/remote targets myself and pass it to
fstab-generator.c (especially when the system is in that / and /usr mounting
state and udev devices are not yet populated?

Thanks,
Tony
_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel


_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux