Rabbit Launch: Loading up the NUC cluster with a usable operating system

As you saw in my 3D Printing series, after years of pondering a 3D printer, I was finally inspired to buy one when a pile of clusters came up on eBay from the defunct rabb.it video streaming service. In this series, I’ll take you through turning a rabbit door into some useful computing resources.

You can do something similar even after the clusters are sold out; a lot of people have probably bought the clusters and ended up not using them, so you’ll see boards on eBay or local marketplaces… or you can adjust the plans here to other models.

The previous installment, Rabbit Reorganization, can be found here. Stay tuned for more coverage.

Update December 2021: This post languished in the drafts folder for about a year. I’ve updated links, and I’ll be reporting on some changes since the October 2020 launch of this cluster soon.

Let’s NUC this cluster out

  1. Install memory, SATA cable, and SSD
  2. Upgrade BIOS and set some annoying settings
  3. Install your operating system
  4. Set up central control

Install memory, SATA cable, and SSD

This is the least interesting part of the process, but you’ll need to do it before you can install an OS.

Start by loading the SODIMM of your choice onto the board. If you’re using an SSD like I am, you’ll connect the SATA cable to the black SATA connector next to the front USB stack, and the power cable to the beige connector perpendicular to the SATA connector. If you’re using a standard SD card, plug it into the SD slot to the right (as shown with the MAC address label). If you’re going with netboot (local storage? where we’re going we don’t need local storage!), just connect your network cable.

Upgrade BIOS and set some annoying settings

I created a bootable FreeDOS USB drive with Rufus, a common free software product used to create bootable USB media from ISOs (think Linux, Windows, etc). From there, we get the latest BIOS from Intel’s Download Center and place the file on the bootable drive. (Further BIOS instructions available on Intel Support.)

Update: There is a September 2022 BIOS update (0081) I just discovered in December 2022. I had originally installed BIOS update 0079 released April 20, 2020. You’ll need to search for NUC5PPYH even though the board’s model is PPYB.

Connect a monitor and keyboard, plug in the bootable drive, and apply power (or just reset the board). Use the F7 key to go into onboard flash update and load the BIOS file from the flash drive, or choose to boot from the flash drive and use the DOS-style flasher from there.

When you’ve done the upgrade and the system has rebooted, go into the BIOS with the F2 key and choose BIOS default values. Then go into the menus to enable all the USB ports (for some reason the default is to enable ports 1-3, leaving physical port 4 and header ports 5-6 disabled) as well as the SATA port if you are using that for storage. I’d also check the boot order (move net boot down in preference or disable outright if you don’t plan to use it). You can choose other settings as desired, and then press F10 to save and reboot.

Install your operating system

The easiest way to roll out the NUC side of the door would be to netboot an installation infrastructure like Cobbler. One of the first things I did when I went to work for the Mouse 10 years ago was setting up Cobbler for a deployment of RHEL 5.5.

Sure enough, Cobbler is still a thing, with very recent updates. I was able to get partway there this time and then, after several dozen runs to the garage and back to power cycle nodes, I gave up and installed from local media.

For CentOS 8, I did a manual install booting from a Rufus-created USB drive, with the SSD installed. I configured my storage and network options by hand, as well as user and root credentials. This left an “anaconda.ks” kickstart file on the installed system, which I copied to a second flash drive.

For the additional systems, I plugged both the CentOS 8 installer and the drive with the kickstart file into the NUCs and booted from USB. I ran into some strange storage issues with the drive not being blank, despite having chosen the kickstart option. Ideally, you would boot from the USB installer, it would find your kickstart config, and just roll out the software without intervention from there.

After that, if your DHCP server doesn’t assign hostnames you like, you can go in and set hostnames with hostnamectl or the like.

Set up central control

If you use a configuration management platform like Ansible, Puppet, Chef, cfengine, or the like, you’ll want to set those up at this point.

