Guest Blogs

Finding the Right NAS Operating System - If There Is Just One



Thomas Kay founded Tom's Computer Support in 2001 with the goal of providing the type of professional IT support larger companies enjoy to small businesses in Pennsylvania.  Applying his experience working in marketing, sales, as well as IT at many local companies, Thomas quickly built a reputation as being a knowledgeable and trustworthy IT industry expert. He shares his expertise on a range of current IT topics via his blog at tomscomputersupport.com. Watch this space over the next few weeks as Thomas chronicles his experience building out his NAS using a Storinator from 45 Drives.




Now that I have some cool hardware ready for use in my datacenter, I’ve been tasked with determining what operating system meets our needs. We have the unique problem if running multiple business lines under the same roof along with needing a place for personal data since it’s stored in our home. This adds to the complexity of choosing an operating system that anyone in the home can use while maintaining security for applications that shouldn’t be accessed by others. Everything from photo editing, system builds, network vulnerability assessments, and many others are all part of the Toms Computer Support umbrella of services and finding the right solution requires critical thinking about those services and tying them into the final selection.

The second problem is determining an operating system that provides for some futureproofing. Futureproofing is an interesting term when it comes to technology since technology changes so rapidly. In our case, we’re looking for a system that can run reliably and is open to changes in operating systems over the next three years minimally. The process of choosing an accurate operating system can be a daunting task, especially with new operating systems appearing in the market regularly. If you have a list of features you’re looking for, the process of choosing the correct one can become significantly easier (depending on your absolute necessities).

The Criteria
Let’s discuss the wish list and we’ll break it down from there into our challengers as to what we think will be our end product:
  • Hardware friendly. That means, we don’t want to run ESXi, Hyper-V, or some other type of
    hypervisor to get the operating system we choose up and running.
  • Pure RAID is not the solution. We want something that can adapt to the needs of the organization over time. That means that today we only need about 50TB of drive storage – which we can easily do over 15-20 drives. We want to be able to easily expand our array over time with mixed models of hard drives and have that space available to our drives as needed. Using mixed hard drive sizes, vendors, etc. are required as this will allow us to buy appropriate drives based on their price point along the way as our needs for disk storage changes over the years.
  • Thin provisioning. Thin provisioning in the world of virtualization and file services for some – and that’s a key word here – is extremely important. Sometimes you simply don’t know how much storage you need for a volume until you need more space. By using thin provisioning where available, it allows administrators to size volumes as needed. This comes at a cost though. Typically, the performance of thin provisioned disks is reduced significantly over thick provisioning of disks where volume space is allocated in full. When using applications such as SQL databases, virtualization, and other resource intensive applications, thick provisioning is the way to go. In our case, since this is used primarily as a test bed, thin provisioning gives us the ability to create, delete, re-size, etc. volumes as we see fit with minimal effort.
  • Deduplication. The concept of deduplication is still catching on in many areas of the storage arena. The feature of deduplication is typically an enterprise level feature that operates at the block level of storage devices and comes at a financially steep price tag. When we tried out Windows Server 2012 R2 and storage spaces, combined with deduplication enabled, we were able to see a net gain of 4TB across our used 40TB storage pool. In our case, the feature becomes advantageous, but not totally necessary. Again, like thin provisioning, deduplication can come at a significant performance cost. But, when properly implemented on only the volumes that it is necessary to run on, deduplication can be a very advantageous feature for the right IT administrator.
  • Ease of management and accessibility. Being a member of the armed forces can offer some interesting problems for administration of a server that is critical to the workflow of our entertainment in the household. If I get deployed overseas, or to a place with limited connectivity, the system has to be able to be administered by a person whom isn’t 100% familiar with servers. That person needs to be able to understand how to power the system and reset it as needed, and properly start and stop services as needed. This puts a damper on Linux command line only options such as Arch, CentOS, and other distributions that lack a web gui.
  • Application friendly. Dropbox, Apache Web Server, OwnCloud, Crashplan, and other applications must be able to run on the server appropriately and without the ability to corrupt the primary operating system. In this particular case, Docker or similar options are greatly preferred. More on this in the next section.
  • Performance driven. Windows Server 2012 R2 has served us well for many years however, it comes with a steep hardware requirement. Where Linux operating systems are able to run efficiently with as little as 1-2GB of RAM, Windows demands double to get started or 4x more to really run adequately. File services should be able to run at the top of their game as well by allow for caching on SSD units for added write speeds to the arrays.
  • Protocol Friendly. We would like to be able to support iSCSI lun hosting, CIFS (Samba), NFS, and AppleTalk (for Apple Time Machine backup purposes).
