"Stateless Linux" project
Miles Sabin
miles at milessabin.com
Mon Sep 13 21:55:56 UTC 2004
Havoc Pennington wrote,
> Right, for a sufficiently low number of machines, setting up an
> elaborate framework is going to be more annoying than just managing
> them all separately. Though we should try to make the framework easy
> enough to use that it makes sense even for a single machine, if we
> can.
Do you have any feel for how low that number is given the current stage
of development?
> I think there are maybe a couple answers to your question.
>
> 1) Should there be some kind of OS 'layering' (words like 'profile'
> or 'inheritance' come to mind).
<snip/>
> But the idea is that any system on the network can run any workload
> (workload = service, or even have desktop users log in). You then
> keep a central mapping that assigns workloads to specific machines,
> but you can change that mapping as required.
>
> This seems like the ideal, while in one sense "profiles" feels like a
> workaround.
I'm not so sure about this. There are many scenarios where it makes
sense to restrict particular roles to a specific set of hosts, or to
restrict particular hosts to a specific set of roles. Security is one
(eg., to take an extreme example, I don't want a firewall to be able to
run any workload) but it's not the only one.
> 2) How can you avoid a separate 'profile' to make small changes.
> This is a matter of pulling state out of the OS install and config
> files. We've been approaching this by saying there's a toolbox you
> can use. Here are some of the approaches in the toolbox:
>
> - dynamic/automatic configuration
> - look up configuration from a central place, e.g. a directory
> server, or even a file share
> - write scripts that examine the machine and determine its desired
> configuration based on hardware, network location, or by looking
> up configuration from a central place
> - move the configuration to be per-user rather than per-computer
>
> So some of this can be done out of the box in the OS; for example for
> desktops, NetworkManager helps address network configuration that
> varies between machines. A good kudzu helps avoid hardware config in
> general. etc. But you'd expect a local site to do some work as well.
As you say, a lot of this works already ... I work with parallel
applications on clusters, and common configuration in a shared
filesystem with symmetry-breaking via hostname works fabulously well
given how trivial it is to set up (until the NFS server goes down, that
is ;-).
But it's pretty much limited to machines which are always connected to
the same network. Extending this to laptops which move between
networks, or no network at all could be a lot more challenging. OTOH, a
scheme which could handle that case as well would be a huge bonus.
> Anyway, to the extent that machines can vary by workload rather than
> by install profile, so there can be a single install profile, that
> seems desirable.
>
> I'm kind of sleepy so sorry if this answer is sort of muddled; but I
> think your questions really get to the heart of what we're trying to
> solve here.
No, I think that it was clear and to the point. And I think it's an
excellent problem to be trying to solve.
Cheers,
Miles
More information about the fedora-devel-list
mailing list