People are going to hate me for this, as it's not a Linux solution... but after trying various *nix NAS distros and being disappointed, I settled on letting Windows do it for me:
- Get a generic small tower box with 3-4 year old hardware in it via eBay (or a business IT clearance site)
- If it's not got Windows on it, find a dirt cheap copy of Windows Server 2008 (again eBay etc).
- If there's no SATA RAID on the motherboard (unlikely), get a 4 to 8 port PCIe RAID card.
- Thrown in a bunch of identical disks of your preferred size
- For Raid 1: In Windows mount them all, and create Mirrored sets in software (via Diskmgmt)
- For Raid 5: Either do it via the BIOS (if supported) or via Diskmgmt (however RAID 5 in software is quite slow).
- Create file shares (SMB/CIFS/FTP etc).
- Job done.
I have this as my main File Server, and unless I'm hammering the box from multiple clients simultaneously I get max Gigabit throughput on all file transfers.
Also, and this is the big bonus for me, Software RAID 1 in Windows doesn't create funny disk volumes, so you can break the mirror and still access all your data from the remaining drive(s) - I've seen horror stories of bespoke partitioning in commercial NASs, and people losing data when the motherboards die - I don't want that ever happening to me.
Finally - Windows Server also supports iSCSI, so you can just keep adding new boxes with disks in, all presented via the same File Server.
Out of curiosity, how do windows filesystems for solutions like these compare to ZFS in terms of reliability and features ?
ZFS has been my only choice for NAS servers at home primarily due to it's data integrity features.
The combination of Storage Spaces and ReFS is pretty nice. Drives are added to storage pool and then block devices are allocated out of the pool. The blocks devices are thinly provisioned and expandable, so it's more flexible than it sounds. If you create a block device that has redundancy (either mirroring or RAIDZ-like parity), you get the data integrity like ZFS. I beleive the system also does periodic scrubbing.
One advantage of this setup is you can have multiple block devices of differing parity on top of the same pool. The pool is also more flexible than ZFS, allowing you to add drives of different sizes and later remove drives.
The main thing I miss from ZFS is the ability to create snapshots and do zfs send/receive for backups. Also not being able to read the source code is a bummer.
- Get a generic small tower box with 3-4 year old hardware in it via eBay (or a business IT clearance site)
- If it's not got Windows on it, find a dirt cheap copy of Windows Server 2008 (again eBay etc).
- If there's no SATA RAID on the motherboard (unlikely), get a 4 to 8 port PCIe RAID card.
- Thrown in a bunch of identical disks of your preferred size
- For Raid 1: In Windows mount them all, and create Mirrored sets in software (via Diskmgmt)
- For Raid 5: Either do it via the BIOS (if supported) or via Diskmgmt (however RAID 5 in software is quite slow).
- Create file shares (SMB/CIFS/FTP etc).
- Job done.
I have this as my main File Server, and unless I'm hammering the box from multiple clients simultaneously I get max Gigabit throughput on all file transfers.
Also, and this is the big bonus for me, Software RAID 1 in Windows doesn't create funny disk volumes, so you can break the mirror and still access all your data from the remaining drive(s) - I've seen horror stories of bespoke partitioning in commercial NASs, and people losing data when the motherboards die - I don't want that ever happening to me.
Finally - Windows Server also supports iSCSI, so you can just keep adding new boxes with disks in, all presented via the same File Server.