Moving from W2K16 to Unraid

I have been happy with my server rack running my UniFi network equipment and two Windows Server 2016 (W2K16) instances. I use the servers for archiving my media collection and running Hyper-V for all sorts of home projects and work related experiments. But, time moves on, one can never have enough storage, and technology changes. So I set about a path that lead to me replacing my W2K16 servers with Unraid.

I currently use Adaptec 7805Q and 81605ZQ RAID cards, with a mixture of SSD for caching, SSD RAID1 for boot and VM images, and HDD RAID6 for the large media storage array. The setup has been solid, and although I’ve had both SSD and HDD failures, the hot spares kicked in, and I replaced the failed drives with new hot spares, no data lost.

For my large RAID6 media array I used lots of HGST 4TB Ultrastar (enterprise) and Deskstar (consumer) drives, but I am out of open slots in my 24-bay 4U case, so adding more storage has become a problem. I can replace the 4TB drives with larger drives, but in order to expand the RAID6 volume without loosing data, I need to replace all disks in the array, one-by-one, rebuilding parity in between every drive upgrade, and then expand the volume. This will be very expensive, take a very long time, and risk the data during during every drive rebuild.

I have been looking for more flexible provisioning solutions, including Unraid, FreeNAS, OpenMediaVaultStorage Spaces, and Storage Spaces Direct. I am not just looking for dynamic storage, I also want a system that can run VM’s, and Docker containers, I want it to work with consumer and or small business hardware, and I do not want to spend all my time messing around in a CLI.

I have tried Storage Spaces with limited success, but that was a long time ago. Storage Spaces Direct offers significant improvements, but with more stringent enterprise hardware requirements, that would make it too costly and complicated for my home use.

FreeNAS offers the best storage capabilities, but I found the VM and Docker ecosystem to be an afterthought and still lacking.

OpenMediaVault (OMV) is a relative newcomer, the web front-end is modern, think of OMV as Facebook and FreeNAS and Unraid as MySpace, with growing support for VM’s and Docker. Compared to FreeNAS and Unraid the OMV community is still very small, and I was reluctant to entrust my data to it.

Unraid offered a good balance between storage, VM, and Docker, with a large support community. Unlike FreeNAS and OMV, Unraid is not free, but the price is low enough.

An ideal solution would have been the storage flexibility offered by FreeNAS, the docker and VM app ecosystem offered by Unraid, and the UI of OMV. Since that does not exist, I opted to go with Unraid.

Picking a replacement OS was one problem, but moving the existing systems to run on it, without loosing data or workloads, quite another. I decided to convert the two servers one at a time, so I moved all the Hyper-V workloads from Server-2 with the 8-bay chassis, to Server-1 with the 24-bay chassis. This left Server-1 unused, and I could go about converting it to Unraid. I not only had to install Unraid, I also had to provision enough storage in the 8-bay chassis to hold all the data from the 24-bay chassis, so that I could then move the data on Server-1 to Server-2, convert Server-1 to Unraid, and move the data back to Server-1. And I had to do this without risking the data, and without an extended outage.

To get all the data from Server-1 to fit on Server-2, I pruned the near 60TB set down to around 40TB. You know how it works, no matter how much storage you have it will always be filled. I purchased 4 x 12TB Seagate IronWolf ST12000VN0007 drives, and combined with 2 x 4TB HGST drives, gave me around 44TB of of usable storage space, enough to copy all the important data from Server-1 to Server-2.

While I was at it, I decided to upgrade the IPMI firmware, motherboard BIOS, and RAID controller firmware. I knew it is possible to upgrade the SuperMicro BIOS through IPMI, but you have to buy a per-motherboard locked Out-of-Band feature key from SuperMicro to enable this, something I had never bothered doing. While looking for a way to buy a code online, I found an interesting post describing a method of creating my own activation keys, and it worked.

IPMI updated, motherboard BIOS updated, RAID firmware updated, I set about converting the Adaptec RAID controller from RAID to HBA mode. Unlike the LSI controllers that need to be re-flashed with IR or IT firmware to change modes, the Adaptec controller allows this configuration via the controller BIOS. In order to change modes, all drives have to be uninitialized, but there were two drives that I could not uninitialize. After some troubleshooting I discovered that it is not possible to delete MaxCache arrays from the BIOS. I had to boot using the Adaptec bootUSB Utility, that is a Linux bootable image that runs the MaxView storage controller GUI. MaxCache volumes deleted, I could convert to HBA mode.

With the controller in HBA mode, I set about installing Unraid, well, it is not really installing in the classic sense, Unraid runs from a USB drive, and all drives in the system are used for storage. There are lots of info online on installing and configuring Unraid, but I found very good info on the Spaceinvader One Youtube channel. I have seen some reports of issues with USB drives, but I had no problems using a SanDisk Cruzer Fit drive.

It took a couple iterations before I was happy with the setup, and here are a few important things I learned:

  • Unraid does not support SSD drives as data drives, see the install docs; “Do not assign an SSD as a data/parity device. While unRAID won’t stop you from doing this, SSDs are only supported for use as cache devices due TRIM/discard and how it impacts parity protection. Using SSDs as data/parity devices is unsupported and may result in data loss at this time.” This is one area where FreeNAS and OMV offer much better redundancy solutions using e.g. ZFS over Unraid’s parity solution, or many other commercial solutions that have for many years been using SSD’s in drive arrays.
  • Unraid’s caching solution using SSD drives and BTRFS works just ok. Unlike e.g. Adaptec MaxCache that seamlessly caches block storage regardless of the file system, the Unraid cache works at the file level. While this does create flexibility in deciding which files from which shares should be using the cache, it greatly complicates matters when running out of space on the cache. When a file is created on the cache, and the file is then enlarged to the point it no longer fits in the available space, the file operation will permanently fail. E.g. copying a large file to a cached share, and the file is larger that the available space, the copy will proceed until the cache runs out of space, and then fail, repeat and get the same. To avoid this, one has to set the minimum free space setting to a value larger than the largest file that would ever be created on the cache, for large files, this is very wasteful. Imagine a thin provisioned VM image, it can grow until no space, and then fail, until manually moved to a different drive.
  • The cache re-balancing and file moving algorithm is very rudimentary, the operation is schedule per time period, and will move files from the cache to regular storage. There is no support for flushing the cache in real-time as it runs out of space, there is no high water or low water mechanisms, no LRU or MRU file access logic. I installed the Mover Tuning plugin that allows balancing the cache based on consumed space, better, but still not good enough.
  • Exhausting the cache space while copying files to Unraid is painfully slow. I used robocopy to copy files from W2K16 to a share on Unraid that had caching set to “preferred”, meaning use the cache if it has space, and as soon as the cache ran out of space, the copy operation slowed down to a crawl. As soon as the cache ran out of space, new files were supposed to be written to HDD, but my experience showed that something was not working, and I had to disable the cache and then copy the files. The whole SSD and caching thing is a big disappointment.
  • Building parity while copying files is very slow. Copying files using robocopy while the parity was building resulted in about 200Mbps throughput, very slow. I cancelled the parity operation, disabled the parity drive, and copied with no parity protection in place, and got near the expected 1Gbps throughput. I will re-enable parity building after all data is copied across.
  • Performing typical disk based operations like add-, remove-, or replace- a drive, is very cumbersome. The wiki tries to explain, but it is still very confusing. I really expected much easier ways of doing typical disk based operations, especially when almost all operations result in the parity becoming invalid, leaving the system exposed to failure.
  • It is really easy to use Docker, with containers directly from Docker Hub, or from the Community Applications plugin that acts like an app store.
  • It is reasonably easy to create VM’s, one has to manually install the LibVirt KVM/QEMU drivers in Windows OS’s, but it is made easy with the automatic mounting of the LibVirt driver ISO.
  • I could not get any Ubuntu Desktop VM’s working, they would all hang during install. I had no problems with Ubuntu Server installs. I am sure there is a solution, I just did not try looking yet as I only needed Ubuntu Server.
  • VM runtime management is lacking, there is no support for snapshots or backups. One can install the Virt-Manager container to help, but it is still rather rudimentary compared to offerings from VMWare, Hyper-V, and VirtualBox.
  • In order to get things working I had to install several community plugins, I would have expected this functionality to be included in the base installation. Given how active the plugin authors are in the community, I wonder if not including said functionality by default may be intentional?
  • Drive power saving works very well, and drives are spun down when not in use. I will have to revisit the file and folder to drive distribution, as common access patterns to common files should be constrained to the same physical drive.
  • The community forum is very active and very helpful.

