Adding an Extra Hard Drive to My Mini PC: A Build Log

2021/09/11

Preface

After tinkering with Hackintosh for so long, I actually never replaced my main drive. Whenever I switch machines, I basically just tweak the EFI on this drive and move it over. I’ve been using an old 512GB WD SN730 that I picked up ages ago on Xianyu. I really like this SSD. Spec-wise, you could say it’s the “last emperor” of PCIe 3.0: 96-layer 3D NAND, a top-tier controller that keeps sustained (outside-cache) speeds solid, and a 4GB SLC cache that guarantees great (inside-cache) performance. Around 3200MB/s write and ~3600MB/s read. In real use it’s been super comfortable too—on paper the numbers are awesome, reviews are awesome, and in practice you can feel the boost. Not exaggerating: I’ve used this drive for over a year, and it has been installed in more than a dozen Hackintosh machines.

image-20210911163509412

This is the one


The reason I bought 512GB back then was simple: my work doesn’t involve storing tons of stuff. People like video editors or media hoarders probably need bigger drives, but for me 512GB felt totally enough. But gradually, after using it for so long, I started stuffing everything onto it. Sometimes I see great resources online—PDF books and video courses. Once downloaded locally, the space usage shoots up fast. Now it’s already taking up a few hundred GB. These resources are a headache: even after I finish them, I can’t bear to delete them. But if I don’t delete them… it’s just eating too much storage. My mini PC has two SATA ports and can take two 2.5” drives, so I’ve always wanted to add a “warehouse drive”. But because of the crypto mining craze, prices were kind of inflated, so I kept watching and waiting while “earning coins”.

Then, after joining a new company, I realized the company-provided internal-network proxy has very high bandwidth—around 100Mbps. That got me really excited. I used to run a NAS, but the cost of NAT traversal was too high, and the cheaper options weren’t fast. So I thought: my mini PC is at the office anyway, and it’s always connected to the company network. If I add a 2TB drive and share it on the intranet, then from anywhere—as long as I connect to the intranet via the company proxy—I can access my data. On one hand, the company intranet helps keep data secure; on the other hand, the proxy bandwidth is great.

image-20210911163725851

Speed test at home via proxy (uplink bandwidth is a bit weak)


Isn’t this way better than Baidu Netdisk? It also saves me a ton of hassle syncing materials. For example, I can download learning videos to the mini PC, and then at home I can just connect via proxy on my laptop and keep watching. I used to run into situations like: at home I suddenly remember some point from a book I read last time, but that book is stored locally on the mini PC. Then I either have to search online and re-download it, or make a TODO to check it tomorrow at the office. With an extra drive, all of that goes away—just treat the mini PC as a file server. And when I find good materials in the future, I can confidently download them without stressing about space or syncing.

Installation Pitfalls

I checked JD.com, and with the country cracking down on cryptocurrency, drive prices have returned to something more normal. My requirements were simple: (1) big brand, (2) cheap, that’s it. Big brand means stable; cheap means I’m broke. Since it’s going to become a file server later, I went straight for the largest “home-use” single drive size: 2TB. And it’s definitely going to be an HDD (it’s a warehouse drive after all (broke)). In recent years, HDDs have largely shifted to SMR, and for large capacities there are basically no CMR options, so I didn’t bother overthinking it. I directly picked a Toshiba 2.5” consumer drive on JD. It was 309 RMB when I bought it.

image-20210911165046561

JD often doesn’t show the real price; I think 309 RMB is reasonable


Not gonna lie, JD is indeed fast. The next morning they called me saying it had arrived, and I started installing it right away. My mini PC has two header ports (no idea how many pins), and it came with a SATA adapter cable—both are 6Gbps. The cable looks like this:

image-20210911165702469

image-20210911165736929

The female connector looks like this—just plug in the adapter cable


There was a little episode: after connecting the drive, the system couldn’t see it. I struggled for a long time, then told JD customer service “this thing is broken, my computer can’t detect it.” JD didn’t argue—immediately applied for a replacement. Then I waited another day….

image-20210911165955981

The price in the screenshot includes my own JD beans


After the new one arrived, it was the same: neither the system nor BIOS could see the drive. I thought, no way I’m that unlucky—two dead drives in a row? So I decided to test it externally to see if the drive itself was fine. I took apart my external HDD enclosure and tried it over USB to see if it could be recognized.

image-20210911170137738

My drive enclosure


After plugging it in, the computer prompted me to format the drive. So I formatted it, tested it, and the read/write was normal. I was pretty annoyed, but decided to plug it back in one last time—and then I found that… the BIOS could recognize it. Booting into the system was fine too. My guess is that the drive needs to be formatted once via USB on first use. I think that’s pretty anti-human. Not sure if it’s my machine or the drive, but if you buy this drive, pay attention to this.

image-20210911170351031

Two drives on SATA: the newly bought Toshiba, and another junk disk I’ve been using as a portable drive

Finally I fixed the drives in place, tidied things up, and planned to close it up. One last look:

image-20210911170457093

image-20210911170515663

After installation, the VESA mount got blocked.....

Afterword

Now my storage situation is instantly much healthier. Before, my main SSD only had a few dozen GB left. For SSDs, the less free space you have, the more performance can be affected later. Even with TRIM enabled, when you’re down to the last few dozen GB of usable space, 4K read/write will definitely take a hit.

image-20210911160944412

Current storage status


Now I can download whatever resources I want without worrying about syncing or storage. Feels pretty perfect. For intranet sharing, I’m directly using macOS built-in File Sharing, which supports SMB and AFP. With user authentication, only my own machine and my own account have read/write permissions; I can also create a guest account with read-only access. Then you can share the access account with coworkers and such.

image-20210911171029569

I won’t redact the intranet address


Overall the experience is pretty good. When I migrated my learning materials to the new warehouse drive, I specifically checked the speed. Even though it’s an HDD, the speed is still acceptable. Of course, the files I copied were mostly large files—if it’s 4K random IO, especially if you’re running software or using it as a system drive, SSD is definitely the first choice. But as a warehouse drive—at this price, this quality (2-year warranty, replacement instead of repair, free clean-room data recovery), and this speed—it’s totally fine.

I also tested the intranet speed over the proxy. Basically, at home, connecting via proxy and accessing resources on this office mini PC, I can pull data at around 7–9MB/s, and occasionally it can max out at 12.5MB/s. That’s more than enough for reading PDFs online and smoothly scrubbing through videos.

Same logic: if you have a solid intranet system and you only need a cloud server for learning middleware and cluster setups—rather than providing services on the public internet—you can just spin up a VM on a company machine and install CentOS. There’s no need to buy an ECS instance on Alibaba Cloud. I used to install various middleware environments on my blog machine for learning, because it was more convenient than doing it on my own computer—after all, in 2020 I went through seven or eight computers. But now there’s really no need. Finally, thanks to the company for providing this convenience.

io

Both read and write can reach 160MB/s

All articles in this blog, unless otherwise stated, are licensed under @Oreoft . Please indicate the source when reprinting!

Table of Contents