The first chapter is dedicated to laying the ground where we will build upon. Our intent is coming up with a resilient, scalable, highly available & secure infrastructure, while possibly reducing at minimum later mangement overhead, and automate most trivial tasks. Advantages of what we will be doing will become clear as we go continuously re-egnineer, each time with a new discovery, our infrastructure.
Network booting the our Raspberry Pis, will help up us get rid of time spent physically removing, re-flashing, and inserting back an empty system, due to frequent data corruption issues, which SD cards are susceptible of, in fact, such storage media is not meant to read/write continously.
For network boot to operate in our environment, two services need to be configured, DHCP and TFTP. In our case, we have as DCHP server, a pfSense physical firewall. Follows the procdeure to configurate DHCP to provide our computing nodes with the necessary data, which will take a step toward our goal. [ the first of many :) ]
We assume you have a pfSense alredy configured, if not, take a look at this link for how to start with it.
1 Go to Services->DHCP Sever->[Interface] Enable DCHP for the interface 2 Select the device that we want to enable boot forenable network-boot feature, the tfpt server feature, and insert the IP address of your future tfpt server. Insert the filename that will be used to start the bootstrap process (bootcode.bin) 3 In our sinology NAS, go in Control Panel -> File services 4 Enable Tftp server, inserting the folder we will use to server the firmware to our devices}
This confuguration, would have the environment ready for network-booting our cluster.