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.

Splash Mountain Syndrome – It’s not what you think

A couple months ago my friend Christopher asked his friends about getting comfortable with public speaking. I’ve told this story to small crowds from time to time, but never put it all out there… so here is how I contracted Splash Mountain Syndrome, and what it meant to my public speaking career.

Most of my readers are familiar with Impostor Syndrome, where you doubt you’re good enough to do your job or tell your story, or that there must be someone better out there. Most if not all of us in tech have dealt with this at one time or another, feeling like the turtle on the fencepost.

Image via https://commons.wikimedia.org/wiki/File:Splash_Mountain_at_Disneyland.JPG (This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.)

We’re going to Disneyland

Well, to explain what I experienced in my speaking career at Cisco, we have to go back to spring 2003. I was between jobs, and had gone down to Southern California to spend a weekend with a lady I was interested in. We went to the grand opening of Amoeba Records Hollywood, and also made my first trip to Disneyland.

She stood in line for nearly an hour with me for the Winnie the Pooh ride, so when she wanted to go on Splash Mountain, I figured I shouldn’t start letting her down quite so early in the relationship. So we went to Splash Mountain. The line was faster there for some reason.

As we went up on the ride to the top, I wondered if it was too late to back out. Maybe hop out at the basketball court and walk down, and probably get kicked out of the park. As we got closer to the mouth of the mountain, it became clear that I had no option but to hold on for dear life and deal with it. And as we emerged into the light, my legs clamped on the log car, I closed my eyes, and dropped.

As we walked away, I asked my companion if she’d heard a noise like a small rodent being strangled. “Yes,” she said. “That was you.”

How this applies to public speaking

I can say that it was more distance than drop ride disappointment that kept that from being a long term relationship, but similar feelings happened almost every time I got ready to travel for a speaking engagement.

I’d be eager to sign up for an event, whether a partner conference or partner sales event, Strata+Hadoop World, or Cisco Live. But the closer it got, even if I already had my presentation pretty much committed to memory, I’d start to think I made a terrible mistake, that I would dread the whole trip, that I’d get my first heckler, or that I should just let someone in marketing handle it.

The dread would intensify as I was packing, probably because even after six years of work travel, I still sucked at packing efficiently (I’m still not that great, despite lots of YouTube videos). But I’d still finish up the packing, with a laptop bag heavier than my clothing and coffee bag, and head off to Seattle or Atlanta or Manhattan or Las Vegas or Denver or wherever.

Of course, I’d do fine, entertain people with the fairly unique mix of facts, experience, humor, cultural references, and sarcasm that I became known for, and get good feedback afterward. We’d find a good restaurant for dinner, and then move on to the next adventure.

But the next time a trip came up, I’d go through the same cycle. At least I didn’t make the noise again.

As Martha Stewart would say, it’s a good thing

I think it was a good thing. I’ve seen speakers who are way too comfortable and lose their edge, their connection with the audience, or even their talk track. We’ve all been in sessions where the speaker is there because of title and clout rather than their scintillating message and delivery; I wonder how many of those people have lost Splash Mountain.

Splash Mountain Syndrome helped keep me on my toes, and definitely made sure that I didn’t get so comfortable with my content that I went into autopilot and lost audiences and credibility. It still led to an uncomfortable hour or more leading up to my trips, but I came out of it stronger and more confident.

Have you experienced anything like Splash Mountain Syndrome? Have any tips for people preparing for pulbic speaking? Share in the comments if you’d be so kind.

Crowdfunding Hits, Misses, and Lessons Learned

Back in November 2020, I wrote about some considerations and dramatics around crowdfunding campaigns. In this post, I’ll give you my top five and bottom five crowdfunding efforts, and maybe a lesson or two to take to the future.

This post has been sitting in my draft folder for a year now, but nothing has changed in it other than the recent time references, which I’ve left as they were in November 2020. I’ll come back with photos later, rather than putting this post off another year.

