Had the idea in my head for a while now about doing a fileserver build to put all my media in one place. This includes years of movies, music and TV shows along with about 100GB of music rips. The goals of this were pretty simple:
- Have some form of redundancy, most likely in a RAID 1 or RAID 5 format
- Have enough horsepower to stream movies/videos on the fly, including conversions
- Have enough storage for all my current collection (~1.5TB) and future
At this point, I had some extra components lying around and got a sweet deal on an ASUS 990X motherboard and a set of 6 hard drives. Let’s get to the specs:
- ASUS 990X Sabertooth motherboard
- Corsaid 500W PSU
- Mushkin 240GB SSD
- (6) 750GB WD Black hard drives
- AMD 3.5GHz 8-Core CPU
- Hyper 212 Evo CPU cooler
- AMD 7770 GPU card with 2GB GDDR5 RAM
- Rosewill Stealth tower
- (2) Inline SATA power cords
- (6) 90 Degree SATA cables
The biggest issue in this build was finding either a card or motherboard that could support 6+ hard drives in RAID. This motherboard supports 6 total in RAID0/1/5 and also has two additional slots. The case has 8 3.5″ hard drive slots as well along with two 120MM fans up front to keep things cool. The system runs like a champ with very little noise.
The hardware is all set up and running without issue with RAID5 for a total storage of 3.4TB for the drives and booting from the SSD. It runs cool even when streaming full HD movies over my home network in multiple file formats.
Now, software. I had a little bit of decision making to do here. The goal at its truest form is to set up an easy to use fileserver and user accounts for this. I’ve used Samba for some basic servers but user accounts quickly become a pain to maintain and set up. I went to Server 2008 R2 for this instead. The fun came when I had to get video and ethernet drives for the motherboard on this, along with the USB3 adaptors. It took some leg work but worked out well.
For streaming: I use Plex server, simple to use and maintain and accessible from anywhere. I stepped up and for the $5/month PlexPass account to stream from my phone and iPod touch to my Chromecasts at home as well and everything works beautifully, even at full HD over Wifi or over the internet. All in all: I’d say this worked out pretty well!
Here’s some links for additional information:
So I’ve been working with this project off and on, mainly off due to time constraints with a new work shift/promotion. I’ve split the logs and dashboard readouts to allow for easier pulling of individual data. What this allowed me to do was to couple this with WordPress using iFrame to load the individual pieces. I then set up multiple pages for each PHP document to allow the refreshes to work normally. I’ve build and gotten a working version of a single ping test, so that’s off the checklist. My next goal is to build a queue of sorts to pull information from for a polling cycle depending on type of test, then run the tests I want. I’m starting with ICMP, but hope to go for basic SNMP once this works out. Stay tuned as always!
Been debating on how to keep an eye on my home network and decided to take a swing at getting a monitoring system built from scratch to build my coding skills more. General idea:
- Have a list of devices stored in a database with information such as IPs and names
- Pull this device list, and run a ping sweep on all devices to test for activity/status
- Log this into the database for reference
- Build a lightweight front end to show this information at a glance
At this point, I’ve gotten a basic running version of this on a dedicated Linux system (Ubuntu 12.04LTS with a LAMP install). It’s extremely fast and runs every 5 minutes out of a cron entry. I’ve gotten most of the items done:
- Database has multiple devices which can be added through front end GUI based off PHP
- GUI (webpage) refreshes every 60 seconds and shows the last pull status along with logs from recent pulls to look for trends
- Cron entry kicks off Perl poller that pulls information from DB and pings each device; 10 devices in less than a second total
- Stable and has been working without issue for a few days now
I’ve also gone and tested a few of the devices, unplugging them and what not and still show up without issue. Mind you, this is a dirty way to show this information and needs cleaning, but it works. Next goals are to clean up the dashboard a bit, maybe add a search tool in the near future and some color logging to note the bad devices. Who knows, maybe a ticket system in the future? Stay tuned as always!
Digging the tucked wheels and how clean the whole thing looked!
Shot from Pompey, NY at my parent’s house. GoPro Hero 2, no filtering.