I still have a few days of file copying left, and I will keep my W2K16 server operational until I am confident in the integrity and performance of Unraid. When I’m ready, I’ll convert the second server to Unraid, and then re-balance the storage, VM, and Docker workloads between the two servers.

Monoprice MP Voxel 3D Printer Setup

[Update]
After using the printer for about two weeks, I returned it to Monoprice for a refund. I would suggest you stay away and look elsewhere, or wait until Monoprice addresses the serious issues; Polar Cloud disconnects while printing, IO timeout error breaks camera function, and the deal breaker is hangs during printing, with the touch screen unresponsive and the extruder and print bed heater still on.

 

I’ve been looking for a new 3D printer to use at home, and I just installed and configured my new Monoprice Voxel 3D Printer.

I bought my first 3D printer, a Makerbot Replicator 2, for our office new-tech lab in 2012. It was a shared printer, hard to maintain, and eventually printed to death.

A few months ago I found the HobbyKing Turnigy Mini Fabrikator V2 on sale at a great price. It sat unopened, until a few weeks ago, when I wanted to use it to print Christmas ornaments for the kids to decorate. What a disappointment, difficult to configure, flimsy construction, and during the first print the filament guide adapter broke away from the print head, impossible to fix without ordering replacement parts, I just trashed it.

In search of a replacement, I decided to look for something the kids could use with minimal (wishful thinking at this age) help from me. That meant an enclosed printer and iPad capable software. A semi-helpful Reddit post made it clear to me that the best printers, and best value for money printers, are not really kid friendly, but it did point me in the right direction. To Polar Cloud, and to FlashForge, and eventually the Monoprice Voxel, that is a cheaper Monoprice branded FlashForge Adventurer 3.

Unboxing and setting up was easy, and in a few minutes I printed the sample cube that is included on the 8GB internal memory. The unit is quiet while printing, but the continuous high pitched fan noise is annoying.

Next I configured WiFi and connected to Polar Cloud, this is where things started going wrong. The manual that is included in the box is not complete, and I found an updated manual and instructional video on the Monoprice site. The steps to connect to WiFi is easy, but I found that using the touch screen was very difficult. The WiFi password is hidden with asterisks, and the touch screen has a tendency to not respond, or to pick multiple characters, or the wrong character. Since I could not see the password, it took several frustrating tries to get the right password entered. This experience could easily be improved by simply not hiding the password, or allowing configuration and control via mobile app.

The Monoprice site lists the FlashPrint software as version 3.23.2, while the version on the FlashForge site is 3.25.1, so naturally I installed the latest software from FlashForge. Mistake, I cloud not select the Voxel as printer, and it turns out that “FlashPrint-MP” is for Monoprice printers, and “FlashPrint” is for FlashForge printers. So back to installing FlashPrint-MP 3.23.2. The software is typical modeling and slicing, and allowed me to connect to the printer over the network.

I followed the instructions to connect the Voxel to Polar Cloud, but I kept getting an error about my printer MAC address already belonging to a different user. I found a KB article that instructed me to hard reset the printer, and I dreaded having to reenter my WiFi password. The article mentioned that this problem will be addressed in a future firmware update, so I tried that first. I could not find any downloadable firmware, but I found that updating from the printer pulled new firmware over the internet. After a reboot, no more error, and I was connected to Polar Cloud.

I encountered some IO timeout errors being displayed on the printer, I thought it was related to Polar Cloud, but I later encountered them during normal operation navigating the camera configuration menus. I suspect it is related the camera, since I lost the camera view on Polar Cloud as soon as I got this error. I hope this gets fixed in a firmware update.

My first cloud print after the firmware update did not go so well, the head scratched the print plate. I did find other users (Amazon reviews) complaining of the same scratching problem, I suspect the firmware update may have reset the calibration. After re-leveling, cloud prints worked fine again, but this should never have happened.

Printing from Polar Cloud is super simple, select a community model, upload your own model, and print. Job is sliced per selected options, and sent to the printer, it is a nice touch to have the printer camera images be displayed on the website while printing. I did notice that the time estimate displayed on the printer keeps changing, e.g. Polar Cloud listed the time remaining as 2 hours 26 minutes, Voxel 2 minutes … 11 minutes … 45 minutes. I suspect the job is spooled such that the printer only knows what is left in the buffer vs. the complete job.

In closing, so far, I think it is a great printer for the money, and I hope future firmware updates improves the experience.

Bad:

  • Instructions are incomplete and all over the place.
  • Poor touchscreen experience, difficult to press, double press, wrong press.
  • Difficult WiFi setup, password is hidden, and combined with wrong key presses results in frustration.
  • Scratched build plate, re-leveling seems to be required after a firmware update.
  • Out of the box Polar Cloud would not connect due to duplicate MAC address, requires firmware update to fix.
  • Sporadic IO timeout errors, suspect related to camera.
  • High pitched fan noise (I may try to mod this by replacing the fan or adding sound dampening material).
  • Hangs during printing, with the extruder and build plate heaters still on, and touchscreen unresponsive.

Good:

  • Low price
  • Enclosed
  • Easy to use
  • Cloud print

 

For others setting up this printer, I would recommend the following steps:

  1. Ignore the manual in the box, download the manual from Monoprice.
  2. Connect to WiFi, I suggest using the eraser part of a pencil to touch the screen while entering the password, this helps prevent typing mistakes.
  3. Update the firmware from the tools menu.
  4. Re-level the build plate.
  5. Connect to Polar Cloud.
  6. Print, do not print until after re-leveling.

 