Of course this isn’t absolutely everything that we’re looking for, but this gives us generally a nice starting point – at least for the main features of the OS

Applications




Secondarily, we have a list of most often used applications that we somehow need to work into the build process:
  • Plex Media Server. Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. It is a media player system and software suite consisting of many player applications for 10-foot user interfaces and an associated media server that organizes personal media stored on local devices. This piece of software probably needs no introduction and is probably the most sought out application for media services within the home environment due to its ease of management, flexibility, and OS agnostic platform options.
  • Crashplan. Offsite backup software.
  • TFTP and PXE. TFTP and PXE support allows us to store images of our customers’ laptops, servers, and desktops that need to be readily available for deployment to their systems in case of system rebuilds, new system deployments, etc.
  • Photo Album. With thousands of images in our library from a Nikon D800E camera, we need a way to catalog all the images in a manner that allows us to manipulate and retain them for long term storage and accessibility.
  • MySQL. Industry recognized, freely distributed, Linux friendly database system for our Linux based websites.
  • Apache. We develop websites for customers and need the availability to host many different test sites for our customers use at any point in time.
  • DNS. Centrally hosting DNS makes it easy to work together with Apache and virtual hosts.
  • DHCP. Adding a DHCP server to the same location as DNS and TFTP allows us the concept of centralized administration.
  • Syslog. Central to many security experts is the idea and understanding that long term retention of logs from switches and routers is vital to confronting and finding security breaches in networks.
  • Python compatibility. A growing number of applications today use Python and thus the system must have support for such applications long term.

The Operating Systems on the Table:
I’ve listed the operating systems initially based on the operating systems that come as options from 45 Drives directly, then added additional operating systems that we’re looking at as alternatives. Keep in mind that one of the nicest parts about a 45 Drives unit versus many others in the NAS competitive arena is that it uses industry standard hardware and thus allows for a much greater selection of operating systems to fit your needs. QNAP, Synology, and others are typically limited to the operating system that they come with – with the exception of hacking them. In this case, the 45 Drives unit allows to look at other Operating Systems as we need and we’re included links to the operating systems and some keynotes about each one are follows:









Description
  • CentOS (abbreviated from Community Enterprise Operating System) is a Linux distribution that attempts to provide a free, enterprise-class, community-supported computing platform which aims to be functionally compatible with its upstream source, Red Hat Enterprise Linux (RHEL).
Personal Notes
  • Personally, probably one of my absolute favorite operating systems. Although I’m not what you would call a Linux guru, I do know enough to get me around the configuration requirements of the system and how to get it running for my needs – generally.
Meeting the Criteria
  • The operating system certainly meets the requirement of being hardware friendly as no hypervisor is required to run the system, applications are all readily available, and as the system is so lightweight when configured in minimal mode, the system delivers plenty of performance to meet the workloads of most anyone. The biggest drawback to this system is the lack of a web interface to perform all the configurations of the applications and system. DeDuplication is available through BTRFS, but it’s in an unknown status in terms of overall reliability, and I’m honestly very unfamiliar with the concept of thin provisioning of disks through the use of storage pools (maybe someone would be kind enough to send me a walkthrough on this topic?). Although you can install such applications as WebMin, CentOS doesn’t directly deliver the enhancements and features that we’re seeking.
Hardware Notes
  • Highpoint Rocket 750 drivers and web gui configuration client utilities are readily available here.
Pros
  • Exceptionally reliable, ease of installation of applications through Yum package manager.
Cons
  • Lacks a modern web interface that allows for remote installation of packages and system configuration without the need for SSH/Terminal access.
Costs
  • Free









Description
  • Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian provides more than a pure OS: it comes with over 43000 packages, precompiled software bundled up in a nice format for easy installation on your machine.
Personal Notes
  • This operating system is probably one of the most recognized for appliances these days and for a good reason. Its lightweight architecture allows for streamlined installation and responsiveness for systems without system resources to handle heavier workloads. For example, the Kemp Loadbalancers and, my personal favorite, the Zen Loadbalancer, both use Debian for their appliance installations. This allows their hardware to be much lower scale than the hardware offered by 45 Drives. In this case, we aren’t limited to running such a lightweight operating system.
Meeting the Criteria
  • Same as CentOS.
