Re: Failover root devices

From: Drew DeVault
Date: Thu Sep 17 2015 - 13:31:27 EST


That said, using the term failover for this is probably not the best
idea, many people associate it almost exclusively with online failover
and high-availability setups, and trying to do something like that with
the root file system is just asking for trouble (I'll be happy to go
into specifics as to why if someone asks).

Do you have a suggestion for another name for this feature? Maybe we can just call it "multiple root devices". The issue comes with the associated command line options, like "rootfailoverdelay". Perhaps it could be called "rootcycledelay". "rootdelay" is the obvious one, but it's taken for another feature.

1. Wait rootdelay seconds
2. Check 1st device, not present
3. Recheck 1st device until rootfailoverdelay seconds has passed
4. Move on to 2nd device, present -> boot

Or:

1. Wait rootdelay seconds
2. Check 1st device, not present
3. Recheck 1st device until rootfailoverdelay seconds has passed
4. Move on to 2nd device, not present
5. Recheck 2st device until rootfailoverdelay seconds has passed
6. GOTO 2

And so on.
As for this, I'd say default to the first method, and then provide an
option to switch to the second (both have practical uses).

Sorry to cause confusion - these are actually the same method, but handling different scenarios. The first is dealing with the first device being nonexistent, and the second device existing. The second is dealing with both being nonexistent, and cycling between them until one of them shows up. After further thought, though, I think the best solution is a bit different: a new command line option called "rootmultiwait" or similar, which is a maximum amount of time to wait for the user's first choice of root device to become available, then testing all devices until that time runs out or the first choice becomes available.

--
Drew DeVault
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/