5 ms·
How to Build a Minimal ZFS NAS Without Synology, QNAP, TrueNAS (2024)
- Khaine 3mo agoCan anyone recommend a good server for a homelab to use for a storage purpose like this?
- bombcar 3mo agoIt's a horrible idea likely, but I have an ancient old Dell PowerEdge R510. Probably sucks way too much energy, but it does what it does and the price of SSDs have skyrocketed so I'm not touching it.
- burner420042 3mo agoI'm sure there's better options now but the HP ProLiant MicroServers (used). They support ECC ram, 4 caddies, one extra PCIe slot, and to my knowledge you're not cpu limited for a zfs file server usecase. Keep in mind though, all you need is linux* support, iDRAC, ECC if you're a snob, and drive bays ... and that's basically any free server. In my extremely opinionated opinion I would only get used enterprise server gear, because a zfs file server will just work unless hardware fails. And a UPS. *ZFS will be a more natural choice on FreeBSD. It's better documented, and will meet Linux 1:1 in hardware compatibility for this.
- bpye 3mo agoI'm still running an old Gen 8 MicroServer. Modern drives can actually saturate the SATA controller, and because it only has a single PCIe slot I can't add both a 10Gb NIC and a storage controller - I went with the 10Gb NIC. It works well enough though and has lasted me over a decade at this point. 16GB DDR3 ECC, an old 4 core/8 thread Xeon, 4x14TB drives and the Mellanox NIC.
- ahepp 3mo agoI got a gen10 plus microserver and liked it so much that I got a second one. Throw FreeBSD on it and add a couple lines to /etc/exports and rc.conf and it's a NAS right out of the box
- itchingsphynx 3mo agoAgreed. I have used a HP N40L ProLiant MicroServer since 2013 as home NAS and Time Machine backups via samba. Rock solid hardware, incredibly expandable, and today runs FreeBSD 15.1 with ZFS. Additional hardware modifications include; CD-ROM replaced by two 3.5" HDDs on mounts (now six HDDs of 10TB each in ZRAID1), a SAS card to add two mirrored bootable SSDs underneath CD-ROM drive space, a 2x 2.5G NIC (limited to 4GB/s slot) for dedicated NFS link, while additional internal SATA and external SATA ports unused. Next: replace PSU fan with quieter Noctua fan.
- simondotau 3mo agoNot strictly a recommendation, but Terramaster is a good brand to look at if you want Synology-shaped hardware which can run TrueNAS or Proxmox or any flavour of Linux you want. Along with various other devices (including a large Synology which I wouldn’t buy today), I run Proxmox on a small two bay+two nvme Terramaster. I have a bare bones Ubuntu LXC running Samba configured for Apple Time Machine, an VM running Scrypyed, and PBS for Proxmox backups. Nothing on it is critical so I don’t bother with any storage redundancy.
- Fr0styMatt88 3mo agoI have the F8 Plus, great little unit. It did need a BIOS update when I first got it to enable Proxmox/other OSes to work properly. Recently replaced the internal USB boot drive with a small NVMe USB enclosure; using a 90-degree USB connector and using a dremel to sand away an opening for the cable to come out so I could mount the enclosure externally.
- KaiserPro 3mo agoDepends on what you are after. if you are after quietness and "power" then an old workstation is a great bet. They normally have space for at least 4 fullsized HDDs, the more modern ones have lots of PCI space for nvme-ssd cards (for space) and some have lots of lanes for speed They also tend to come with SAS/whatever remote nvme is called/SATA expnasion options The down side is they are not as space efficient, they also tend to have 60-120watt CPUs, so expensive to run
- beagle3 3mo agoI still pay for snooty, and the reason for that is that when a disk goes bad (not if; when) I pop its tray out, replace the disk, pop the tray with the disk back in, click a couple of widgets, and that’s it. I know it will be rebuilt properly. (And I know I have to do that, because when the disk fails it beeps and lights a led near the bad disk) It’s easy to build a NAS such as the one described in this article, but in the long run, data loss is significantly more likely. Also, any guide like this that doesn’t guide you through “disk 3 failed, this is how you safely replace it” is imho incomplete, even if it doesn’t go through telling you how you know a disk has failed.
- msh 3mo agoIs snooty a autocorrect for Synology or some other product?
- beagle3 3mo agoIndeed. Didn’t notice and it’s too late to edit now.
- denkmoon 3mo agoThat is kind of exactly how zfs works though. The guide isn't complete, sure, but "rebuilding" the array is just replace the disk and run a single zfs command.
- beagle3 3mo agoThat’s comforting to know; that wasn’t true in the past for ext4 over lvm (is it true now?). But what is that command? And how do you know which disk has gone bad? I am sure I can get an answer from Google / Claude / ChatGPT, but a guide is incomplete without it - and the failure report should be active like a beep or flashing hardware light - I typically log into my NAS only a few times a year. A motd or other banner isn’t sufficient.
- dapperdrake 3mo ago
- splitbrain 3mo agoI came to the same conclusion when I built my NAS. Just Nix for the system, zfs for raid and docker compose for any service I might want to run. https://www.splitbrain.org/blog/2025-08/03-diy_nas_on_nixos https://www.splitbrain.org/blog/2025-08/03-diy_nas_on_nixos
- colordrops 3mo agoSame, using NixOS as a NAS, though it kept growing and now I'm trying to share it with other people. I use BTRFS on MDADM though. It's ended up being an all-in-one home server and router now because I was tired of the noisy power hungry rack I had in my closet. https://HomeFree.host https://HomeFree.host
- fceccon 3mo agoI'm also using NixOS for my NAS, you should look into quadlets (docker containers managed by systemd) to manage containers with nix.
- 6ak74rfy 3mo agoBut why? Why not the standard oci-containers module? I've seen the quadlet-nix project but don't get what additional it gets me.
- taude 3mo agoThis is what I'm hoping to do. I haven't done much research yet, so I look forward to reading about your learnings. (Also to the person who responded to you with their experience and link.) Thanks for saving me probably some hours... EDIT: I'm also coming from an old Synology NAS from the ~2015 era.
- Confiks 3mo agoNot a great time price-wise to be building a NAS, but I have been doing so for the last two weeks. Inside a Jonsbo N6 case, which is pretty nice with an 8x SATA backplane and drive bays (unlike the earlier Jonsbo variants). I ended up on shucking 4x the 14 TB WD Elements Desktop. They contain helium drives, the WD140EDGZ in my case, and are about a third cheaper than 4x the 12 TB WD Red Plus drives (which are air-filled). The shucking was easier than I expected too, and the performance seems very comparable. The warranty is a definite downside (European, so no Magnuson-Moss), but I think I can even get them back in their enclosure should they fail during the 2-year warranty period. I've put some second hand 256 GB M.2 SSDs in there as boot drives. It was a bit of a struggle to get it to work in a way that failure of one of the drives doesn't hold up booting, combined with LUKS, TPM keys and ZFS on root. Learned a lot about systemd-boot which I have never used before, but feels a lot saner to me than grub ever was. So now I have a large script which debootstraps a Debian based NAS into being. I noticed that there are a lot of ZFS myths and cargo culting. For example TFA mentions ECC RAM, which in some circles is a must-have because ZFS would wreck your pool during a scrub otherwise, which is a myth. It's also very expensive, especially this year. You also don't need much RAM for ZFS, L2ARC doesn't use much RAM at all, to name a few others. Still doubting about setting `dnodesize=auto` (which is the default), because there are some horror stories about that [1]. And it seems impossible to find a cloud storage provider with reasonable prices that supports `zfs send`. Rsync.net upped their minimum order to 10 TiB recently, which is far too much for my use case. [1] https://github.com/openzfs/zfs/issues/11353 https://github.com/openzfs/zfs/issues/11353 [2] https://www.rsync.net/products/zfsintro.html https://www.rsync.net/products/zfsintro.html
- watermelon0 3mo agoI've been thinking about building my own NAS as well. Mind sharing how much did you pay for those hard drives, and what motherboard did you choose?
- Confiks 3mo agoIt was €329 per hard drive (through a reputable store), and I chose the ASRock B650M-HDV/M.2 mATX motherboard combined with a Ryzen 5 8500G. Stock CPU cooler, replaced the Jonsbo case fans with Arctic P12 Pro PST LN. I only slightly regret the PSU (MSI MAG A650GL), which could be quieter. Not that it's very noisy, and it's a great PSU otherwise, but I should've chosen one that just shuts the fan down at low power usage.
- tamimio 3mo agoYeah no. When it comes to backups and data storage, I would rather use a proven reliable system that’s been used and tested by millions of other users, keep these hacky stuff for your hyperland set up.
- bombcar 3mo agoI've lost more data to "proven reliable systems" than to my homegrown hacked-up stuff (which may be because I trust the latter much less).
- thenthenthen 3mo agoThis. My synology nas got pwned so many times i cant remember.
- bakugo 3mo ago> I would rather use a proven reliable system that’s been used and tested by millions of other users You're describing ZFS.
- tamimio 3mo agoNot really, zfs is part of it, but not the whole picture, you as a user you need more than just a file system. Truenas for example add replication, external cloud sync, gui (yes it’s important not to wipe your data with wrong command), HA, custom caching, containers to extend ot with other apps, raid-z expansion with openzfs, and other for monitoring, user management and a lot more. Other solutions also add more than just a zfs with ssh access.
- deleted 3mo ago[deleted]
- NexRebular 3mo ago> You're describing ZFS. ..running on illumos.
- aligutierrez 3mo agothis is really cool. I've been dealing with an aging Synology nas and this is something I can pick up, evaluate performance and how safe it is to serve as home for my data.
- naturalmovement 3mo ago[flagged]
- ggm 3mo agoRun ZFS backed filestore on FreeBSD, have migrated it to/from Debian. At work and home, not petabyte scale but certainly multi hundred terrabyte. Over 15 years, on over 50 hosts/NAS/SAN instances, different hardware. Run ZFS on Raspberry Pi, on home builds, on Intel, on AMD, on other ARM chipsets. I think you're over-stating things. Debian is fine for this. I do think FreeBSD is a better platform for myself. The code bases adhere (modulo ZFS version numbers) to a spec and you can safely migrate the pools between OS. I've done it multiple times both directions. You can not do this with BTRFS and other Linux things, I consider this feature of (Open)ZFS a killer-context for me: It's OS portable. I wish Mac OSX hadn't walked out of the room when Oracle went legal.
- bpye 3mo agoI guess you can try Windows next - https://github.com/openzfsonwindows/openzfs https://github.com/openzfsonwindows/openzfs
- gucci-on-fleek 3mo ago> You can not do this with BTRFS There is actually a btrfs driver for Windows [0]. I've used it a few times before, and it works surprisingly well. You probably wouldn't want to use it for any serious work, but that's not because it's technically flawed, but more because it isn't extensively tested or commercially-supported. [0]: https://github.com/maharmstone/btrfs https://github.com/maharmstone/btrfs
- ggm 3mo agoThere is Fuse support in BSD. I don't consider that a good choice for this role.
- naturalmovement 3mo agoSure you can migrate pools. Yet everyone is (again) lost in the details and missing the big picture, which is Linux is doing its best to rat fuck OpenZFS at every opportunity, the last of which was the elimination of write_cache_pages in 6.18 behind the GPL iron curtain a mere few months ago. I don't know about you but I don't want to build my file storage atop hacks on top of more hacks. The kernel has made it clear non-GPL code is not welcome. Struggles will continue in perpetuity. There are better options.
- AceJohnny2 3mo agoTangential, 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?
- bpye 3mo 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 3mo agoThe RAID5 write hole is not present in RAIDZ1 I believe.
- _nhh 3mo agoRAIDZ1 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
- unsnap_biceps 3mo agoIt's complicated, but https://jro.io/capacity/ 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. ```
- rexysmexy 3mo agoTo this day I still use a ZFS array for my critical backup storage. I've migrated over to using snap raid + mergerfs for my larger Linux iso storage array. Simple enough and I can pull a drive on it's own without any other stuff.
- bradley13 3mo agoJust 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.
- bartvk 3mo agoIt 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.
- sunshine-o 3mo 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 3mo ago[dead]
- layer8 3mo agoThe 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.
- mianos 3mo agoI 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.
- deleted 3mo ago[deleted]
- RossBencina 3mo agoI've been thinking about setting up something like this for a while. I have a Broadwell dual socket Xeon workstation that I'm going to upgrade to Proxmox. Would it be reasonable to run something like this as an LXC or VM or would you put it in the base kernel?
- TacticalCoder 3mo ago> I have a Broadwell dual socket Xeon workstation that I'm going to upgrade to Proxmox. Would it be reasonable to run something like this as an LXC or VM or would you put it in the base kernel? I've got a small HP Z440 workstation (small in that it's 10 years old and only single-CPU) and a 14 cores / 28 threads Xeon e5-2680 v4 in it. It's a little workhorse. I run Proxmox (basically "Debian + ZFS out of the box + easy to spawn VMs / LXCs") on it. And you can totally put something like FreeNAS in a VM. If you plan to really serve lots of files and need lots of perfs, you should get a tiny bit fancy and passthrough to the FreeNAS VM an entire disk controller (device passthrough to a VM in this day and age of LLMs that are there to find the relevant parts of docs for you in a split second is easy). IIRC the FreeNAS documentation itself explains how to run FreeNAS in a VM so I don't think it's "unsupported". There's nothing wrong with running it bare either.
- crowd51 3mo agoVery cool
- jmusall 3mo agoThis post mentions https://github.com/wyager/zfs-backup https://github.com/wyager/zfs-backup for (offsite) backups. Why would they recommend this over something more established like https://github.com/jimsalterjrs/sanoid https://github.com/jimsalterjrs/sanoid? Has anybody tried it?
- neilpanchal 3mo agoIt's pretty minimal and straightforward written in Haskell. Probably can write one from scratch with Claude now.
- igoose1 3mo agoWhat's next!? Let Claude analyse clinic visits!? Oh well...
- INTPenis 3mo agoOne alternative for those who don't want any of the major NAS vendors, just use RHEL10. It's free up to 16 licenses, it's ultra stable, cockpit is a very mature gui for a lot of maintenance tasks. It's a set and forget OS that will run for years without requiring your attention. But these days it has decent container support for hosting services on.
- theNotFractured 3mo agoOr rocky, which is a 1:1 clone of RHEL that doesn't require licenses. https://rockylinux.org/ https://rockylinux.org/
- bigstrat2003 3mo agoThe problem with RHEL is that the free version exists at the sufferance of IBM, a company not well known for being motivated by keeping tech enthusiasts happy. I would use Debian, personally. Not as long of a support cycle as RHEL, but still quite stable and no possibility of corporate rug-pulls.
- kartoshechka 3mo agoI 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 3mo 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 3mo ago[dead]
- deleted 3mo ago[deleted]
- Havoc 3mo agoAlso you can use zfs on a proxmox host and use that both for NAS duty and for the VMs. For some reason people insist on doing truenas on top of proxmox and then introducing a networking layer between everything they do. Noooo…
- lucasrufkahr 3mo agoits probably dumb but what i do is use proxmox with a debian VM with docker installed and each docker container gets a virtual disk i make on the proxmox host. obviously more involved than running unraid or truenas but i think the complexity underneath is simpler.
- Havoc 3mo agoThats perfectly reasonable. Double isolation but that isn’t too costly. I’m talking more about people doing the same as you except they’re linking the VM storage to another vm (truenas) over network despite it all being on same host. Think it’s mostly because people don’t want to deal with zfs via command line
- giov4 3mo agoI killed 2x 4tb Nvme drives on Pciexpress with ZFS raid1 under proxmox, got them replaced, tried again on both pci-express and usb adapter kept getting io problems there too with zfs, drive gets disconnected during scrub or high load, tried already kernel or power management options for pciexpress and usb without sucess, managed to reproduce with high load. or proxmox ( especially community edition) is fucked or zfs is still unstable, surprisingly with different drives on different interfaces I obtained same results, didnt swap proxmox for clean os, that might being some changes since modules and options would be different i guess. ( drives firmware etc are fine and performing well when inspected with proprietary windows tools) just search zfs nvme pcie or usb problema or disconnect and you see similar stability problem for different users in different cases (os, drives etc), but also unraid and others, maybe somewhere is rithe right combo of options/glitches but didnt find it yet
- 6581 3mo ago> usb adapter kept getting io problems there too with zfs, drive gets disconnected during scrub or high load That's usually caused by the adapter chipset overheating. Don't use USB adapters for important data.
- anon-3988 3mo agoI 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.
- 6581 3mo agoUSB/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.
- igoose1 3mo ago10 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.
- ahepp 3mo agoI'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.
- ocd 3mo agoI'm sure people have reasons for taking these things as far as they do with ZFS, and everything else that goes into what is commonly considered a "NAS." But I've found great convenience in a tight NFSv3 config running from a single high capacity HDD with ext4 on a Linux machine (primary system that's always on anyway while I'm around/awake) making things available to my other devices for the electricity and overhead cost of one machine instead of multiple. I try to keep my network configuration restrictive by default, so I'm not too concerned about possible security arguments running it from my main machine. I've probably committed some great sin here, but is plain NFSv3 and secondarily Samba (for compatibility) really not enough?
- dannyw 3mo agoFirst: Do you have backups of your single high-capacity HDD? That's my biggest worry. What's your plan for when that HDD fails one day, as it will? The main reasons people go for ZFS and a "NAS" is checksums and data integrity protection, as well as maybe not wanting to keep their primary machine awake all the time (I personally don't). Then there are useful features like snapshots, which means I don't have to worry as much about accidentally deleting, or over-writing a file and losing data. I don't see anything wrong with using a main machine that's up 7x24 as a NAS, don't buy things for the sake of something, but I'm worried about your reliability and bitrot protection. (Yes, it happens, I've seen it first-hand thanks to ZFS).
- ocd 3mo agoI have external parity for everything with rsync. I don't have any storage that isn't matched with external backups. Fortunately I've never seen any bitrot or had a drive fail on me since I tend to replace them before they do. And yeah, I could add in some extra HDDs for RAID, but this is more a personal choice because of how much I hate SATA. Filesystems like ext4 are because I value boring and rock solid stability over semi-experimental status of modern filesystems with all the features.
- bobmcnamara 3mo agoWhat do you dislike about SATA?
- a-french-anon 3mo agoI think it's appropriate to link to my blog post about building such a NAS but with very different technologies: dm-integrity, mdadm and XFS. The reason being that as a C/C++ dev following OpenZFS development closely, I found the focus on ginormous features over general stability and the constant problems due to the SPL/separate page cache too worrying. Sure, I traded the convenience of kitchen sink (or Swiss army knife for the more charitable souls) ZFS for some initial pain, but I'm very happy with my choice today. https://world-playground-deceit.net/blog/2025/06/nas-setup-logbook.html https://world-playground-deceit.net/blog/2025/06/nas-setup-l...
- dannyw 3mo agoA friendly reminder since it's probably relevant: when's the last time you tested disaster recovery for your own setup? If you haven't verified recovering it, you don't have an offsite backup. I had a cloud backup (Backblaze B2, using rclone and encryption) for my home NAS. Some unlucky drive failures later, I was getting ready to recover from my Backblaze backup... and then I couldn't find/remember where I saved the rclone encryption backup. I lost all data in that NAS, including irreplaceable personal/family photos, due to that mistake. My lesson to share: please verify you can indeed recover from backups.
- khalik 3mo ago[flagged]
- PeterStuer 3mo agoRather than 'plain' debian you can put it on Proxmox, and enjoy the bliss of Proxmox Backup Server.
- iJohnDoe 3mo agoCan 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?
- PeterStuer 3mo agoI'm running PBS on a separate mini pc, it is the perfect forever near instant incremental backups that sold me. I did perfectly recover in 20 minutes after a full hardware failiure. Best recovery experience ever.
- FireInsight 3mo agoI used this blog post as one learning resource while building my own NAS a while back: https://xyny.art/blog/2026-building-nas/ 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).
- devn0ll 3mo agoI made 2 Raspberry Pi5 NAS's. one with 4x 6TB and one with 4x 12TB. Used mergerfs and snapraid, and a simple NFS share. Absolutely perfect for Proxmox backups, our pictures, media, etc, etc. No fuss, easy replacement of drives without needing to keep drives of the same size around. I'm good with ZFS, have been for years now managing storage for $COMPANY. And I still freaking love using zfs send/receive with proxmox ;-) But for most at home stuff: mergerfs and snapraid are just more logical.
- deeddy 3mo agoTo be totally honest, I don't think I can live without ZFS anymore. Deduplication and snaphots in 2026 are a must.
- Maledictus 3mo agoand checksums!
- MrDOS 3mo agoSome other things I find useful on NASes: Install avahi-daemon. Samba will automatically register with it to advertise SMB/CIFS to macOS and Linux clients over DNS-SD. Install wsdd2 so that your server will be auto-discovered by Explorer on Windows 10+ clients with SMB 1.0 disabled, too. Your Linux hostname is probably lower-case, but by default, Samba publishes a capitalized rendering of the hostname to NetBIOS and Avahi. If this bothers you, set “host-name=something” in the [server] section of /etc/avahi/avahi-daemon.conf, and set “mdns name = mdns” in the [global] section of /etc/samba/smb.conf. If you have macOS clients, you should enable vfs_fruit in your Samba configuration: https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html https://www.samba.org/samba/docs/current/man-html/vfs_fruit..... There are some compatibility reasons to do this, but mostly it means you can set the “fruit:model” so that your server has a fun icon in the Finder sidebar. To avoid the creation .DS_Store files, you can disallow them: https://ryanoberto.github.io/blog/2015/04/01/disabling-the-creation-of-ds-store-files-on-a-samba-share/ https://ryanoberto.github.io/blog/2015/04/01/disabling-the-c.... I think you can also set “fruit:resource = xattr” to store Finder preferences in xattrs, but I haven't tried it. Although macOS deprecated AFP in favour of SMB years ago (and are slated to remove AFP client support altogether in the upcoming macOS 27), SMB client support in macOS is still pretty miserable. The upcoming macOS 27 is set to drop AFP support, but until then I will continue to run Netatalk side-by-side with Samba. Netatalk also registers itself with Avahi, and macOS will (tellingly) use AFP preferentially to SMB, so clients will talk to the right daemon automatically.
- xattt 3mo agoFor Samba, add a separate entry for the user home directory because the homes directory default triggers some sort of OCD.
- MrDOS 3mo agoYeah, the default [homes] share is really not necessary on a home network where you really just want a common share. On my home storage server, I just have a “files” user, and a corresponding, anonymously readable/writable share: [public] vfs objects = catia fruit streams_xattr fruit:encoding = native comment = Public share path = /home/files force user = files force group = files guest ok = yes browseable = yes read only = no create mask = 0644 directory mask = 0755 readdir_attr:aapl_max_access = no The default [homes] share is still there in case I need it for anything, but it's “browseable = no” so it doesn't confuse visitors.
- Beijinger 3mo agoHas anybody used unraid for his Home Server? Is it worth it? unraid.net
- joshmn 3mo agoI'm hardly a sysadmin and I think Unraid is great. My usecase is some Docker containers and media backups. The UI gets the job done well, whereas Synology tries to dumb things down and make things pretty. Android is to Unraid as iPhone is to Synology.
- sleepycatgirl 3mo agopersonally, after buying X380, using my old T430 as a mini NAS..(also immich) with a ZFS mirror. works wonderfully :3
- rcarmo 3mo agoThis 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.
- sgt 3mo agoMy homelab "NAS" is unfortunately just a few USB based external disk enclosures, externally powered. Is there no way of making these reliable ? Every so often (maybe once a month) I get timeout errors or some kind of issues with at least one of the disks.
- a96 3mo agoApart from better (luck with) enclosures, cables, and power, probably not. USB-SATA bridges are notoriously flaky.
- turpentine 3mo agoTry a different host machine to rule out it being a DAS enclosure.
- thisisauserid 3mo agoNeeds a 2024 in the title maybe. Also, are there neal.* besides .fun and .computer? I'll check all the other TLDs real quick...
- rmoriz 3mo agoGiven the current "crisis", I wonder if older off-the-shelf NAS from QNAP, Synology, Asus, UGreen etc. could be re-flashed using FOSS.
- whalesalad 3mo agoA lot of them can, yes.
- a96 3mo agoThe models that are a crappy PC can, almost like any or other crappy PC. Some have a very tiny DOM that might or might not be enough for a recent system. Of course, once the system is minimally up, it can use the big disk for software. No idea if any have special weaseling on them, but you can always search for the model and e.g. Debian (that tends to have best hits). Running with read-only root or just initrd is also quite possible. The ARM models tend to be very very very slow and small and have architectures that are obsoleted in many Linux distributions combined with hardware that's weird enough that NetBSD doesn't support it (e.g. LAN chip or SATA, which you might need in a NAS). And yes, looking at NetBSD pages and build configs is one avenue for finding well supported devices. Although the documentation isn't great or complete. Some models may also have weird boot sequences or rescue modes that are extra hassle. I keep wondering if a neat little buildroot config would work with some of these devices. Other odd options would be https://armbian.com/boards https://armbian.com/boards and https://openwrt.org/supported_devices https://openwrt.org/supported_devices .
- j1elo 3mo agoI'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 3mo 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-enclosure-for-lenovo-m920q#profileId-1308483 https://makerworld.com/en/models/1280680-thinknas-2x-hdd-enc...
- j1elo 3mo agoSo 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.
- kjs3 3mo agoI run conceptually the same thing, but on FreeBSD instead of Debian. Different set of trade offs; not per se better or worse, just different, and in the end works just as well.
- hombre_fatal 3mo ago[dead]
- VikingCoder 3mo agoWhere can I have a discussion with other developers about storage? Is here okay? I want to have physical storage over here, and logical storage over there, and I want to control the mapping from one to the other. I want to talk about encryption, replication, latency. Make "time machine" available on this logical storage. And then I buy some new physical storage, and it joins the story. This physical storage is over at my friend's house for backup. This physical storage is slow and archival. This is a device for writing archival media, and there's a brand new media in it, go ahead and write to it. Show me the health report on all of the physical media, and show me what you've done to protect the logical storage. Graph my usage and make suggestions about when to add more physical storage. Buying physical storage with power and wifi, and configuring it with a QR code that's on an e-ink display - seems like it should be the most obvious thing in the world, that we should all be really used to doing by now. What am I missing?
- koverstreet 3mo agobcachefs is slowly working up to what you're describing - describing what you want and letting the filesystem sort it out. We're basically there for local storage, and other people have been building some nice reporting on top. Next year (post Rust, because networking code is so much nicer in Rust) will be send/recv, and I think we should be able to make some nice improvements over the state of the art there.
- shark1 3mo agoIf you use LVM you can have a similar pool of storage with 1GB RAM or even less, instead 8GB (ZFS requirement). Caveat: LVM does not have built-in snapshots like ZFS has.
- regexorcist 3mo agoLVM does have snapshots.
- solarengineer 3mo ago"It is important to regularly monitor the snapshot’s storage usage. If a snapshot reaches 100% of its allocated space, it will become invalid." [1] ZFS snapshots use Copy-on-Write differently and have no such allocated space limit. Thus, we can do interesting things like snapshotting a file system after an OS is installed, and then roll back to that snapshot upon an OS upgrade failure, or even clone a new file system from that snapshot to have a different copy of the OS. Essentially, the nature of the snapshots are different in both. [1] https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/configuring_and_managing_logical_volumes/advanced-logical-volume-management#understanding-logical-volume-snapshots https://docs.redhat.com/en/documentation/red_hat_enterprise_...
- regexorcist 3mo agoYou can do those things with LVM snapshots too, that's what they are used for.
- solarengineer 3mo agoWhen we allocate space to an LVM snapshot, the COW data is written to that space and then when that space is used up the LVM snapshot must either be given more space or must be deleted. When a ZFS snapshot is marked, then changes to existing blocks in the snapshot as well as new writes all go to free space in the disk. There is no pre-allocated space within which these COW changes are written to. Thus, we could have a single ZFS snapshot marked today followed by years of data being written to. This is not the intent of an LVM snapshot and the warning that I had quoted above is worth reviewing once.
- vardalab 3mo agoThat's what I did after my 15 year old Synology DS1010+ built in USB DOM failed. Put a network booted debian on it via netboot.xyz with zfs and now i get to reuse those 15 year old 2TB still chugging along disks. Fully open source, pretty nice way to keep old hardware going. It's my tertiary backup that wakes up once a week pulls in some open weights LLM models that I hoard just in case and goes back to sleep.
- mrighele 3mo agoHaving built a nas recently (luckily before ram/diskpocalypse) there seems to be a huge difference between making a small nas (say 4 disks) and a big one. With a small one you are essentially building a pc, and the differentiating factor is the software. Mobo, memory, case, PSU… buy consumer (cheap) stuff and you’re ok. Above that you have to start buying very expensive business oriented stuff,disk enclosure, better psu… the costs increase more that linearly , especially if you don’t live in the US and can easily get used stuff from eBay. And that stuff is often not just more expensive, but uglier and noisier. I ended up making my own “enclosure”
- dpedu 3mo agoI've been re-building my NAS and decided on NFS on top of ZFS. However, my goals are slightly different than the author: I'm using a low-power cpu/motherboard, and I've built 2 distinct systems that can fail over as a form of high availability. I've actually written some custom software to handle the failover and data replication. In my testing, clients see writes block for just a couple second during failover. Would anyone be interested in a writeup about this?