Next steps for me is to find suitable software for the kids to use for modeling on their iPads.

 

PurpleAir Sensor Installation

I’ve had a Ambient Weather WS-1400-IP weather station installed for some time, reporting to Weather Underground. During the fires of previous years, I considered getting an air quality monitor, but I could never find anything worth the installation effort. During this year’s fire season I saw several ads for PurpleAir, advertising that they collaborate with Weather Underground, so I decided to purchase and install a PA-II outdoor sensor.

The installation instructions are sparse, and the device is not really what I would call rugged or weather proof. I would not put money it on it surviving outdoors for longer than a year, specifically because of the use a vanilla Micro-USB power plug that offers no corrosion protection. The unit I received came with a Nest outdoor camera power cable, but unlike the Nest camera that uses a watertight plug, the sensor uses an open USB cable. The instructions do say to point the open USB port downwards, instead I opted to seal it in using clear silicone sealer.

 

The ideal installation location would have been near my Rachio water sprinkler controller, where I have a waterproof enclosure with power, but that location is also near the HVAC, instant hot water heater, and dryer vents, so not ideal due to local air pollutants.

I installed the sensor next to my UniFi AC Mesh AP outdoor AP, the cables do look a bit messy, and if the sensor survives long enough, I may install an enclosure to clean up the cables.

Configuring the device is reasonably simple, but a mobile app would have been easier. Power up the device, connect to it’s WiFi access point, access a web page hosted by the device, configure the local WiFi SSID and password, connect to local WiFi, then register the device with PurpleAir. After all is done, I received a welcome email, and I could see the device on the PurpleAir map.

Annotation 2018-11-18 160901

Next up, I have to figure out how to view combined weather and air quality data on Weather Underground, how to get a direct link to my sensor’s data (the map link shows an area only), and how to use the data API (I archive all my data).

Razer BSOD When Driver Verifier is Enabled

I am done with Razer, exciting promises for technology on paper, great looking hardware, terrible support, terrible software.

Not too long ago I complained about Razer’s poor UX and Support, this time it is a BSOD in one of their drivers, and forever crashing Razer Stargazer camera software.

I’ve been looking for a Windows Hello capable webcam, and the Razer Stargazer, based on Intel RealSense technology, looked promising. The device is all metal and tactical looking, but the software experience is so buggy, install this, install that, then crash after crash after crash. I ended up returning it for a refund, and got a Logitech BRIO instead, the BRIO is cheaper, and works great.

A couple days ago I was greeted with a BSOD on one of my test machines, a crash in the RZUDD.SYS “Razer Rzudd Engine” driver, part of the Razer Synapse software. What makes this interesting, is that the issue seems to be triggered by having Driver Verifier enabled.

20170416_201259779_iOS

One may be tempted to say do not enable Driver Verifier, but, the point of driver verifier is to help detect bugs in drivers, and is a basic requirement for driver certification. Per the WinDbg analysis, this appears to be a memory corruption bug. After some searching, I found that the Driver Verifier BSOD has been reported by other users, with no acknowledgement, and no fix forthcoming. I contacted Razer support, and not surprisingly, they suggested uninstall and reinstall. I tried the community forums, and I was just pointed back to support.

FAULTING_IP:
rzudd+28c80
...
DEFAULT_BUCKET_ID:  CODE_CORRUPTION
...
PROCESS_NAME:  RzSynapse.exe
...
STACK_TEXT:
nt!KeBugCheckEx
nt!MiSystemFault+0x12e69c
nt!MmAccessFault+0xae6
nt!KiPageFault+0x132
rzudd+0x28c80
rzudd+0x218d4
rzudd+0x7a9f
Wdf01000!FxIoQueue::DispatchRequestToDriver+0x1bf [minkernel\wdf\framework\shared\irphandlers\io\fxioqueue.cpp @ 3325]
Wdf01000!FxIoQueue::DispatchEvents+0x3bf [minkernel\wdf\framework\shared\irphandlers\io\fxioqueue.cpp @ 3125]
Wdf01000!FxPkgIo::DispatchStep1+0x53e [minkernel\wdf\framework\shared\irphandlers\io\fxpkgio.cpp @ 324]
Wdf01000!FxDevice::DispatchWithLock+0x5a5 [minkernel\wdf\framework\shared\core\fxdevice.cpp @ 1430]
nt!IovCallDriver+0x245
...
FAILURE_BUCKET_ID:  MEMORY_CORRUPTION_LARGE

I am done with Razer, exciting promises for technology on paper, great looking hardware, terrible support, terrible software.

Razer Shoddy Support and Bad Software UX

This post is just me venting my frustration at Razer’s poor software user experience, and their shoddy support practices. I’m writing this after I just had to go and find a working mouse, so I could click a button on a dialog that had no keyboard navigation support.

I’ve been using Razer keyboards and mice for some time, love them, their software not so much. I had to replace an aging ThinkPad, and the newly released Razer Blade Stealth looked like a great candidate, small and fast, reasonably priced, should be perfect, well, not so much.

I keep my monitors color calibrated, and I cringe whenever I see side-by-side monitors that clearly don’t match, or when somebody creates graphic content (yes you graphic artists using MacBooks to create content for PC software without proper color profiles) that looks like shades of vomit on a projector or a cheap screen, but I digress. My monitor of choice is NEC and their native SpectraView color calibration software. Unfortunately, the Blade with its lower end Intel graphics processor, and HDMI port, does not support DDC/CI, so no ability to color calibrate my monitor. My main monitor is a NEC MultiSync EA275UHD 4K monitor, and the internal Intel graphics processor is frustratingly slow on this high resolution display. And, the HDMI connectivity would drop out whenever the monitor went into power saving mode. Why not use a more standard mini-DisplayPort connector, would not solve the speed problem, but at least would have resolved the connection reliability and allowed for proper color calibration.

To solve the problem, I decided to get a Razer Core with an EVGA GeForce GTX 1070 graphics adapter. The Core is an external USB and network dock, with a PSU and PCIe connector for a graphics card, all connected to the notebook by Thunderbolt 3 over a, too short, USB-C cable. I connected my monitor to the GTX 1070 DisplayPort connector, connectivity was fine, I could color calibrate my monitor, and the display performance with the GTX 1070 was fast, great. By the way, JayzTwoCents has a great video on the performance of external graphic cards.

But, my USB devices connected to the dock kept on dropping out. I found several threads on the Razer support forum complaining about the same USB problems, and the threads are promptly closed with a contact support message. I contacted Razer support and they told me they are working on the problem, and closed my ticket. I contacted them again stating that closing my ticket did not resolve the problem, and they said my choice is RMA the device, with no known solution, or wait, and then they closed my ticket again. To this day this issue has not been resolved, and I have to connect my USB devices directly the notebook, defeating the purpose of a dock. They did publish a FAQ advising users to not use 2.4GHz WiFi, but to stick with 5GHz due to interference issues, so much for their hardware testing.

