Top
Best
New

Posted by 4diii 14 hours ago

How to Build a Minimal ZFS NAS Without Synology, QNAP, TrueNAS (2024)(neil.computer)
305 points | 208 commentspage 2
FireInsight 9 hours ago|
I used this blog post as one learning resource while building my own NAS a while back: https://xyny.art/blog/2026-building-nas/

Building a NAS from scratch is really fun! A small hinderance, but definitely part of the fun as well, is the lack of a "complete resource" on the topic covering how to do every single thing you need to do. Part of the point of my blog post is actually to bring to the internet yet another opinionated NAS setup "guide" (eventhough I would hesitate to call it a guide, but if I ever had to do the same thing again I would definitely read my own post first).

kartoshechka 12 hours ago||
I found cockpit to be incredibly useful for managing NAS and VPS. Even though any configuration is not an issue with LLMs, having a dashboard with toggles, formatted logs and such is helpful, and I can even run shell commands on phone without ssh. In the NAS case, you can easily see the results of backup/maintenance cronjobs, manage samba (which is a huge pain in the ass to get to work properly on iPhone), and monitor disk usage
embedding-shape 7 hours ago|
> and I can even run shell commands on phone without ssh.

How do you do the authentication to cockpit, basic HTTP auth in front or something? I've always ended up making my phone SSH-capable rather than dropping down to anything else but public/private keys for authentication to my servers, guess I have a bit of conspiracism when it comes to that.

kartoshechka 4 hours ago||
[dead]
j1elo 5 hours ago||
I'd love reading some blogs about what's the best usage for actually minimal computers, any suggestions?

It always gets me how the world of self-hosting is usually introduced from claiming that you can start giving a second life to a Raspberry Pi or a forgotten laptop, and suddenly the next blog you read calls "minimal" a beast machine meant for racks and semi- or professional environments.

Bought a ThinkCentre M910q with an internal SSD and 16 GB of RAM for €200 a couple years ago... Right now I got it chugging along with TrueNAS + 2 USB disks in ZFS Mirror (sitting in a closed cupboard so no chance of cable disconnections).

For me, "minimal home server" means a small computer that fits on a cabinet on the living room, is practically silent, and has a very small power consumption profile (less than a decent Hetzner otherwise the cost wouldn't be worth it). I have a mini-PC in mind, but people think of Dell PowerEdges. Even if given for free, I would never install at my home a PowerEdge for a home server.

I guess it must be the difference between living on a flat vs a 2 story house :-)

dwedge 4 hours ago|
> ThinkCentre M910q

I love these machines. I have 3 of them and an M720Q. Needs changed so only one of each is actually in use, but they are so low profile and quiet that I'm considering deploying the other two at home just in case I ever get the urge to play with K8s or something. The only thing I'm missing is a splitter so I can use one plug socket instead of three - not sure if something like that exists.

One nice little fact about the M910Q is that they are rated to maximum 32GB but I have two of them with 2x32GB no problem. Recent RAM prices and forever regret is the only reason the third one doesn't have the same. The M720Q only takes 32GB though.

You can also run 2 SATA off of the M2, and someone created a 3D printable enclosure for them: https://makerworld.com/en/models/1280680-thinknas-2x-hdd-enc...

j1elo 2 hours ago||
So it has the potential to even look and work like an actual NAS! That is so cool. Sad state of affairs that 64GB seem to be around €400 nowadays, that's actually double of what the whole machine cost. I'll wait for the AIpocalypse and come out later to buy some sticks.
AceJohnny2 13 hours ago||
Tangential, but about this:

> I am creating a RAIDZ1 (RAID 5) zpool. That means 1 drive redundancy in-case of failure

A friend once told me that RAID5 has a high latency cost, because every Write requires a Read to update the stripes across all drives, and while this made sense when drives were expensive, nowadays you might as well do a RAID10 instead, and trade space for latency.

Is this still true with ZFS RAIDZ1?

unsnap_biceps 12 hours ago||
It's complicated, but https://jro.io/capacity/ actually walks you though how it works, towards the middle of the page.

``` Unlike traditional RAID5 and RAID6 implementations, ZFS supports partial-stripe writes. This has a number of important advantages but also presents some implications for space calculation that we'll need to consider. Supporting partial stripe writes means that in our 7wZ2 vdev example, we can support a write of 12 total sectors even though 12 is not an even multiple of our stripe width (7). 12 is evenly divisible by +1 (3 in this case), so we don't even need any padding. We would have a single full stripe of 7 sectors (2 parity sectors plus 5 data sectors) followed by a partial stripe with 2 parity sectors and 3 data sectors. This will be important because even though we can support partial stripe writes, every stripe (including those partial stripes) need a full set of p parity sectors. ```

bpye 13 hours ago|||
> and while this made sense when drives were expensive

I don't have the answer to the latency question, but HDDs have shot up in $/TB over the last couple years too. They are once again kind of expensive.

shrubble 12 hours ago||
The RAID5 write hole is not present in RAIDZ1 I believe.
_nhh 12 hours ago||
RAIDZ1 will add more stress to the consumer ssd's as to enterprise one due to surprinsingly different hardware. Consumer ssd's life times are calculated on a 8 hour shift (the tbw) and enterprise are calculated on 24/7.

Please - dont - use - consumer ssd's - with zfs raidz1