It was the best of times

My first crowdfunding campaign was the LunaTik and TikTok wrist cases for Apple’s 6th generation iPod Nano (the square one). MINIMAL Design came out with the first huge campaign in 2010, with over $942,000 in backers and a super high quality product that was delivered reasonably. My red LunaTik still sits on my desk, with a functional PRODUCT(RED) Nano in it, and a couple of years ago Scott Wilson, the founder of MINIMAL, mentioned that Apple had used his band/case as part of the prototype design and testing for the original Apple Watch. The watch has come a long way, but the product is still beautiful and functional ten years later. And they’ve come out with more products for the real Apple Watch since then.

Continue reading

Increasing Chia farmer efficiency with Flexpool’s new ‘FlexFarmer’

There’s an updated Flexfarmer post aso f January 2022. Check out Revisiting Flexfarmer five months later.

You’ve probably seen my previous Chia posts, including how to build an efficient but sufficiently beefy plotter/farmer. As a long-time datacenter guy, I like building affordable, powerful servers.

Chia-specific cryptocurrency posts

However, as many farmers have found, if you plot and farm on the same machine, I/O can impact your farming performance, whether it’s disk I/O within the box, or writing off to a network share somewhere.

On top of that, you have to maintain a full Chia node, and optimally set up distributed harvesting with a somewhat complicated process. The full node currently requires about 13GB of local storage and frequent writes, so a Raspberry Pi or the like with an SD card is suboptimal. This also requires up to two days (for most computers) to sync the node initially, during which time you’re not at your best as a farmer.

Imagine if you could farm with the plots you have, using a tiny computer with very little CPU / RAM / storage requirements, without running and maintaining a full node, and saving 100W or more in the process.

Flexpool has just released their ‘FlexFarmer’ program which does just that.

Disclosure: I do work for Flexpool, but this post is based on my experience, not a press release or the pool admin’s expectations. Some of the testing I did was “on the clock” alongside support tasks, but I was not paid or required to write this post.

What does FlexFarmer do?

At a high level, FlexFarmer communicates with a node proxy on the pool server to communicate work and space, instead of requiring a local full node to operate. This means that anything that would require a full Chia node is handled on a powerful, resilient node at the Flexpool end.

You do still need to install the full Chia software to create your wallet. There will probably be ways around this in the future. You will also want a more formidable system for plotting, as the Raspberry Pi isn’t good for more than 1-2 plots a day.

Continue reading

Thirty Days On The Front Lines: A return to tech support

In September 1996, I left my desk at IQuest Internet in Indianapolis for the last time. A friend from the MUDs I was on had talked me into talking to her brother, a recruiter at Taos Mountain Software, and two weeks later I had an offer, notice given for my apartment and my job, and the terrifying thought of driving 2300 miles with my possessions in a Ryder truck, my very unhappy cat in the front of the truck, and my Pontiac Grand Prix on a trailer it was too heavy for.

But on the flip side, I was getting out of the Midwest and its glorious winters, escaping a salaried position that ended up being a pay cut, and most importantly, leaving behind end-user tech support. For the next 25 years or so, I did tech support, and infrastructure/architecture/caffeine delivery systems, but for internal colleagues who were generally more aligned with my assigned priorities.

Now, I’ve gone back onto the front lines, supporting end users from around the world in several different languages (thanks to Google Translate or Bing Translate), explaining and troubleshooting and answering questions about cryptocurrency in general, Ethereum and Chia in particular, and specifically how to make them work with one of the more advanced mining pools.

As I told the owner when I started, I’ll scale back or even hand over the reigns altogether when I find something more in line with Silicon Valley expense levels, but for now, it’s an extension of what I’d been doing on Telegram since January, and it’s supplementing my coffers in the process.

I meant to write this last month, when it would have been 30 days, but the conversations get overwhelming and blog posts get distracted-from, so here we are closer to 60 days in reality.

What’s it like working for a mining pool?

Continue reading