Now, let’s talk about their Razer Synapse software, the real topic of this post. The software is used to configure all the Razer devices, and sync the device preferences across computers with a cloud account, neat idea. The color scheme and custom drawn controls of this software matches their edgy “brand”, but their choice of thin grey font on a dark background fails in my usability book when used in a brightly lit office space.

Synapse.1

Whenever Windows 10 updates, the stupid Synapse software pops up while the install is still going, if you say yes, install now, then as expected the install fails due to Windows still installing. I logged the issue with Razer support, and they told me it is behaving as designed, really, designed to fail.

Synapse.2

So, today the Synapse software, again, prompts me to update, a frequent occurrence, and my mouse dies during the update, presumably because they updated the mouse driver, but this time I am prompted with a reboot required dialog. Dead mouse, no problem, have keyboard, tab over, wait, no keyboard navigation on the stupid owner drawn custom control dialog, no way to interact with the dialog without a mouse, just fail.

Synapse.3

Moral of the story, UX is important people, and I should just stick with ThinkPad or Microsoft Surface Book hardware, costs more, but never disappoints.

Ecobee3 WiFi Connection Troubles

Ecobee3 thermostat WiFi troubles

In a previous post I wrote about my transition from Nest to Ecobee3 thermostats, and how the biggest benefit of the E3 was the use of remote sensors.

After several months of use, winter and summer, I find the remote sensors really do work very well, and our bedrooms remain at the desired temperature, while the areas around the thermostats can be warmer or colder.

But, the E3 is not perfect, there are two recurring problems; the remote sensors would report offline, and the units would lose network connectivity.

 

I’ve received sensor offline alerts a couple of times, typically happens early mornings, maybe interference, don’t know, the sensors never move from where they are placed.

Every time a I get a sensors offline report, the sensor already restored connectivity. This behavior is very annoying, I will get two emails a minute apart, and the E3 UI will have an alert saying sensor offline, I click ok, and then immediately an alert saying sensor online.

E3.Sensor.Email

I expect the E3 to have some sort of grace period before it deems a problem so important that it needs to notify me. As is, it is just an annoyance as there is no remediation action to take.

 

 

The second problem is the E3 loses network connectivity, this is a real problem, as the units remain offline until power cycled, and to power cycle the E3 has to be removed from the wall bracket, i.e. there is no reboot menu option.

I reported this problem to Ecobee support in October, and on the SmartHomeHub community forum. Yes, it is a bit pathetic that Ecobee does not have their own support community forum. Ecobee had me reserve static IP’s in the DHCP server, setup a dedicated 2.4GHz SSID, still disconnects. By December the problem was still happening, and Ecobee support escalated the problem to their development team, it is two months later, and still no updates from Ecobee support on the problem.

E3.Log

Through my own research and experimentation I suspect the problem to be that the E3 is unable to handle a WiFi channel change, and unable to roam between access points. There are some conditions that trigger the problem that I cannot explain.

I have multiple access points in my house, same SSID, different channels, 2.4GHz and 5GHz bands. I tested with Ubiquity UniFi AC and with Ruckus/Xclaim Xi-3. And in case you’re wondering, no other devices in my house have any problems with WiFi, even with dynamic channel selection.

I can make the E3 fail by either changing the AP channel, or by making it roam to a different AP, also changing channels. If I configure the AP’s to use auto channel selection, then the E3 will fail as soon as the AP chooses to change channels (UniFi does this on startup, Xclaim does this dynamically). If I manually change the AP channel, the E3 will fail. If I take one AP offline, the E3 will fail to roam to a different AP (on a different channel).

Even with my AP’s configured with static non-overlapping channels, the E3 would still sometimes fail, requiring a power cycle. I do not know why this would happen, as signal strength by the E3’s are perfect.

On the plus side, the E3 units remember the schedule, and even when offline, they continue to operate.

 

Bottom line is E3 WiFi is not reliable, and E3 support/dev is not responsive.

Ecobee3 Thermostat with Remote Sensors

We’ve had a particularly warm summer, for our very moderate area, and between my wife and my parent’s in-law, they were constantly changing the thermostat temperature, leaving nobody particularly happy, and our electricity consumption skyhigh. I needed a better solution, I found one, but it has some quirks.

I was an early adopter of the Nest Generation 1 thermostat, and when we moved to our new house, Nest was still the best available, and I installed two Nest Generation 2 thermostats, one upstairs, and one downstairs.

Nest used to be an innovator and leader in the home thermostat space, and then two things happened; they were acquired by Google, and competitors like Ecobee and Honeywell released very competitive products. The just released Nest Generation 3 thermostat has no new notable features, it is simply thinner, not unlike its competitors.

The one feature I, and many other users, asked for was remote temperature sensors. In many homes, like ours, where there are two HVAC units, one for upstairs and one for downstairs, with no room specific dampers or temperature control, the upstairs and downstairs air mixes and causes large temperature differentials between closed rooms and open spaces. Adding to that warm air rises and cold air falls, so in the summer the upstairs pumps cold air downstairs, and in the winter the downstairs pumps warm air upstairs, this again leaves bedrooms too hot or too cold.

Ecobee solved this problem, to a large degree, with the Ecobee3 thermostat, that comes with one remote sensing unit, and extra sensors can be purchased at $35 per sensor. The latest version of their thermostat is also Apple HomeKit compatible, allowing Siri to control the thermostat.

There are 3rd party integrations that can control the Nest temperature, like Wally at an additional $299, or SmartThings at an additional $139, but these are integration solutions, not integrated solutions, and makes the Nest solution much more expensive, especially considering the Ecobee3 (with one extra sensor included) and the Nest Gen3 are both $249.

There are alternate solutions like EcoVent that controls the individual vents per room, but that adds an additional $499 minimum for two rooms.

The Ecobee3 solution cannot control the temperature in each room, for that you really need a split AC unit per room, but it does allow the temperature sensing logic to take input from any number of rooms. And in my case, I am specifically interested in the temperatures in the bedrooms, not the general open areas.

Replacing the Nest with an Ecobee3 was easy, the Ecobee3 is slightly thinner than the Nest Gen2, and slightly larger, with that extra size used for a multi-color touch display.

Size Comparison

The remote sensors come with stands, wall screw mounts, and wall sticky tape mounts, they are pretty small and unobtrusive.

Sensor Size

The WiFi setup was really easy, and the first time I’ve seen this particular scheme in action, I believe it is called Wireless Accessory Configuration (WAC), not sure, Apple documentation is as always in short supply. Basically it worked like this; install the EB3 app on my iPhone, EB3 told me to connect my phone to the EB3 SSID, my phone asked me if I want to connect the device to WiFi, select yes, and the EB3 was automatically connected to my home WiFi, no passwords, no hassles, easy.

For each thermostat install the EB3 app asked me details about my house, address, size, construction, etc. This was annoying, one house, one set of details, multiple thermostats, why do I need to configure this for every thermostat. The Nest config was always very easy, one set of options per house, multiple thermostats. A call to EB support told me I need to create a group, then add the thermostats to the same group, then select what options I want to share between thermostats in the same group, and this can only be done from the web portal. This was a setup and first experience usability fail.

