[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dhcwg] netboot: why multiple URLs?
I've had some offline discussions with some of the authors of the
netboot document, and I'm still unclear on exactly why there are
multiple URLs and what the intended behavior is.
As currently specified, the BOOTFILE_URL option can appear multiple
times, and a precedence field indicates an ordering in which the
client should use them. If booting from the first URL fails, the
client tries the next, and so on.
Am I correct in assuming that the goal here is to achieve some sort of
crude loadbalancing? That is, if the first URL doesn't work (due to
load), you have a fallback? Or is there more to this?
Other thoughts:
1) it seems to me that if the client is given a list of URLs to boot
from, they should all point to the SAME image, and use the SAME
BOOTFILE_PARAMs. Otherwise, the implication would be that you load a
different image (and system) depending on which URL you used. That
doesn't seem like ideal behavior... (My understanding from the
document though is that the intended behavior is to have different
URLs boot different images.)
2) If load balancing is the goal, a prcededence field as defined in
the document doesn't seem well designed (e.g., you can't have multiple
URLs at the same precedence). Far better would be to do something like
DNS SRV RRs do, where there are weights to distribute the load amoung
multiple, identical servers, in a more predictable fashion.
3) If, in fact, you want all URLs to provde the SAME image, than you
would also presumably want the provide the same boot params. In that
case, having multiple (different) BOOT_PARAM options seems
unnecessary.
4) in the "power up" scenario, where everyone boots at the same time
after a power failure, you want to distribute the load among mulitple
servers. The current definition in the document, where if booting from
one URL fails you try another, seems suboptimal because the definition
of "fail" in this case may really correspond to very slow loading,
rather than outright failure. This again implies that document as
written today doesn't adequately address load balancing IMO.
Can someone clarify what the actual requirements are here for
including multiple BOOTFILE_URLs and what problem they are intended to
be a solution to?
Thomas