I'm managing a fair size domestic/small office file server for family. At the moment it's ordinary Windows + file sharing. I'm not happy that this is the best route, and likely to move to FreeNAS. I'd like to check my needs (which aren't complicated) and get feedback on anything I've missed before I start, as well as checking whether my goals are realistic, and steps I might need to consider, to have a good chance of achieving them.
Existing hardware, data stored, and usage:
Desired outcomes/concerns with FreeNAS:
Quick answers/info very appreciated, so I can start enjoying FreeNAS - thank you!!
Existing hardware, data stored, and usage:
- Hardware - Current platform is a Haswell i7 quad core + 16GB fast RAM with 4x4TB 7200 HDDs for data + fast 64GB SSD for the system. The data disks are all 5 year 24/7 enterprise range (not consumer), configured as 2 separate soft-mirrored volumes of 4TB+4TB each. (At the time of purchase, 6-8TB's weren't sold or cost too much). My other workstation uses SSD for HDD caching and I'd like to add that to any future build, and I can upgrade the SSD size if needed.
- Cache/RAID - I'm currently using Intel's RST for SSD caching on my main workstation, and the file server uses Windows dynamic disk mirroring for the mirrors. It's far from ideal but choosing a RAID card is a question all of its own and it's worked well enough to handle disk failure risk. But it's time to do better.
- Data - Usable space is 7.3TB and data physically stored is 5.8TB (7.7TB less 1.9TB Windows dedup saving). The data is made up of 3 distinct types - digitised movies + home movies (1-3GB files = 3.5TB, almost no dedup), disk images/backups (4-40GB files = 1.4TB but 97% deduped), and the rest is a mix of hundreds of thousands or millions of files - photos, drivers, installers, random stuff, work documents, kids homework, and repeated backups.
- Usage - mainly 3 kinds of file-server use: streaming (for movies), bulk file copying to/from server, and storing backups. As the Windows platform is a general one, it's also used as a media player and TV server/recorder too. Also when large open source ISOs are released, if the release is on bittorrent, they're written directly by the torrent client to shares on the server, to save later moving between devices. (Obviously some of these will migrate to FreeNAS and some won't).
- Users - while users are trusted to try and do right, some users are experienced and others aren't. So permissions are set up accordingly. I tend to spend a lot of time managing and organising files "bulk dumped" on the server, in my spare time.
Desired outcomes/concerns with FreeNAS:
- System adequacy - is my system (especially RAM) sufficient or should I get more, since ZFS and caching are memory intensive? Is SSD/RAM caching effective and "fast" on FreeBSD? Does ZFS handle RAID itself or do I need an extra card? Do I need a battery backed card to ensure that the SSD cache completes any writing in its queue in the event of power issues or is that handled by an SSD onboard capacitor (if present)?
- Data reliability - bit rot/corruption and guaranteed ability to revert to older versions or snapshots - inherent in ZFS and fundamental to FreeNAS, so these should be a "given". At worst in the case of a ransomware attack involving escalated privilege or admin account compromise via a Windows client, I'd like to be confident it couldn't damage/delete recent snapshots without also having access to the FreeNAS admin panel itself (which won't usually be logged in), and ideally would also be able to alert a possible attack if observed, based on the inevitable and very unusual file system activity.
- Performance - GbLAN with a mix of Windows (mainly), OSX and *nix clients. I'm a bit concerned about how well Samba/SMB/airplay would inter-perform, and whether server on FreeBSD + clients on Windows and subtle differences between SMB/Samba might mean that LAN file shares are less performative or "freeze" more due to locking issues. Reassurance/info/impressions on this would be very appreciated. I'd like to have extremely good and consistent performance even if it means extra RAM and SSD caching, as I like a consistent fast response and it's also very useful with large-scale data shuffling :) I'm not sure what to realistically expect :)
- Client access change - needs to be easy for an 'admin' user to help someone on their windows client, and to switch between FreeNAS accounts fairly easily when needed (eg to modify a file that the helped user can't write) without change of access rights being a pain in the backside :)
- File search - I do a lot of file searching from clients, for example "files in FOLDER_LIST matching BOOLEAN_FILENAME and BOOLEAN/REGEX_CONTENTS and DATES+SIZES". I don't use a pre-built search index, and I accept the slowdown this causes, the search program searches anew each time by re-reading the disk or cached files (I prefer it that way and want to keep it like that). When the files are well known properietary formats (docx, xlsx, ppt, pdf etc) the usual inbuilt filters also allow searching of the contents as well. But I'm not sure of the mechanics of searching a FreeNAS volume/directory in that way and how it would be affected by moving to FreeNAS - would I do it the same as at present (via CIFS/SMB), or via a specific "search UI" while logged into the NAS, or either? The program I use is "FileLocator Pro" (better known under old name of "Agent Ransack") if anyone knows it. Would this work the same as it does now, and would FreeNAS be any/much slower compared to a Windows server for this? (It's a big concern)
Quick answers/info very appreciated, so I can start enjoying FreeNAS - thank you!!