The second problem I ran into was the time configuration, the EB3 correctly selected Los Angeles as the time zone, and synced the time, but the displayed time was 3 hours ahead, East Coast time instead of Pacific Time. I fixed this by manually changing the timezone to something other than LA, saving, then changing it back to LA, and the time was correct. I did send EB support an email about this, and they replied that I need to make sure I have the correct time zone selected, right.

Time Zone

Pairing the remote sensors was really easy, stand in front of the EB3 and pull the plastic tab to let the sensor battery make contact, the EB3 detects the sensor, and lets you pair it, and enter a sensor name. The EB3 thermostat UI allowed me to use non-alpha characters, e.g. “Childs Room”, note the apostrophe, but when I later renamed the sensors, the mobile app and the web app restricted names to numbers and letters only, a slight inconsistency fail.

Sensor Naming

Configuring the schedule and comfort zones was easy and intuitive. I particularly like the concept of the comfort zones, and reusing them in the schedule, vs. the Nest’s more primitive setting of desired temperatures at times of days. This is where I configured the night comfort zones to use only the sensors in the bedrooms, and ignore the temperature at the main thermostat. Made a huge difference in comfort and AC runtime.

After a couple days of use I noticed something weird, the AC would turn on, but the thermostats would show the current temperature is still below the set temperature. This happened with both thermostats, and only in the afternoon. The schedule only called for 74F after 8pm during the night time comfort zone, this was around 7pm, when the set temperature was 78F.

Something is clearly wrong with the scheduler and the schedule. My bet was the scheduler is still using East Coast time (turned out I was wrong), Ecobee phone support was already closed, so I had to wait for the following day.

While I was looking at the System Monitor feature, very neat, I noticed gaps in the data. After a bit of research I found that Ecobee is having scaling problems, and their backend cannot handle the load, may be exacerbated by the Apple store kicking out Nest and now selling Ecobee3, or HomeKit integration, or poor planning. It was also weird that Ecobee does not run their own support forums, the Ecobee community supports themselves at the SmartHomeHub forums. One intrepid forum user created an availability graph based on his data gaps, clearly shows the recent problems.

I called Ecobee support, and they explained what was going on with the schedule; the thermostat has a feature called Smart Recovery Mode, in this mode the AC starts running before a schedule change in an attempt to reach the desired temperature when the schedule starts. And that this prediction takes a week or so to become more accurate, and that it can be impacted by fluctuations in the weather. Ok, makes sense, but usability fail by not making this behavior clear in the status UI.

Smart Recovery

As for the gaps in data, Ecobee support said they are busy migrating data, that this impacts backend performance, and that all systems should be operational in a week, and no data should be lost, slight contradiction to the post on the SmartHomeHub forum, but at least acknowledged.

I am pretty happy with the E3, the remote sensors really do make a big difference in efficiency.

 

[Update: WiFi troubles with the E3]

MR16 12V Halogen to LED retrofit

This post is about my research into finding suitable MR16 LED’s for replacing the 50W recessed halogen lights in our house. In summary, I’ve found “ok” bulbs, not great bulbs, and you can read about the details below.

Our house is about 3 years old, new construction, and one of the many decisions we made during planning was recessed halogen vs. recessed LED lighting. At the time my calculations showed the additional cost for LED lights would only be recovered in electricity cost savings after about 12 years, not worth the cost at the time. Another problem was the optical quality of the products, the near halogen optical quality LED products were ridiculously expensive, and the mainstream LED’s were of poor optical quality, and had poor dimmability.

Given the situation we opted for recessed Elco MR16 low voltage 12V AC magnetic transformer halogens, and planned on retrofitting them with LED’s as the technology improved and costs came down.

Now, 3 years later; our electricity cost is way higher than originally estimated, we installed solar that gave us a 50% reduction in cost, some of the recessed reflectors are showing signs of heat damage from the halogen bulbs, and 12V MR16 LED’s have entered the mainstream.

I’ve been looking for MR16 LED’s for some time now, same problem as 3 years ago, dimmable good optical quality bulbs are very expensive, ~$20 per, while eBay and Amazon sourced Chinese manufactured no-name brands are ~$4.

During my research I’ve made a few important observations:

  • US electrical code requires the use of GU10 bi-pin twist-lock lamp bases for new construction, and GU10 will eventually replace all E26 style screw in bases. In the past months I found that there is a much wider supply of 110V GU10 base MR16 dimmable LED bulbs compared to GU5.3 12V bulbs. This is especially true for the no-name brand Chinese suppliers on eBay. I am assuming that the electronic circuitry used is similar to that used in the widely available regular E26 / A21 110V dimmable LED bulbs, and that the only difference is the MR16 housing construction. Keeping in mind that most installed AC dimmers are forward phase, and support a large variety of load types, while an LED is a constant current device that typically uses pulse width modulation for dimming. Thus a line voltage forward phase dimmer to pulse width modulated LED driver circuit is non-trivial, adding a 12V AC transformer in the mix, and supporting both 12V AC and 12V DC loads further complicates the circuitry, especially when dimming is required.
  • Just like there is an expanding variety of dimmable GU10 line voltage MR16’s, there is an equal growing number of line voltage dimmable retrofit LED housings, that are near the cost of a MR16 bulb. These housings replace the old recessed can with an integrated AC LED driver and LED bulb array.
  • Today, as was the case 3 years ago, commercial and residential LED recessed lights separate the enclosure from the LED driver, allowing for different color and brightness LED’s to be used, and to optimize the electronic circuitry for the type of dimmer being used. The prices are much lower compared to 3 years ago, but still high comparing a $40 halogen enclosure to a similar style $150 LED enclosure. It is possible to replace the entire enclosure, but it is a big job requiring ripping out ceiling drywall.
  • 12V MR16’s can be powered by 12V AC electromagnetic transformers or electronic low voltage drivers. ELV drivers offer much higher efficiencies, but require compatible dimmers, and sometimes dimmers specifically designed for ELV drivers. Halogens are almost always powered by electromagnetic transformers due to the reduced cost and complexity. It is possible to replace the electromagnetic transformers in the enclosure with an ELV transformer, I’ve seen the electrician replace a blown transformer, he had to bring in the “small hand guy” from his crew and even then it took a lot of blind finger fiddling.
  • I use a Vantage Controls InFusion home automation lighting control system in my house. The system supports line-voltage forward phase and reverse phase dimmer modules, 0-10V control, and PWM control LED dimming. All loads in my installation are dimmed using forward phase dimmers. The recommended LED control setup is to use the 0-10V or PWM circuits, i.e. the dimming control and power lines are separate. The 0-10V / PWM control modules are about the same cost per line as AC dimmer modules, but the real cost is again in LED driver circuitry.

