Skip to main content

My new file server - the case

After less than two years my media server was no longer able to be expanded. There was no more room to add disks and it had heating issues - it couldn't be kept cool enough.

So it was time to plan the replacement.

Based on what I have learnt from the build and operation of the first one I came up with a short list.
1. Must be able to be significantly expanded with more disks
2. Must have good cooling
3. It will run a recent linux
4. Because of the number of disks it will use RAID6

These criteria should help to address some of the shortcomings of the first file server. With RAID5 it was always a significant worry when a disk failed as the rebuild phase was a prime candidate to have another disk failure. With RAID6 there is the still a risk of a disk failure during the rebuild phase but it is reduced as there are two parity disks. Also if you have to wait for a new disk to arrive the RAID6 still has one parity disk left.

To get good cooling and room for lots of disks meant researching enclosures (or cases) carefully. A standard tower case was not going to be adequate so I chose a rack mountable (4U) server case - the Norcotek 24 bay RPC-4224. These cases are not cheap compared to a tower case (and there are options that take up to 15 drives) but it is designed to make adding disks easy and handles the cooling as well.

This case will be usable into the future - when 4+TB disk capacities are common it will still be usable. Right now it can be fitted out with 21(*) 2TB disks to give 38TB of storage. My plan was to start out with 12 2TB disks and expand as needed.

(*) Why 21? Well I used a 500GB disk for the operating system and the motherboard and SATA/SAS cards only allow 22 ports to be connected.

NOTE (23/Jul/2011): I have replaced the PCIe video card with a PCI card and installed a 4-port SATA/SAS card to take the possible disks up to the full 24.

Comments

Popular posts from this blog

The Extended Attributes Are Inconsistent in Windows 8

I have upgraded my laptop to Windows 8 and all was fine for about three hours and then I started to get an error when trying to run any application that required Administrator privileges. Half an hour of Googling led me to this blog post   Case of the broken uac prompt This problem was caused by downloading themes. The final theme I had decided on included a new sound theme. Clearly at least one of the sounds did not play (the one for the UAC prompt!). Changing the sound theme (right click on desktop, choose "personalisation") to Windows Default sorted out the problem. Doing a clean install would also have fixed it but that would have been a drastic solution and as soon as I installed a new theme it may have happened again.

Beware vnc and upnp

My new linux box got hacked yesterday. I was careless. My ADSL router has upnp support and it is turned on by default. I enabled "Remote Desktop" in Linux - which is a version of vnc - and decided not to set a password as it would not be accessible from outside the local network. That was my first mistake. Last night I noticed a second connection to the linux box. Someone was using the browser and had connected to Western Union and was trying to install the flash plugin. They had not got very far as Fedora 14 does not install Flash on a 64bit system as it is still in beta so the install is not straightforward. I was able to disconnect this errant person before they got any further and I then disconnected the ADSL line from the modem to prevent another attempt and proceeded to diagnose what had happened. I checked the preferences for VNC and noticed the automatically configure the network check box had been selected and that it was reporting an external address could be

"No child processes" error on Linux

A problem was reported by a customer. They were getting a failure and in the logs it reported error → waitpid failed 'Reason: No child processes' The “No child processes” error came from waitpid() after using  fork/spawn to launch a utility to load data into a data base. Upon detailed investigation it appears it is possible that some other process that the user is running has changed the default handler for SIGCHLD - possibly the shell (e.g. bash!) used to launch our server processes. If the signal handler is set to SIG_IGN then when a process is started using fork()/exec() the return code from the process is NOT returned and waitpid() cannot retrieve the response code. The most likely reason for "No child processes" error from waitpid() is that the signal handler for child processes (SIGCHLD) is not set to SIG_DFL. This should not be possible however it seems that on Linux a process run in the shell (or maybe a shell process) can set it