I’ve gone with the lightweight method so far, with shared SSH keys from a management host (an Intel NUC with CentOS on it, originally intended to be the cobbler server).

Use ssh-keygen to create your key files, and then ssh-copy-id can be used to push out the keys to your hosts. Then look into a more manageable option.

Where do we go from here?

As I finish this post in December 2021, a year after the original build, I’m looking at going back and making a few changes to the cluster to bring it up as a Kubernetes platform.

With the demise of CentOS as many of us know it, I’m planning to replace the installed OSes with Ubuntu LTS. I’m planning to test out some cryptocurrency cpu-based mining, and run Kubernetes platform(s) on it as well, and bring my second door up to speed (the RAM has been sitting in a box in the living room for a year now).

There’s a chance I’ll even do some lightweight Chia farming, using either bus-powered USB hard drives or some of the extra power connectors from the fused expanders for standard Seagate externals.

For those of you who have bought and built up these doors, what did you do with them? Feel free to share details and blog post links in the comments. I’ll put interesting ones into the body of this post as I see them.

Just one more thing

One much later update – if you’re looking for one of the posts that inspired this 3d printed build, it’s “What in the NUC have I done?” from Reddit a few years back. The 20mm/25mm spacers are the key detail, and I’ve found it hard to find this post again looking for mixes of m2.5 20mm 25mm 30mm nuc nuc5 nuc5ppyh nuc5ppyb rabb.it spacer standoff etc. Now when I come back to look for it again in a year or two, I’ll hopefully find it here where I left it.

The 3d printed flats are here: https://www.printables.com/model/32486-nuc-cluster-plates/files

And yes, that means I have another project in mind. I think I know where my 8GB dimms for the second set of NUCs is, and I’m ready to give up on the TK1 boards, so that means 15 NUCs in one stack. Stay tuned, and be patient. Or don’t.

Building the Intel NUC Chia Plotter

In an earlier post, I shared a design for a Chia plotter/farmer based around the Intel NUC NUC10i7FNH tiny computer.

Today I built that machine, and it’s running its first plot as I type this.

If you landed here, you might be interested in my other recent Chia posts:

Pricing disclaimer: All prices, availability info, and links are accurate as of the writing of this article (May 3, 2021) unless otherwise noted. Prices vary from day to day and availability does too. Use this info with a grain of salt especially if you are reading this in 2022 or beyond.

Here’s a quick rundown of what was involved in the process.

Shopping List

Feel free to shop in your preferred venues online or locally, or if you already have components, use them. These links are Amazon affiliate links, and if you use them, I get a few bucks to go toward my next hardware adventure. (I bought my NUC and RAM from Central Computer, a local computer store in Silicon Valley, and the NVMe drive came from Amazon.)

Base computer – NUC10i7FNH1 currently $570 at Amazon. You want the i7, and you want the FNH which is the “high” case that holds a 2.5″ drive as well as the m.2.

RAM – 32GB (2x16GB) DDR4 2666 or better SODIMM. Crucial 16GBx2 kit around $182 at Amazon. You can install 64GB, but you probably don’t need it with this processor.

Boot drive – I used a Samsung PM851 that’s not available on Amazon at the moment. Any 2.5″ SATA drive will do, even a HDD. Amazon has the WD Blue SSD 250GB for $45 or 500GB for $60. If you have something else on hand that’s at least 120GB, go ahead and use it, or if you want some internal plot storage, get something bigger. 

Plotting drive – 2TB Inland Premium NVMe is popular with its 3200TBW rating, about $240 on Amazon but out of stock for the next week. If you watch your drive life, you can use cheaper NVMe or even SATA m.2 storage. But check the TBW (Total Bytes Written, or Terabytes Written) and warranty for your drive and take that into account. 

OS install drive – Get a USB 3.0 drive with 16GB or more space, and use Balena Etcher or Rufus to burn Ubuntu 20.04 LTS to it.I like the Sandisk Ultra 32GB for price point and quality, about $10 at Amazon