Hardware Notes
  • Highpoint Rocket 750 drivers and web gui configuration client utilities are readily available here.
Pros
  • Very stable; remarkable quality control; includes over 30,000 software packages; supports more processor architectures than any other Linux distribution.
Cons
  • Conservative – due to its support for many processor architectures, newer technologies are not always included; slow release cycle (one stable release every 1 – 3 years); discussions on developer mailing lists and blogs can be uncultured at times.
Costs
  • Free








Description
  • FreeNAS is a free and open-source software network-attached storage (NAS) system based on FreeBSD and the OpenZFS file system. It is licensed under the terms of the BSD License and runs on commodity x86-64 hardware. FreeNAS supports Windows, OS X and Unix clients and various virtualization hosts such as XenServer and VMware using the CIFS, AFP, NFS, iSCSI, SSH, rsync and FTP/TFTP protocols. Advanced FreeNAS features include full-disk cryptography and a plug-in architecture for third-party software.
Personal Notes
  • I’ve used FreeNAS long before it has turned into the solution that it is today and thus I’m familiar with the old nuances of configuring the storage alottments. Today the system has been dramatically changed and thus needs to be reviewed separately after a period of proper trial. Notes on this installation option will be available later.
Meeting the Criteria
  • At first glance, the operating system meets or exceeds the expectations required from the above. The real hurdle here becomes the ease of implementation and configuration. – Time will tell.
Hardware Notes
  • Highpoint Rocket 750 drivers and web gui configuration client utilities are readily available here.
Pros
  • Lots of available features and plugins to allow us the functionality required with the addition of some other features we weren’t readily looking for.
Cons
  • The complexity of the configuration, even from within a VM, doesn’t seem at all straight forward in terms of the volume creation. This makes it difficult to support long term by persons that aren’t exactly network or system administrators. This can however, be resolved through videos, proper documentation, and the like.
Costs
  • Free
Updates
  • 12/9/2015 – Experimented with FreeNAS in a virtual environment and as well as the RAID Storage system configuration module works, it doesn’t allow for you to simply expand a ZFS3 volume once you want to add drives to the pool at a later time.  This is one of the most critical aspects of the storage system for us.  It is with this failed feature that FreeNAS is out of the mix.







Description
  • The folks over at Xpenology have been able to tinker with some of the underlying code associated with the Synology operating system (GPL) that allows us to install the DSM image of Synology OS on standard X86 hardware. This gives hobbyists the opportunity to run reliable Synology software on their systems without the increased price of Synology hardware. Advanced protocols, feature rich, and large community involvement of the Xpenology software and Synology software allow us to expand the NAS into areas other operating systems cannot.
Personal Notes
  • This is the operating system that we’re pushing to get working on our new 45 Drives unit. This comes with a great deal of hurdles though. Xpenology was designed to be used on standard PC hardware, and typically hardware that doesn’t have SAS expanders and SAS controllers. Thus, the XPenology installation image doesn’t work out of the box with many add-on hardware RAID controllers on the market. The Xpenology, if successful will probably end up being our game changing operating system for this unit due to its ease of management going forward. You can read more about similar Xpenology builds here. We’ll also have a build log on how Xpenology works or doesn’t work on our system over the next few weeks.
Meeting the Criteria
  • Meets all the required features with the exception of DeDuplication.
Hardware Notes
  • Does not directly support the Highpoint Technology Rocket 750 as part of the standard DSM image. There have been reports that an injection of the driver can be done, but nothing confirmed as of yet.
Pros
  • Lots of community support for both the Synology operating system and the Xpenology boot loader system. Applications experience ease of installation through their web based package handler, and with the addition of Docker support, packages can be separated from the primary operating system to reduce the risk of vulnerabilities to the storage system.
Cons
  • The lack of hardware drivers increases the complexity of the install and begs to question the concept of overall reliability and stability. This may be a nice option for test environments, but not for mission critical production systems.
Costs
  • Free









Description
  • What was once an operating system designed to give you ultimate control over your storage now extends that benefit to all of your computing hardware and software. unRAID Server OS 6 is a scalable, consumer-oriented, server operating system. Traditional approaches to personal computing technology place limits on your hardware’s capabilities, forcing you to choose between a desktop, media player, or a server. With unRAID, it can deliver all of these capabilities, at the same time, and on the same system.
