The pre-baked way to do this is the Linux Terminal Server Project:
https://ltsp.org/

Of course, it's also possible to network-boot Windows via PXE and iSCSI,
although I personally have no experience with this:
https://docs.microsoft.com/en-us/windows-server/storage/iscsi/iscsi-boot-overview

Good luck!

On Sat, Dec 12, 2020 at 12:12 AM Dan Egli <[email protected]> wrote:

> Okay, any idea where I should start looking? I don't mind that it's not
> a weekend project, but I really don't want to replicate the same system
> 50+ times. My original idea was that since each computer would need it's
> own working directory to keep track of all work done and to work on it's
> own scratch files what I'd do is have a script that creates a symlink to
> the correct directory. I.e. /home/worker -> /tmp/worker ->
> /home/worker-25. Each worker MUST have it's own directory, and it can
> not be volatile. If they info is missing they will go onto the internet
> to re-download it before doing anything. That's a lot of wasted time and
> bandwidth.
>
> Like I said, the main goal here is to be DISKLESS. If I make another
> machine, I want to get all the hardware plugged in, register it's MAC,
> then boot it and let it run. No software installation needed since all
> the software is already being used on the network. Just have the
> registration process make a new worker folder, copy the base contents
> across into the new folder, add the MAC and give it a hostname (i.e.
> worker-21) and reserved IP in the DHCP system. And since I've never been
> able to figure out how to serve specific IP addresses to specific MAC
> addresses with Systemd's networkd, I'll just use ISC DHCPd.
>
> On 12/11/2020 11:12 PM, James Simister wrote:
> > 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.
> > */
>
> --
> 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