If you read the title of this blog post and are thinking, "10 Gbps on a Pi? You're nuts!," well, check out my video on using the ASUS XG-C100C 10G NIC on the Raspberry Pi CM4. Back? Good.
To be clear: it's impossible to route 10 gigabits of total network throughput through any Raspberry Pi on the market today.
But it is possible to connect to a 10 gigabit network at 10GBase-T speeds using a Raspberry Pi Compute Module 4 and an appropriate PCI Express 10G NIC. And on my Pi PCI Express site, I documented exactly how I got an ASUS XG-C100C working on the Raspberry Pi. All it takes is a quick recompile of the kernel, and away it goes!
Now that I have a half-height rack and a 3D Printer, I figured I should finally move all my Raspberry Pis from sitting in odd places in my office to the rack. And what better way than to print my own 1U Raspberry Pi Rack mount unit?
The rack unit you see above was assembled from 6 'frames', 6 hot-swappable Pi carrier trays, 2 rack mount ears, and a couple lengths of threaded rod for rigidity.
It was printed from these plans from russross on Thingiverse; Russ Ross also made an assembly video, and shows how you can build a 2U 12-Pi enclosure using the same basic design, with interchangeable Pi trays!
There is more detail and a full walkthrough of my home rack in this video:
Since the day I received a pre-production Raspberry Pi Compute Module 4 and IO Board, I've been testing a variety of PCI Express cards with the Pi, and documenting everything I've learned.
The first card I tested after completing my initial review was the IO Crest 4-port SATA card pictured with my homegrown Pi NAS setup below:
But it's been a long time testing, as I wanted to get a feel for how the Raspberry Pi handled a variety of storage situations, including single hard drives and SSD and RAID arrays built with
I also wanted to measure thermal performance and energy efficiency, since the end goal is to build a compact Raspberry-Pi based NAS that is competitive with any other budget NAS on the market.
tl;dr: EFS is NFS. Networked file systems have inherent tradeoffs over local filesystem access—EFS doesn't change that. Don't expect the moon, benchmark and monitor it, and you'll do fine.
On a recent project, I needed to have a shared network file system that was available to all servers, and able to scale horizontally to anywhere between 1 and 100 servers. It needed low-latency file access, and also needed to be able to handle small file writes and file locks synchronously with as little latency as possible.
Amazon EFS, which uses NFS v4.1, checks all of those checkboxes (at least, to a certain extent), and if you're already building infrastructure inside AWS, EFS is a very cost-effective way to manage a scalable NFS filesystem. I'm not going to go too much into the technical details of EFS or NFS v4.1, but I would like to highlight some of the painful lessons my team has learned implementing EFS for a fairly hefty CMS-based project.
Pi Hole is a nifty open source project that allows you to offload the task of blocking advertisements and annoying (and often malicious) trackers to a Raspberry Pi. The installation is deceptively simple (a
curl | bash affair), but I wanted to document how I set up mine headless (just plugging the Pi into power and the network).
Set up Raspbian Lite
I bought a Raspberry Pi model 2 B along with the official Raspberry Pi foundation Case. Then I bought a Samsung Evo+ 32GB microSD card (which comes with a full-size SD card adapter), and did the following steps on my MacBook Pro to set up the Pi's OS:
Tonight, after I made a couple changes to my wired in-house Gigabit network (I recently added a few Cat6 runs after moving my main Wireless router—in this case an AirPort Extreme base station), I noticed the Raspberry Pi webserver that was hosting www.pidramble.com wasn't reachable over the network, and Server Check.in started reporting an outage.
I have that particular device set using a DHCP Reservation based on it's MAC address, and it's been working like a champ for over a year. So something was strange, since I hadn't made any networking configuration changes on the Pi itself in a few months, nor had I unplugged it at all in the past month.
Here's a quickie: A lot of Mac users are on Windows networks, and need to sometimes connect to a shared folder on their network to share/retrieve documents with other Windows users. The easiest way to do this is to type in the path to the shared folder in the "Connect to Server..." dialog box. To do this, just:
- Switch to the Finder.
- Choose the "Connect to Server..." menu option in the Go menu (or press Command-K).
- Type in the path to your windows shared folder as follows:
Hopefully, a dialog box will open up asking you to type in your username and password. If you need to find out the path of your windows shared folder, ask your network administrator. (note: private shared folders usually have a dollar sign after them—for example,