So what are my realistic choices:

  • The best quality option is to replace the halogen housings and line voltage control circuitry with native PWM control and native LED drivers. But, same as during construction, this is not a cost effective solution.
  • I can remove the transformers and convert the enclosure to line voltage, and use GU10 type MR16’s. But, tricky to remove the transformer, and the safety and legal state of the enclosure would be unknown after being converted to a line voltage receptacle.
  • I can remove the transformers and convert the enclosure to line voltage as above, but instead of using MR16 form factor bulbs, I can replace the insert with LED retrofit inserts.
  • I can replace the electromagnetic transformers with ELV’s to improve efficiency and dimmability. But again, a tricky job with marginal cost savings, and I still end up using 12V LED MR16’s.
  • I’ve opted to replace the halogen bulbs with LED’s on an as needed basis, i.e. when I need to replace a burnt trim, or blown bulb, I will replace the entire zone of lights with the same model of LED’s. My hope is that there will be ongoing improvements in product quality and performance, and ongoing reduction in costs as availability goes mainstream.

Here then is my review, more an exploration, greatly skewed by my subjective opinion vs. scientific fact, of the products I could find and test.

I initially tested the bulbs by replacing the halogens in my office, but this quickly became cumbersome, so instead I created a test bed for evaluation, trying to simulate the various dimmer and transformer types available.

I bought the the following items to match what I use in my house:

Here are some pictures of the Elco enclosure, this will give you an idea of how to go about swapping the transformer, and how tight a squeeze it is:

The DV-603P is a vanilly halogen and incandescent dimmer, it works just fine with the magnetic transformer and halogen bulbs in my house, but the MR16 LED manufacturer’s compatibility guide require the use of specific low voltage magnetic or electronic low voltage dimmers. So I also bought:

I considered a more elaborate test setup, but I don’t have access to the required equipment, and the measurements would be interesting from a scientific perspective, not so much a subjective perspective. So I opted for a simpler test setup, attached to a piece of hobby board, capturing waveforms using my Rigol DS4022 scope and a Rigol RP1050D high voltage differential probe and the UltraScope software.

For transformers, I used the magnetic transformer from the Elco enclosure, and I bought three ELV’s from eBay, two from a known brand, and one unknown brand:

For bulbs, I bought a variety of models from Amazon, eBay, and 1000bulbs:

  • Sylvania 58327: 50W Halogen MR16, 3000K, 35 Degree, 1450 CBCP.
    These are the halogen bulbs I currently use, about $2.20 per bulb.
  • Torchstar TS010: Dimmable, 12V 4W MR16 LED, 6000K Daylight, 50 Watt Equivalent, 330 Lumen, 60 Degree Beam Angle.
    I ordered a 10-pack from Amazon, the price worked out at about $5.50 per bulb. The packaging is generic, with a black marker dot indicating this to be a “pure white” variant. The bulb itself contains no markings, other than a small Torchstar sticker on the base. The bulb color is very blueish, like that of a daylight compact fluorescent bulb. I found the color to be very displeasing and distracting in my office environment, it made my color calibrated monitor screen appear yellow.
  • Torchstar TS010: Dimmable, 12V 4W MR16 LED, 3200K Warm White, 50 Watt Equivalent, 330 Lumen, 60 Degree Beam Angle
    I ordered a 10-pack from Amazon, the price worked out to about $5.70 per bulb. Like the daylight version, the packaging is generic, with a black marker dot indicating this to be a “warm white” variant. The bulb itself contains no markings, other than a small Torchstar sticker on the base. The bulb color is pleasing, pretty close to the halogen.
  • Soraa Brilliant 00965: Dimmable, 12V 9W MR16 LED, 75 Watt Equivalent, 3000K, CRI 80, CBCP 1540, 590 Lumen
    I ordered the bulbs from 1000bulbs, the price is about $28 per bulb. The color is pleasing but it appears to be ever so slightly bluer, more noticeable when dimmed. This bulb is bright, at 75W equivalent, almost too bright for my office as one of the bulbs is right above my head.
    Soraa specializes in high color quality products, and this model is from the older Brilliant Series, while I was really looking for the new Vivid Series bulbs, like the 00943, but it seems these bulbs are not yet available. I hope to find and test some when they do become available. At the price point of near $30 they are definitely specialty use, but I am interested in the supposed dimmability improvements.
  • Soraa Outdoor 00107: Dimmable, 12V 9.8W MR16 LED, 2700K
    This is a 36W equivalent LED for outdoor use, I bought them for about $24 more than a year ago, the line has since been discontinued.
  • Soraa Premium 2 00249: Dimmable, 12V 11.5W MR16 LED, 3000K
    I bought these more than a year ago for about $34 each,  the line has since been discontinued.
  • Architectural LED MR16-DIM-12V: 2700K 45deg
    I received samples of these MR16 LED’s from my electrician, I could not find any info on them.
  • eBay Dimmable CREE LED COB MR16: 6W MR16
    I bought a batch of 10 warm white and 10 daylight 6W bulbs, and a 9W and a 12W. The 6W bulbs are about $3 per bulb. These bulbs worked surprisingly well and the color was good. Note that the 9W and 12W variants are longer than standard MR16’s.

I tested the transformer response by monitoring the high voltage AC input and low voltage AC output sides using the oscilloscope. I controlled the ELV transformers using the ELV dimmer and the magnetic transformer using the magnetic dimmer. I attached a 12ohm resistor for a purely resistive load, the halogen bulb, and the Torchstar LED bulb. I captured oscilloscope screenshots at full, half, and lowest dimming settings.

Here are the results for the magnetic transformer:

Here are the results for the HATCH RS12-60M-LED ELV transformer:

Here are the results for the HATCH RL12-60A ELV transformer:

Here are the results for the Advance Lite TC60W ELV transformer:

Looking at the results we can see that the response waveforms for the halogen bulb is, not surprisingly, near that of the resistor. We can see that the magnetic transformer and LED load has all sorts of inductive goodness going on. And we can see that the RL12-60W and TC60W ELV transformers are not nearly as well behaved as the RS12-60M-LED ELV that is specifically designed for LED loads.

I then proceeded to test the dimmability of the various LED bulbs, I summarize my subjective findings below:

Halogen:

Magnetic: Good dimming range
RS12-60M-LED: Good dimming range, slight transformer buzzing
RL12-60A: Good dimming range
TC60W: Good dimming range

Torchstar:

Magnetic: Good dimming range, flicker at low end
RS12-60M-LED: Limited dimming range, no flicker, slight transformer buzzing
RL12-60A: Good dimming range, continuous flicker
TC60W: Good dimming range, flicker at low end

Soraa Premium 2:

Magnetic: Good dimming range, flicker at low end, very loud transformer buzzing
RS12-60M-LED: Good dimming range, flicker at low end, slight transformer buzzing

Soraa Brilliant:

Magnetic: Good dimming range, flicker at low end, slight transformer buzzing
RS12-60M-LED: Good dimming range, slight transformer buzzing

eBay CREE COB:

Magnetic: Good dimming range, switches off before end of dim range
RS12-60M-LED: Good dimming range, slight transformer buzzing

I was surprised that the cheap $3 eBay CREE COB MR16 LED bulbs worked as well as they did. Only downside is they switch off at around 20% when using the magnetic transformer, but dim down well. I don’t know if they really contain CREE COB LED’s, but the COB array arrangement of LED’s provide an even light source.