External long-term plot/farm storage – I’ll be using an 8TB external drive in the near term, but you can use whatever you have, even NAS storage. 

Bonus: Staging disk. A user on r/chia suggested using a staging drive to copy your final plot file to, so that your plot process ends faster than if it has to be copied to slow disk. You can then automate moving the plot files to your external HDD at your leisure, and get back to plotting again up to an hour faster. For this, you can use an external USB 3.0 or better SSD like the WD My Passport SSD ($150 for 1TB), Crucial X8 ($148 for 1TB), or pretty much any SSD that will hold a batch of your plots (1TB will hold 9 plot files). You can also use a directory on your NVMe drive for this, but make sure you don’t let it fill up.

Continue reading

Chia hardware starting points

I started writing this section as part of my So you want to farm Chia post, but that post was getting pretty long. So my hardware suggestions will make their own separate appearance here.

If you found this post first, please read So you think you want to farm chia? first. Then come back here. I’ll be waiting.

As I mentioned in the other post, start with what you have, if at all possible. An underused 2-4 cores of CPU, an extra 4-8GB of RAM, 300GB of temp space and a couple hundred gigabytes of permanent storage will get you going.

If you can’t start with what you already have, you can build a very viable system for around $1000. Since it’s not very specialized, you can reuse it for something else (a desktop, another software project, a VMware home server, etc) when you’re done, or when you outgrow it. 

These bills-of-materials will have some pricing and Amazon affiliate links. Prices are current as of the original posting, and will change over time. You can choose to buy them anywhere of course, or change the components up. If you’re in the San Francisco Bay Area, I’d recommend checking out Central Computer to support one of our few remaining local computer stores, and I’ll mention their advertised prices here as well as Amazon’s. Sign up for their Preferred Customer program and you will probably save a few bucks. I get nothing if you buy from them, except warm fuzzies. 

Also be aware that some of these items may be hard to find at times, as Chia is becoming more popular and a lot of popular items are getting bought up.

One last caveat before we get to the configurations:

If you’re using an SSD or NVMe drive for plotting, the plotting process will wear out the SSD eventually. A single plot uses up to 1.8TB of writes. Check your drive specs and figure out what lifespan to expect, and don’t use your boot disk as plotting space. As examples, the 1TB Samsung SSD980 is rated for 600TBW, or 333 plots (including failed ones), for $130. A Seagate Firecuda 520 1TB is rated for 1800TBW, or 1000 plots, for about $180. So spending about 50% more gets you 3x the endurance. 

Continue reading

So you think you want to farm chia?

Chia is a great fiber supplement for your diet. But have you considered it as a supplement to your cryptocurrency mining?

Please note: While this post was originally published in April 2021, and some screenshots are outdated, it is still largely accurate and not outdated as a whole. New plotters have come out, more data is available on the Chia wiki for hardware configurations and drive options, and in general this is still a good primer. 

A package of Target Simply Balanced chia seeds

Chia is a proof-of-space-and-time cryptocurrency, invented by Bittorrent creator Bram Cohen and inspired/designed after Satoshi Nakamoto’s original Bitcoin paper. You can read plenty of the underlying details and math around it at chia.net, but what I’ll be covering here is an introduction to how Chia works for the person making it, and how to get started with Chia.

You should read this post first, but I have hardware suggestions in another post, and both the chia.net website and chiadecentral.com have plenty of ideas as well.

There is a Frequently Ungoogled Chia Questions post available as of May 11, 2021; it will get most updates, although if anything in this post becomes totally wrong, I will fix it. 

I wrote up my NUC plotter build step by step.


I also need to note that, while I appreciate all of the feedback and the record-setting number of viewers to this post, I cannot provide free consulting and rig reviews to everyone who submits a configuration. I’m happy to try to address specific questions in the comments, but general “help me get started” and “what hardware should I use” questions are answered in these posts and I won’t be able to review everyone. 

 

First, The Caveats

