That sounds like a perfect use of puppet/chef/salt, although I do see the
attraction of running diskless. I had a PXE-boot Gentoo machine running for
a while (with openrc), but wasn't satisfied with the speed. Maybe I did
something wrong or had something misconfigured, but I had a pretty decent
core i7 machine with 16G ram (fastest in my house) but the KDE desktop felt
closer to my cheapo Celeron laptop from 20 years ago (yes, it still works).
Once it loaded an app into RAM, it was spunky, but whenever it went to
"disk" it was excruciatingly slow (yes, it was a wired connection). I never
bothered to profile where the bottleneck was and just put a disk in the
machine for a local boot.

I am not as familiar with systemd, but usually everything is setup by the
initrd (which is loaded over the network via TFTP with the kernel) before
loading the rest of the system. The initrd should get the networking setup
and prepare for mounting the root fs. Another option is to just pack the
entire distro into the "initrd" and never pivotroot. I know some SBCs used
this tactic to "fastboot" - the initrd would be a cramfs that would expand
into RAM and the entire machine ran from RAM. You could further mount NFS
or NAS from there.

I agree with Daniel - probably not a single weekend project. But it could
be a lot of fun and you'd learn a ton about the intricacies of booting the
kernel.

On Fri, Dec 11, 2020 at 6:47 PM Dan Egli <[email protected]> wrote:

> On 12/11/2020 3:01 PM, Daniel Fussell wrote:
> > PXE booting is usually done to install a base image to a machine.  If
> > you want to PXE boot and run diskless clients, you may have to shuffle
> > some things into the initrd and change systemd service dependencies to
> > start the network before mounting the root filesystem and chrooting to
> it.
> >
> > As said before, to have a common filesystem/image with machine-specific
> > customization (whether made by systemd, admin, or user) , you are going
> > to have to get clever with overlayfs or some combination of small NFS or
> > local volumes mounted into the tree.  You will have to be careful that
> > processes needing files in the customized mount areas are not run before
> > the overlay/mounts are ready, else the processes may continue to use the
> > open file descriptors from the original volume.
> >
> Who said anything about machine specific? I'm looking at the idea of
> having 25-50 machines, identical hardware, identical software, identical
> uses. Only difference between them would be 1) hostname, 2) ip and 3)
> specific SET of data being processed.
>
> --
> Dan Egli
>  From my Test Server
>
>
> /*
> PLUG: http://plug.org, #utah on irc.freenode.net
> Unsubscribe: http://plug.org/mailman/options/plug
> Don't fear the penguin.
> */

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to