Personal Notes
  • This has me personally intrigued. I started playing with the operating system briefly last night but realized that it fails to recognize the Highpoint Rocket 750 controller adapters directly from the raw installation. Again, this is something that can probably be fixed through driver installation and re-compiling the kernel of the OS, but I haven’t gotten that far in the process. [[EDITOR'S NOTE - unRAID is presently working on, and testing, a new revision of their software at this time. Please keep checking our website for updates and releases]]
Meeting the Criteria
  • Meets the required features with some exceptions. DeDuplication is lacking but the advantage with this OS like some others is the addition of Docker and direct HyperVisor support for applications that aren’t directly supported within Docker.
Hardware Notes
  • Highpoint Rocket 750 is not directly supported. This can probably be resolved with the addition of third party drivers but haven’t gotten that far in the installation process. Instead, we have a second issue after some brief forum searching. The system seems to be hard capped at 24 drives, which is shared between caching drives and standard hard drives. This then doesn’t allow us to use the full set of 45 drives in the system along with caching drives for enhanced performance. [[EDITOR'S NOTE - unRAID is presently working on, and testing, a new revision of their software at this time. Please keep checking our website for updates and releases]]
  • I do have an email into technical support with them to see if the 24 drives is truly a hard cap or if there’s a way around this. I’m also in the process of communicating with Linus from Linus Tech Tips on how he’s making out with this OS on his own 45 Drives unit. [[EDITOR'S NOTE - unRAID is presently working on, and testing, a new revision of their software at this time. Please keep checking our website for updates and releases]]
Pros
  • Hypervisor, docker, and enhanced feature support out of the box via a modern user friendly interface that allowed for simple configuration of storage pools and parity drives.
Cons
  • Seems to be lacking the number of drives needed to populate the full set of 45 drives on the unit. This will be clarified later. The software also isn’t free. There is a licensing fee depending on the number of drives in the storage system.
Costs
  • $125 / 25 drives







Description
  • This operating system doesn’t need much introduction as it has been the reliable operating system for many over the years.
Personal Notes
  • This is by far the easiest system to transition to from our current Norco build. With the addition of storage spaces in Server 2012 R2, we would be able to transition our 24 disk array from one installation straight into the new system without much configuration at all. The problem ultimately becomes maintainability. Windows Server 2016 is coming soon and the upgrade to the new system with Nano and containers becoming available seems to be extremely advantageous. That means that at some point in time, the primary storage system would become offline in order to perform the system upgrade.
Meeting the Criteria
  • Since we’re currently running with Windows Server 2012 R2, we know that it meets the requirements. It just isn’t as reliable and easy to maintain as some of the similar Linux products available.
Hardware Notes
  • Highpoint Rocket 750 drivers and web gui configuration client utilities are readily available here.
Pros
  • Lots of availability for software and features. Support is vastly available and familiarity with the operating system means that any member of the family can troubleshoot the product if needed.
Cons
  • Licensing fees and updates, updates, and more updates. The consistent second Tuesday of the month containing patches and security updates means that the system is always scheduled for maintenance at least once a month.
Costs
  • $699.99 Standard Edition
  • $4599.99 Datacenter Edition

Conclusion
It’s simply too early to tell which way we’ll end up going with our operating system choice. We have new hardware coming from 45 Drives to assist in our troubleshooting phase with some of the operating systems we listed above. So once we have the new hardware, we should be able to try out a greater selection of operating systems and report back what works and what doesn’t. At that point, we can go through the process of determining what provides the best performance and reliability and make our decision from there.

Stay tuned for more over the next few weeks.

3 comments:

  1. (Note that I could not find a date for this post, but the context makes me think it's recent enough.)

    Overall, a good, comprehensive overview.

    I'll note that your "updates" comment for Windows Server is odd to me - I haven't found my production windows servers to require more restarts than linux, but then I default to installing Server Core, just as I default to Ubuntu Server without an overriding reason. (CentOS' default of including a GUI and many other packages [Bluetooth support? Really]by default continues to befuddle me.) If you haven't yet, get comfortable with Server Core. (Assuming you have a domain to join it to, existing Windows boxen with the admin tools, etc.)

    ReplyDelete
  2. We had to switch from Windows Server 2012 to FreeNas because of the shitty NFS speeds obtained via Windows (primary application, is FC PRO), which requires NFS.

    ReplyDelete
  3. We had to switch from Windows Server 2012 to FreeNas because of the shitty NFS speeds obtained via Windows (primary application, is FC PRO), which requires NFS.

    ReplyDelete