What I wish to achieve sounds simple (and to many of you it probably is), but I’ve been struggling. Here is what I wish to achieve:
I wish to build a scalable Pi cluster (only from Pi 3b+). I wish to have each node in the cluster NetBoot Raspbian Lite from a single image which is served from a Server Pi. This way I can have as many nodes as I wish (or add more nodes over time), but only manage one disk image for software or configuration changes, etc.
Each node is connected to the server Pi over a wired Ethernet connection through a switch.
The server Pi gets its internet via Wi-Fi, and it shares internet access to each of the nodes. (I’ve done this before by installing DCHP router software).
The server Pi runs Raspbian Full (GUI), and serves several functions (more on the Server Pi later).
Why I wish to NetBoot each node from a single disk image is so that it is very easy for me to modify this disk image as a boot instance: all I’d have to do is write this image to an SD card, boot a Pi with it, change the configuration or software, and then remake the image file, and serve it from the Server Pi to each node and thus I’ve scaled this cluster. (The compute platform I use is BOINC). Each time I add a Pi node (and configure it to NetBoot) it will automatically boot from this same image and add itself to the cluster.
I wish each node to have a blank (formatted) 8 or 16 GB SD card in it for write space (some computational tasks require disk space for temporary storage).
For the Server Pi, I’d like whatever server software we use to serve the boot image to the nodes to be able to host more than one boot image because I envision later to NetBoot different hardware from different images, from the same Server Pi.
The Server Pi also needs to have a monitoring & control application. These are the functions I’d like to have in this app, and my hope is that some of these network monitor and control functions already exist (?):
-list each node that has booted (all 4 or all 20 or however many NetBoot devices are booted; this needs to be dynamic, so that if I add a netbootable node to the cluster it shows up automatically)
-list stats (cpu temp, uptime, which image it has boot from, perhaps other data)
-All Node quit all apps, and All Node shutdown (BOINC saves work and shuts down, then Raspbian Lite shuts down)
-All Node quit all apps, and All Node reboot (BOINC saves work and shuts down, then Raspbian Lite reboots the Pi)
-any other features you think make sense
The server Pi will use the standard 7” touch panel LCD (Raspbian makes it).
While I have much of this hardware already, I suggest you start with 3 Pi: one Server Pi and two nodes. If the work adding more nodes should be as simple as configuring a new Pi to NetBoot and plugging it in.
Happy to discuss.
10 freelancere byder i gennemsnit $1352 på dette job
Hi Sir. I have good experiences with Raspberry Pi development. Please refer [login to view URL] I want to discuss details with you via chat. Looking forward your interview. Best Regards.