The Torchstar bulbs have a slight flicker at the low end, but dims down all the way, a bit more expensive compared to the eBay bulbs, but US based Torchstar support may be worth the extra 1$ per bulb.

The RS12-60M-LED ELV transformer performed well with halogen and LED loads, but the buzzing sound with or without load was a disappointment. I tested with two units, both buzz. I contacted the manufacturer to find out if this is normal, or if the units I bought on eBay are faulty.

I have yet to find a MR16 LED that can be driven by a magnetic transformer that performs like halogens, my search continues.

Nest Protect False Alarms

2AM, beep, smoke alarm low battery warning, and when one beeps, all the interconnected ones beep, now it is impossible to find which one has a low battery. As for how smoke alarms look, I’ve always wondered who made those terrible aesthetic design choices, maybe it is some kind of industry insider competition to see who can design the ugliest unit with the most obnoxious markings, and still get them sold.

I was thrilled when Nest announced the Nest Protect combination smoke and CO alarm, finally usability and technology catching up with smoke alarms, and an attractive looking unit. I’ve been a long time fan and user of the Nest thermostats, first one v1 unit, and later two v2 units, and I hoped the Nest Protect would do for smoke alarms what Nest did for thermostats.

I pre-ordered ten alarms from Amazon in October 2013, delivered in December 2013. Installation was easy, but I do wish there was a way to get more spoken locations, e.g. “smoke in kids bedroom”, which kid’s bedroom, wait, let me get my phone to see, not.

A week or two after installation we are having friends over for a barbecue, I show the alarm units, I show the mobile app, I explain how great the wave to silence alarm feature is, and how it will warn you before the alarm sounds, everybody is very impressed. Until a few hours later when one of the units go off, “smoke in the guest bedroom”, what smoke. I wave at it, nothing, I press the button, “this alarm cannot be silenced”. Keep in mind they are all interconnected with a mesh wireless network, so all ten units are screaming. After the kids stopped crying and we moved the party outside, I get a ladder and remove the unit, still screaming, I take it to fresh air, still screaming, I get a screwdriver open it up and remove the batteries, silence, but the rest of the units are still screaming, and pressing the button on those units still say “this alarm cannot be silenced”. About 5 minutes after removing the battery from the failed alarm the the other alarms stop. Egg on my face.

Nest support exchanged the unit and sent out a replacement.

As I was browsing the Nest support forums I noticed many other users reporting false alarms, some reporting that replacement units resolved the problem, some reporting repeat problems. Things got worse for Nest when they issued a recall, offering refunds, disabling the wave feature with a firmware update, and stopped selling units until they swapped stock for units with the newer firmware before re-releasing at a reduced price.

October 2014 early AM the alarm goes off, false alarm again, at least this time the alarm silenced itself after a minute. After some back and forth, and an escalation, Nest support agreed to replace all units. The new units have September 2014 manufacturing dates, so I hope these new units are less buggy.

January 2015 early AM the alarm goes off, false alarm again, this time the alarm stopped after only a few seconds. I’ve had enough, my kids are scared, my wife is mad, Nest, you’re out.

Nest support agreed to issue a refund for all ten units, we’ll see how long it takes to receive the refund. And now I’m in the market for combination smoke and CO alarms again, and there are not many choices, if you want something that is functional and good looking.

I was tempted to wait for the First Alert Wi-Fi enabled combination smoke and CO alarm, available for pre-order on Amazon, and although this unit is from a well established manufacturer, hopefully no false alarms, I’m not making the same mistake I made with Nest. Regardless of the pre-order option, it still leaves me unprotected, and I need something now. I could simply not find a decent looking, combination smoke and CO, interconnectable, and hardwired unit, big problem being decent looking.

In the end I opted for the First Alert PC910V units, they are low profile voice enabled combination smoke and CO units with a built-in 10 year battery, sold at Lowes or Amazon. Not interconnected, not hardwired, but at least they look half decent.

Installing these units turned out to be a bit more tricky than I anticipated. The install base is so small that the round ceiling junction boxes are barely hidden, and the instructions specifically call out that they are not to be installed on junction boxes due to air flow concerns.

Smoke

Below are some pictures showing the size differences between the Nest base (left, bottom), First Alert base (center, middle), and a round cover plate (right, top):

Base Size Comparison

Base Size Comparison

To account for the junction box ventilation warning I sealed between the junction boxes and the ceiling drywall, and between the cover plate and the ceiling. The alarm bases were mounted on the cover plates, see pics below.

Junction box

Sealed around junction box

Sealed around cover

Base on cover

Installed

Due to the small footprint of the alarm, the cover plate and imperfections around the hole in the ceiling can be seen when looking up at an angle. (Sorry for the crappy pictures, iPhone in low night not so great)

Drywall marks

Let’s hope I never hear them peep, at least not for ten years if we can trust the battery life, and at least not without a real emergency.

Rack that server

It’s been a year and a half since we moved into the new house, and I finally have the servers racked in the garage. Looks pretty nice compared to my old setups.

My old setup was as follows:
Two DELL OptiPlex 990 small form factor machines with Windows Server 2008 R2 as Hyper-V servers. One server ran the important 24/7 VM’s, the other was used for testing and test VM’s. The 24/7 VM’s included a W2K8R2 domain controller and a W2K12 file server.
For storage I used a Synology DS2411+ NAS, with 12 x 3TB Hitachi Ultrastar drives, configured in RAID6, and served via iSCSI. The the iSCSI drive was mounted in the Hyper-V host, and configured as a 30TB passthrough disk for the file server VM, that served files over SMB and NFS.
These servers stood on a wooden storage rack in the garage, and at the new house they were temporarily housed under the desk in my office.

One of my primary objectives was to move the server equipment to the garage in an enclosed server rack, with enough space for expansion and away from dust. A garage is not really dust free and does get hot in the summer, not an ideal location for a server rack, but better than finding precious space inside the house. To keep dust to a minimum I epoxy coated the floor and installed foam air filters in the wall and door air inlet vents. To keep things cool, especially after parking two hot cars, I installed an extractor fan. I had planned on connecting it to a thermostat, but opted to use a Panasonic WhisperGreen extractor fan rated for 24/7 operation, and I just leave it on all the time. We have ongoing construction next door, and the biggest source of dust are the gaps around the garage door. I’ve considered applying sticky foam strips next to the garage door edges, but have not done so yet.

In retrospect, preparing the garage concrete surface by hand, and applying the Epoxy Coat kit by myself, is not something I would recommend for a novice. If you can, pay a pro to do it for you, or at least get a friend to help, and rent a diamond floor abrasion machine.

I did half the garage at a time, moving everything to one side, preparing the surface by hand, letting it dry, applying the epoxy and flakes, letting it dry, and then repeating the process for the other side. I decided the 7″ roller that came with the kit was too small, and I bought a 12″ roller, big mistake, as soon as I started rolling the epoxy there was lint everywhere. From the time you start applying the epoxy you have 20 minutes working time, no time to go buy the proper type of lint free roller. I did not make the same mistake twice, and used the kit roller for the second half, no lint. With the experience gained from the first half it was much easier the second time round, and the color flake application was also much more even compared to the first half.

