On 01/03/2017 10:51 PM, Andrew Patterson wrote:
> On 01/03/2017 01:27 PM, Christian Seiler wrote:
>> On 01/03/2017 09:10 PM, Andrew Patterson wrote:
>>>> How does the rest of the boot process proceed then? What happens
>>>> when iscsiuio is to be started regularly at boot from the systemd
>>>> service / init script?
>>>> Is the iscsiuio from the initramfs required
>>>> to be running at all times during the iSCSI session or can it be
>>>> restarted, as long as the time during which that happens is brief
>>>> enough? Is it required to be kept around during shutdown if it's
>>>> on iSCSI?
>>>
>>> I don't believe it needs to be running to support traffic, just when
>>> doing logins. I will test to confirm.
>>
>> That would be ideal. :)
> 
> I tried running a load with a data integrity check while starting and
> stopping iscsiuio numerous times. I did not see any issues either
> with performance or data integrity.

Did you try stopping iscsiuio for longer periods of time? For
example more than 20 minutes? I would like to know what happens
if you hit ARP timeouts.

>> As far as I can tell from skimming the source iscsiuio is also
>> responsible for doing ARP and responding to ICMP  - but even
>> then it wouldn't be a problem for restarting in that case, as
>> long as the MAC address of the target (or a router on the way
>> to the target) doesn't change during restart.
>>
> 
> It this likely to be an issue in the one or two seconds between
> transitioning between the initramfs and sysvinit/systemd?

It's only a couple of seconds if there's no fsck running for
another partition. Then it could easily be minutes or even
longer, depending on the partition size, the number of files
and the filesystem in question.

>>>> Does it follow systemd's process name convention to make
>>>> sure systemd doesn't kill it during shutdown?
> 
> I don't see any special handling of iscsiuio in systemd shutdown.

I meant this:

https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/
(The @-stuff is only relevant if the binary is _not_ started
via a systemd service.)

OTOH, since iscsiuio is apparently not required to be running
while data is transferred, killing it at shutdown deosn't
seem to be that big of a deal.

> It looks like we can use start-stop-daemon in local-top and
> local-bottom to gracefully start and stop the daemon.

Yes, that appears to be the case.

>>>> Before I add the aforementioned steps 1 & 2 I'd like to be sure that
>>>> this actually works properly beyond the initramfs. So any
>>>> information related to that would be appreciated.
>>>
> 
> Is my current testing enough or do we need to do more? If the later,
> what sort of test would you like me to run?

See my request above: if after 20 minutes of iscsiuio being
offline everything is still fine, I'd be fine with it. If it's
less, it depends on how much less.

That said: your initial tests are sufficient for me to upload
a version of open-iscsi that includes support for this to
the 'experimental' suite, so I'll do that either tomorrow or
on Thursday, depending on when I'll find time for that. If you
could then test this (and write down how you set this up so
we can add it to README.Debian), and give me feedback on the
"iscsiuio is offline for longer" test, then I'd be fine with
uploading this to unstable so it makes it into Stretch.

Other than #850057: does iscsistart need additional changes to
work with iscsiuio? One would probably need to pass
-P iface.transport_name=bnx2i -P iface.net_ifacename=eth0
-P iface.hwaddress=aa:bb:cc:dd:ee:ff or similar, right?

Regards,
Christian

Reply via email to