Read this post, and some of the linked resources, but the best thing to do is to start with what you have on hand. A big part of the design of Chia is to use reusable components (unlike ASIC mining and even certain GPU mining, which eventually outgrows the components, which will then be less useful for any other use). 

If you have a modern desktop with 8+ CPU threads, 16GB or more of RAM, at least 300GB of free SSD space and at least a few terabytes of HDD, you’re good to go. 

If you don’t have anything like that, I’ll share my own configurations below, as well as some hardware lists in an accompanying post to help you find a manageable starter farm for around $1000 and another more scalable one for under $2000 (less if you start from an existing system or components) . You can also find hundreds of tested configs on the Chia subreddit and various blogs. 

If you decide later to invest thousands of dollars in hard drives, SSD, big CPUs, and lots of RAM, you’ll better understand how the process works and where to put your money. Or if you’re like me and have a pile of old servers in the garage, you’ll be able to upgrade what you already have and make the most of it. 

If you’re using an SSD or NVMe drive for plotting, the plotting process will wear out the SSD eventually, although it will take a lot of effort to do so.  A single plot uses up to 1.8TB of writes. Check your drive specs and figure out what lifespan to expect, and don’t use your boot disk as plotting space. As examples, the 1TB Samsung SSD980 SSD is rated for 600TBW, or 333 plots (including failed ones), for $130. A Seagate Firecuda 520 1TB is rated for 1800TBW, or 1000 plots, for about $180. So spending about 50% more gets you 3x the endurance.

But be aware that the TBW rating is more of a warranty consideration, rather than a “this drive will die after X TBW” consideration. You can dig into details of how they’re rated, and you’ll find that drives will often last way beyond the TBW rating especially when used for large sequential writes or heavy read ratios (both of which apply to Chia plotting). 

And don’t expect to get rich on day one. For starters, Chia transactions don’t open up until May, so you can’t do anything with your Chia until then. And it may take you days, weeks, or months to find Chia, and none of us know yet where the value of the currency will go. Calculator sites are estimating $20. Some speculative sellers are looking at a lot more than that. But today, it’s just pre-farming and getting ready for the full launch next month.

Continue reading

Colin Quinn and the Art of Mining Rig Maintenance

I’ve been doing a lot with cryptocurrency mining lately, so there’s been a lot of activity here on rsts11 about it as well. For this post, a lot of the concepts can apply to a home lab in general, although it was inspired by several conversations on mining channels on Telegram and Discord over the past month.

In the late 1980s, actor Colin Quinn was an announcer on a game show called Remote Control. It’s not terribly remarkable in context, but as I’ve had a few people of differing technical levels ask about remote control for their mining rigs, it seemed relevant. 

Whether you’re managing a single server, a home lab, a mining rig, or an entire farm, it’s likely that your gear will not be in  your home office or possibly not even in your home at all, but you won’t want to travel to where the gear is everytime something needs to be power cycled. In the case of one of the people I consulted for recently, he was going to deploy mining rigs at a friend’s house in another country, and would not be able to be hands-on with the gear more than 2-3 times a year.  

So the considerations I’m making here are tuned for a relatively small number of systems that may not have IPMI console access, and may not have convenient access or remote hands services available. In a datacenter or similar environment, you may have contracted services to send someone to hit the reset button or look for issues. For many of my readers, this is not a luxury you’ll enjoy. 

My own remote access adventure happened when my oldest mining rig was a few miles from home. Thanks to my Meraki networks, I did have direct VPN access, but the rig would occasionally crash and require a physical power cycle. It was only 5-10 minutes each way, and I did have 24/7 access to the facility, but it got very inconvenient at times. 

The considerations I’ll layout here fall into a couple of categories. 

  1. Network access (usually via VPN of some sort)
  2. Console access (remote KVM)
  3. Power control (remote power controller over Ethernet, via #1 above)

Disclosure: Neither Robert M Persig, Colin Quinn, nor Ken Ober have any association or endorsement or even awareness of this blog post. 

Continue reading