Showing posts with label freenas. Show all posts
Showing posts with label freenas. Show all posts

Creating a Private Cloud with Pydio

In my previous post I talked about FreeNAS, the open-source Network Attached Storage solution. We used it to create a large storage pool for our faculty, staff, and students. Creating a storage pool is just one part of the challenge. The other, more important part, is how do you make all of that storage easily available?

A couple of years ago a member of another IT group at the university talked about Pydio (known then as Ajaxplorer). I started investigating and found that it could do many of the things we wanted, but there were some issues with how it handled authentication in one of its features. Our university uses Active Directory for authentication, and although Pydio supported AD, one particular feature of Pydio that we wanted to use did not. This meant users would have to create a separate, non-AD password to use that feature.

Fortunately Pydio is also open-source, so I set out to modify it to work the way we needed it to. The changes I submitted have now been integrated into Pydio, so it works very well in our AD environment.

Pydio (Put Your Data In Orbit) is a private cloud storage solution that uses PHP and MySQL. From an admin perspective, it is very easy to get up and running. On the user side, it features a web-based drag-and-drop interface with multiple file and folder sharing options. Users can share with other internal users, setting per-user access permissions. They can also share with external users by URL (web link), optionally with a password.

There are free Pydio apps for iOS and Android, and it even supports the WebDAV protocol (used by various apps and allows for desktop network share folders).

Once we had Pydio up and running, we started rolling it out to small test groups to make sure it would work as expected. One of the first "signs of success" we had was that the users in the test groups were encouraging other users to start using Pydio. We were very happy that our users wanted to use Pydio.

Pydio is in active development, and continues to get better. The combination of Pydio and FreeNAS is a great, inexpensive way to create a private cloud storage solution.

FreeNAS with the Supermicro SuperServer 6027R-72RF

It seems there's never enough storage. To address growing storage needs within our faculty, we looked at various storage solutions. FreeNAS, an open-source solution, stood out because our unit works with a razor thin budget. We ordered our first FreeNAS system last year.

This year we looked at building another FreeNAS system for our satellite campus to use as an off site backup of the primary system. FreeNAS uses the ZFS file system and can easily replicate one system to another. The off site system provides a good level of protection and redundancy. Should the main server fail, the secondary server can take over.

The first step was to spec and build the hardware. We looked at brand name systems, but the prices all quickly scaled beyond our budget once we added the RAM and storage space we desired. FreeNAS recommends 1GB of RAM for each terabyte of storage, and we wanted lots of storage. The configurations we looked at all ended up being over $8,000, with some of the high-storage options going over $10,000.
We decided to look at building our own system.

After a little shopping, I came across the Supermicro 6027R-72RF 2U barebones server. It has 8 SAS/SATA III hot-swap drive bays, SCSI SAS controller with SAS expander backplane, a dual socket Xeon motherboard, redundant power supply, CPU heatsinks, fans, and integrated video. Pretty much everything you need other than CPU, RAM, and hard drives. This nearly complete system was just under $1,600!

We added in a 6-core/12-thread Xeon processor, 32GB of ECC RAM, and 8 4TB Western Digital RE (RAID Edition) hard drives, and the grand total was just under $5,800 CDN (before tax). It would have almost been possible to order two of these systems for the same price as a similarly spec'ed brand name server.

Putting all of the parts together was a breeze. The whole system was assembled and booting up FreeNAS in just a few hours.

Of course, things weren't going to be perfect. :)

The support from FreeNAS of the integrated SCSI chip was pretty much non-existent. The recommendation from the FreeNAS forums was to purchase another SCSI card. Despite the information in the forums, I had no trouble running the drives in the proper JBOD mode. The biggest challenge seemed to be FreeNAS' lack of integrated support for monitoring the health of the hard drives. From what I could tell, this support is in the mfip.ko module in FreeBSD (the OS FreeNAS is based on), but that module isn't in FreeNAS.

FreeNAS does include the MegaCli utility which can be used to read a lot of information from the drives, including the SMART values. FreeNAS also has an alert system based on Python scripts. It was relatively easy to write a custom script to monitor the health of the hard drives and use FreeNAS' integrated alert system.

The system has been up and running solidly for a few months now. The next topic will describe how we're letting our users take advantage of the extra space.