[Guide] Budget Home Server Upgrade (Pt. 3): NAS Follow Up

Time for an update – It’s been more than 3 years now since I set up my Dell T5500 home server in it’s current form and in short, it’s been running like a dream. Just one of the RAID drives failed over time, which I’ll outline below, I will also go into detail about the current hardware setup and VM services running, the addition of a UPS battery backup and more.

Drive Failure

One of the WD Green 3TB drives failed late last year, after 816 days of uptime. The Green drives are designed for desktop storage use, not so much NAS use, so I wasn’t surprised that it eventually failed. The positioning was internal on the T5500 server, sandwiched against the door panel, out of the way of the main airflow. These two drive positions run the warmest, normally about 6-8 degrees warmer than the actively cooled external enclosure, as can be seen in the SMART info below.

194 Temperature_Celsius     0x0022   109   103   000    Old_age   Always       -       41
194 Temperature_Celsius     0x0022   107   097   000    Old_age   Always       -       43
194 Temperature_Celsius     0x0022   107   093   000    Old_age   Always       -       43
194 Temperature_Celsius     0x0022   115   104   000    Old_age   Always       -       35
194 Temperature_Celsius     0x0022   120   115   000    Old_age   Always       -       30
190 Airflow_Temperature_Cel 0x0032   060   052   000    Old_age   Always       -       40

As expected, mdadm threw a degraded warning via email, and I dropped by the local computer shop to purchase a WD Red 3TB replacement drive. Easy to swap in, with minimal but still some downtime, as my drives are not hot-swappable. Rebuilding into the new drive takes a while, especially since rebuild performance is intentionally throttled to preserve performance for network shares and VMs.

USB Drive Wear

When I initially set up the server, I didn’t want to allocate SSD space to the host OS (Ubuntu 14.04 LTS), instead booting the entire server off a Sandisk 32GB USB stick. Drive wear and tear on flash memory can be a concern, especially over an extended time, however there are some things which can be done to mitigate this. Firstly, mounting tmpfs (/tmp) as a RAM disk, with an initial allocation of up to 50% of total RAM, depending on free RAM availability. This doesn’t get used much anyway, mostly just for package updates, and with the large amount of free memory (about 30% of 48GB total is unused), using more RAM is a no-brainer. In addition, system logs can be written to the RAID array directly, or sent to a remote rsyslog server for parsing. Alternatively, they can be emailed regularly, if mail server space is not at a premium. However, logs only total about 2-3MB a week for the entirety of services.

APC UPS

Along the way I decided to grab a small sized APC UPS as the power in my area sometimes flickers and the wiring is also fairly old in the house. I grabbed an APC BK500EI UPS (500VA). It additionally connects to the server via USB and works perfectly with the apcupsd daemon to control functions, automation and monitor status. It even provides an estimated battery runtime based on current load (which usually floats around 10-15 minutes). In the event of a lengthy blackout, pre-defined scripts will flush all writes and gracefully shut down VMs before shutting the main server down. I also hooked up my modem/router and entire RAID array to the UPS for added redundacy. In an average month, the UPS triggers about once or twice, usually for small periods of time (< 1 minute), saving an ugly shutdown. I would highly recommend one for any home server, if only for data integrity.

DATE     : 2017-01-29 13:55:45 +1100  
VERSION  : 3.14.10 (13 September 2011) debian
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2016-11-13 11:07:55 +1100  
MODEL    : Back-UPS CS 500 
STATUS   : ONLINE 
LINEV    : 244.0 Volts
LOADPCT  :  58.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  11.4 Minutes
SENSE    : Medium
DWAKE    : 000 Seconds
DSHUTD   : 180 Seconds
LOTRANS  : 180.0 Volts
HITRANS  : 266.0 Volts
ITEMP    : 29.2 C Internal
BATTV    : 13.7 Volts
LINEFREQ : 50.0 Hz

Automation

I have been adjusting my download automation over time, the entire process is more or less set and forget, here’s how it stands now (for links to these services, see list further down):

TV Shows -> Add wanted TV series to Sickrage -> Sickrage detects new episodes via TVDB -> Sickrage triggers periodic Usenet/Torrent searches -> Download is sent to monitored folder for processing -> Episode is correctly named and filed onto RAID -> Sickrage sends trigger to Plex Server to run a partial library update to fetch episode metadata -> Episode shows up on devices / Email is sent.

Movies -> Add wanted movie to Couchpotato at minimum desired quality -> Once Movie is released on physical disk, Couchpotato begins periodic searches for minimum quality, with higher preference given to specific release groups or formats -> Movie is downloaded via Torrent/Usenet to specified folder -> Movie is correctly named, with IMDB ID suffix and filed into Movies folder -> Plex picks up new movie added and fetches metadata -> Episode shows up on devices / Email is sent

Podcasts / Youtube -> PocketCasts on Android picks up nearly all the podcasts I want, but a few are only on Youtube. Youtube has been notoriously unreliable for notifications and updates, so I rely on Flexget to read Youtube channel subscriptions -> New Youtube video appears on a desired channel -> If keywords match, or for all videos, then send to youtube-dl to download in desired format -> Output is either a video file or audio file, automatically filed into appropriate folder -> Audio files are synced via Syncthing to mobile devices, ready to listen.

For more detailed information about my current home setup, see this page.

 

Advertisements

One thought on “[Guide] Budget Home Server Upgrade (Pt. 3): NAS Follow Up

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s