To conserve space in the garage I used a Middle Atlantic WR-24-32 WR Series Roll Out Rotating Rack. The roll out and rotate design allowed me to mount the rack right against the wall and against other equipment, as it does not require rear or side panel access. I also used a low noise MW-4QFT-FC thermostatically controlled integrated extractor fan top to keep things cool, and a WRPFD-24 plexiglass front door to make it look nice.

The entire interior cage rolls out on heavy duty castors, and the bottom assembly rotates on ball bearings. The bottom of the enclosure is open in the center with steel plate tracks for the castors, and must be mounted down on a sturdy and level surface. My garage floor is not level and slopes towards the door, and consequently a fully loaded rack wants to roll out the door, and all the servers keep sliding out of the rails.

I had to level the enclosure by placing spacers under the front section, and then bolting it down on the concrete floor. This leaves the enclosure and the rails inside the enclosure level, but as soon as I pull the rack out on the floor, the chassis slide out and the entire rack wants to roll out the door. I had to build a removable wood platform with spacers to provide a level runway surface in front of the rack, that way I can pull the rack out on a level surface, and store the runway when not in use.

The WR-24-32 is 24U high, and accommodates equipment up to 26″ in length, quite a bit shorter than most standard racks. The interior rack assembly pillar bars are about 23″ apart, with equipment extending past the pillar ends. This turned out to be more of a challenge than the 26″ equipment length constraint. When the rack is in its outside rotated position, the 23″ pillars just clears the enclosure, but the 26″ equipment sticking out past the pillars do not, and prevents the rack from rotating. This requires brute force to lift the castors, and a very heavy loaded rack, over the rail edge and pull the enclosure out all the way before the rack would rotate freely.

Another problem with the 23″ pillar spacing is the minimum adjustable distance for the 4U Supermicro chassis rails is about 25″, and they would not fit between the pillars. I had to order a shorter set of adjustable rails, and use the chassis side of the original rails to match the chassis mounting holes, and the rack side of the rails to clear the pillars, fortunately they fit perfectly into each other, but not on the rack. The WR-24-32 has tapped 10-32 screw holes in all locations, i.e. no square holes anywhere, which meant I had to use my Dremel to cut the quick mount tabs from the rails in order to screw them on instead of hanging them on.

Rather than using another NAS based storage solution I opted for direct attached storage, so I was looking for a 24-bay chassis, less than 26″ in length, with low noise fans. I opted for a Supermicro 4U 24-bay SuperChassis 846BE16-R920B for the main file server, and a 4U 8-bay SuperChassis 745BTQ-R1K28B-SQ for the utility server. It was the SC846’s included rails that were too long to fit between the posts, and I replaced them with a MCP-290-00058-0N short rail set.

I used Supermicro X10SLM+-F Xeon boards with Intel Xeon E3-1270 v3 processors for both systems. Low power and low heat was a higher priority than performance, and the E3 v3 processors were a good balance. I’ve had good experiences with the X9 series SM boards, but I have mixed feelings about the X10 boards. Kingston dropped support for these boards due to memory chip incompatibilities, and SM certified memory for this board is very expensive, and I had endless troubles getting the boards to work with an Adaptec 7805Q controller. The 7805Q controller would simply fail to start, and after being bounced around between SM and Adaptec support, SM eventually provided me with a special BIOS build, that is yet to be publicly updated, that resolved the problem. I had no such problems with the newer 81605ZQ controller I used in the 24-bay chassis.

For the 24-bay system storage, I used 2 x Samsung 840 Pro 512GB SSD drives in RAID1 for booting the OS and for MaxCache, 4 x Samsung 840 EVO 1TB SSD drives in RAID5 to host VM’s, 16 x Hitachi 4TB Coolspin drives plus 2 x hot spares in RAID6 for main storage. The 56TB RAID6 volume is mounted as a passthrough disk to the file server VM. To save power and reduce heat I host all the VM’s on the SSD array, and opted to use the consumer grade Hitachi Coolspin drives over the more expensive but reliable Ultrastar drives. The 8-bay system has a similar configuration, less the large RAID6 data array.

The SM boards are very easy to manage using the integrated IPMI KVM functionality. Other than configuring the BIOS and IPMI IP settings on the first boot, I rarely have to use the rack mounted KVM console. Each server runs W2K12R2 with the Hyper-V role. I am no longer running a domain controller, the complexity outweighed the benefit, especially with the introduction of Microsoft online accounts used in Windows 8. The main VM is a W2K12R2 storage file server VM, with the RAID6 disk in passthrough, serving data over SMB and NFS. My other VM’s include a system running Milestone XProtect IP security camera network video recorder, a MSSQL and MySQL DB VM, a Spiceworks VM, a Splunk VM, a UniFi Controller VM, and several work related VM’s.

I had Verizon switch my internet connection from Coax to Ethernet, and I now run a Ubiquity EdgeRouter Pro. I did run a MiktroTik Routerboard CCR1009-8G-1S-1S+ for a while, and it is a very nice box, but as I also switched out my EnGenius EAP600 access points to Ubiquity UniFi AC units, and I replaced the problematic TRENDNet TPE-1020WS POE+ switches with Ubiquity ToughSwitch TS-8-Pro POE units, I preferred to stick to one brand in the hopes of better interoperability. Be weary of the ToughSwitch units though, seems that under certain conditions mixing 100Mbps and 1Gbps ports have serious performance problems. I am still on the fence about the UniFi AC units, they are really easy to manage via the UniFi controller, but some devices, like my Nest thermostats, are having problems staying connected. Not sure if it is a problem with access points or the Nest’s, as there are many people blaming this problem on a Nest firmware update.

I used an APC Smart-UPS X 1500VA Rack/Tower LCD 120V with Network Card for clean and reliable power, and an ITWatchDogs SuperGoose II Climate Monitor for environmental monitoring and alerting.

After building and configuring everything, I copied all 30TB of data from the DS2411+ to the new server using robocopy with the multithreaded option, took about 5 days to copy. I continued using the old systems for two weeks while I let the new systems settle in, in case anything breaks. I then re-synced the data using robocopy, moved the VM’s over, and pointed clients to the new systems.

VM’s are noticeably more response, presumable due to being backed by SSD. I can now have multiple XBMC systems simultaneously watch movies while I copy data to storage without any playback stuttering, something that used to be an issue on the old iSCSI system.

The best part is really the way the storage cabinet looks 🙂

This is the temporary server home under my office desk:
Before

Finished product:
After

The “runway” I constructed to create a level surface:
Runway

Pulled out all the way, notice the cage is clear, but the equipment won’t clear:
Out

To clear the equipment the castors have to be pulled over the edge:
Cleared

Rotated view:
Rotated

The rarely used KVM drawer:
KVM

Extractor fans:
Fans

Night mode:
Night