rcarmo 6 hours ago||
This is pretty much what I did, except that since I use Proxmox I used that to manage the volumes and then just did a pass-through mount to an LXC that runs Samba - that way I get a decent, simple GUI to monitor and manage volumes and can do user management inside the LXC.
anon-3988 10 hours ago||
I really, do not want to have a big server rack lying around at my house. I have a couple of SSDs that are not being used and 3 USB HDD drives. I also have a PN50 that I am not using as well.

I am thinking of buying a USB bay with 5 SSD slots in it and then 3 HDD drive. My use case is very, very cold. It is mostly just readonly data with some rclone sync every week.

Does anyone have a suggestion? I am pretty much relying on ZFS to do all the redundancy for me.

igoose1 9 hours ago||
10 months ago I've built a Raspberry Pi 5 mini NAS with 3 SSDs connected through RADXA Penta Hat. It runs OpenMediaVault, system is on the SDcard, other data are on the SSD ZFS pool. I have autosnapshots enabled, and I tune compression methods on specific datasets (lz4 for almost everything, zstd for file backups).

We use it for storing (backups, media files), playing (PaperMC), and watching (Jellyfin). I can only complain about the lack of hardware decoding in Raspberry Pi 5. Jellyfin loads CPU much if I enable transcoding so it's always disabled. If I knew this, I'd consider a cheaper and faster, but less popular, RADXA machine. Storage is fast enough for me, rsync and Samba speeds are usually limited by my network. PaperMC also runs without a hitch, thanks for asking!

As I didn't have high requirements for the machine, I also considered USB Bays at first but they wouldn't go well with ZFS.

6581 9 hours ago|||
USB/SATA adapters are incredibly flaky. Some don't support TRIM, some have major firmware bugs, many overheat during long data transfers and disconnect from the host. I'd strongly advise against using them for any important data.
ahepp 8 hours ago||
I'd probably just buy a cheap prebuilt PC with a big case, or surplus enterprise tower. You can get cheap LSI PCI cards and do miniSAS to SATA if needed.

The biggest concern I'd have with USB is power delivery to the hard drives, but I haven't even done the napkin math so maybe it's fine. The SSDs seem like they might be a waste of money. USB hard drives have a poor reputation, but I don't have a ton of experience to say how much of that is deserved. On a practical level, I'd also be concerned about knocking the cable out.

bobmcnamara 6 hours ago||
The big USB racks all have separate power.
bradley13 13 hours ago||
Just yesterday I was brainstorming with ChatGPT about this. I have an ancient QNAP plus a slightly less ancient NUC running PiHole, Wireguard and other services. Both need replaced, so why not combine them?

I don't know much about ZFS, but it sounds like I need to learn. Docker may have conquered the world, but I plan to stay with LXD for services.

The one thing I take issue with: an appliance like this runs 24/7. It should be low power and fanless. A processor like the N100 seems like the obvious choice.

mianos 7 hours ago||
I run zfs as the storage pool for my incus (next lxd) services. It is the ideal fit. Here is a list:

- Instant, zero-copy container cloning from images via Copy-on-Write. If you boot a new image like the existing ones it's seconds.

- Atomic, millisecond-level instance snapshots regardless of storage size

- Block-level container migration using native 'zfs send' and 'zfs receive', very short command lines and seems to work perfectly.

- Granular dataset nesting (every instance, image, and custom volume gets its own ZFS dataset). You can see every filesystem even on the host.

- Transparent, inline data compression (LZ4/ZSTD) enabled automatically per dataset. For services that don't change much, you might as well use a compressed image to make them even smaller.

- Mirroring / Raid

- Sub-volume sharing and direct management via native ZFS administration tools. If my home directory has a build area and a million files, I can just save time and put my home, pre cooked into a new machine and not copy or even rebuild on my new machine.

- Dedup keeps blocks with the same data as a reference. This costs a lot of memory and has not saved much for me as a lot of my images are similar and already shared I think, but it's cool.

bartvk 12 hours ago||
It also surprised me that the author said "4 Cores, Xeon Server CPU can be had for cheap".

But the specs also said ECC RAM and I don't think the N100 supports that.

layer8 6 hours ago|||
The N100 supports "In-band ECC" (IBECC), which uses regular non-ECC RAM at the cost of less available memory and a 10-20% performance drop. It’s unclear how well it works, and almost nobody uses it.
sunshine-o 8 hours ago||||
> But the specs also said ECC RAM and I don't think the N100 supports that.

If I remember correctly it can in theory but in practice I have never seen a N100 with ECC.

nahuel0x 6 hours ago|||
[dead]
rmoriz 5 hours ago||
Given the current "crisis", I wonder if older off-the-shelf NAS from QNAP, Synology, Asus, UGreen etc. could be re-flashed using FOSS.
whalesalad 4 hours ago|
A lot of them can, yes.
jmusall 12 hours ago||
This post mentions https://github.com/wyager/zfs-backup for (offsite) backups. Why would they recommend this over something more established like https://github.com/jimsalterjrs/sanoid? Has anybody tried it?
neilpanchal 12 hours ago|
It's pretty minimal and straightforward written in Haskell. Probably can write one from scratch with Claude now.
igoose1 9 hours ago||
What's next!? Let Claude analyse clinic visits!? Oh well...
PeterStuer 9 hours ago|
Rather than 'plain' debian you can put it on Proxmox, and enjoy the bliss of Proxmox Backup Server.
iJohnDoe 1 hour ago|
Can you explain a bit more about this. Would this help in a single server to facilitate backups? Or does this need the the NAS and the Proxmox Backup Server on a different system?
More comments...