DEV Community

Igor Artamonov
Igor Artamonov

Posted on

Extending NUC with External U.2 SSD

Recently, I upgraded an Intel NUC by adding external SSDs as a replacement for the internal M.2 SSDs. Before I started, I wasn’t fully sure if it could be done because there isn’t much information on this topic. So, I’m writing down my experience in the hope that it will help someone if they decide to do the same.

First of all, why and what

I have an Intel NUC 12th Enthusiast, which has 3 slots for internal M.2 SSDs. It gives me about 6TB of disk space when I use 3 x 2TB Samsung SSDs. I run an Ethereum node on this machine, which alone consumes more than 4TB, and it’s growing. I wanted to run a couple of different implementations, so I needed much more space for that.

Intel NUC 12th Enthusiast

Technically, I could upgrade those 2TB SSDs to 4TB versions, but larger SSDs are not so practical because, to my understanding, the quality/price ratio goes down, and a 2TB SSD is the sweet spot for M.2. Also, I have already worn out a couple of those SSDs, so I wanted to install larger and more durable ones, i.e., enterprise-grade SSDs with a 7.68TB capacity, which only come as external drives.

Here, I describe how I successfully connected two U.2 7.68TB SSDs to an Intel NUC, what the challenges were, and why it may not work for everyone.

Hardware

There are a few protocols for drives, and one of them is NVMe, which usually works on top of PCIe. That’s because PCIe is the most performant interface. There are a few ways to connect to PCIe. In addition to the more common large slot on the motherboard (which I don’t have with Intel NUC), there’s the M.2 slot. Yes, M.2 is a PCIe slot, just a very small one. So technically, it should be possible to connect any PCIe device through M.2.

Enterprise 2.5” NVMe drives may come with a U.2 connection, which is also a PCIe connection. (For reference, U.2 is called SFF-8639). So, it seems like it should work together because I’m connecting one PCIe device to the motherboard through a PCIe interface.

But how do you connect a U.2 drive to an M.2 slot?

Usually, you use a SAS cable to connect those drives. SAS is a protocol that can fully utilize NVMe without a performance loss. On the drive side, the cable connects to U.2 directly (SFF-8639) and then goes as a mini-SAS to the motherboard (SFF-8643).

How do you connect this mini-SAS to a NUC? It turns out you can buy an adapter from mini-SAS to M.2.

So first, you buy a SAS cable (U.2 to mini-SAS / SFF-8639 to SFF-8643). Any brand should work, I guess.

SAS to mini-SAS cable

Then, you have to buy an adapter from mini-SAS to M.2. In my case, it was a StarTech M2E4SFF8643 because I didn’t trust no-name brands. But probably any other adapter would work, and there are plenty on Amazon.

mini-SAS to M.2

One problem with this StarTech adapter is that it comes as an M.2 2260, and this “xx60” means it’s 60mm long. Usually, you have either 42mm or 80mm drives. Those are the most common sizes, and the NUC has mountings only for those two sizes. So, you may want to buy an extension or DIY one from a plastic piece to mount it in the standard 80mm slot.

M.2 Extender

A note about these M.2 adapters: there are apparently many types, not just for SAS. Another option is Oculink SFF-8612, which is commonly used to connect an external full-size PCIe 16x, usually a GPU. You could use it for drives as well, which I guess could be scaled to more drives, but that would be a more complex approach.

The third thing you need to buy is a Power Supply Unit (PSU). With SAS cables, you must have an external power source. Standard M.2 is powered directly from the motherboard, but with SAS, this option isn’t available.

PSU

What I forgot initially is that you cannot simply turn on most PSUs because they are designed to be turned on using the power button on the computer case. To turn it on manually, you connect two pins on its main cable. Google "PSU paper clip test" to understand it better. You could use a paper clip or a short wire, or, to make it more durable, you can buy a jumper clip that connects the correct pins. There are plenty of them on Amazon as well.

Jumper Clip

Software Part

Once I connected everything and turned it on, I noticed a weird issue: I didn’t see the drives in the BIOS, or, weirder, I saw them semi-randomly. On a power reset, I might see one of the drives, both, or none. Initially, I thought I had a hardware issue.

But when I tried to boot from a USB drive and checked the lsblk, I found both drives even though I hadn’t seen them in the BIOS. That’s weird, and I still haven’t figured out the reason. Maybe it’s a bug in my BIOS version, or maybe there are some incompatibilities between expected SATA and actual SAS. Maybe it's specific to Intel NUC. BTW, if you have any idea what the cause is, please let me know in the comments.

After a few experiments, I became convinced that they work perfectly fine in Linux. But it still doesn’t make much sense to install an OS on them because BIOS cannot boot from them as it doesn’t see the drives.

I guess a workaround is resetting the NUC until it sees any of the drives to boot. Inconvenient, but it might work. Or you could install and boot the OS from an external USB flash drive, mounting the main filesystem from those drives once it’s booted. Alternatively, you could do the same using a network boot.

Remember that I have 3 slots but only 2 drives? So, my solution was to put a standard M.2 SSD in the 3rd slot and install an OS on that drive. When it boots, it successfully mounts the other drives and uses them for larger databases.

It all works fine now, but in my case, it required 3 M.2 slots, as one was populated with a standard M.2 SSD to boot. Keep this in mind, as it may not work for everyone if you don’t have enough M.2 slots. But for this particular case, with Intel NUC 12, it’s definitely possible.

Summary

That’s all you need for the hardware part:

  • U.2 SSD drive(s)
  • SAS U.2 to mini-SAS cable(s)
  • Mini-SAS to M.2 adapter(s)
  • M.2 2260 to M.2 2280 extender(s)
  • PSU
  • 24-pin jumper

You need a cable, adapter, and extender for each drive. And, obviously, a single PSU can power them all.

You may want to leave one M.2 slot for a standard M.2 SSD to install an OS on that drive.

Also, keep in mind that once you connect everything together, it will be a bunch of cables and hardware. You won’t be able to put the cover back on the NUC case, so it’s going to sit exposed somewhere on the shelf. And you might not realize how hot it gets without proper ventilation.

Caution Hot

Top comments (0)