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. */
