1. RAID 5 vs. RAID 6 or Do You Care About Your Data?

    Fri 13 August 2010

    Storage is cheap. Lots of storage with 10+ hard drives is still cheap. Running 10 drives increases the risk of a drive failure tenfold. So often RAID 5 is used to keep your data up and running if one single disks fails.

    But disks are so cheap and storage arrays are getting so vast that RAID 5 does not cut it anymore. With larger arrays, the risk of a second drive failure while your failed array is in a degraded state (a drive already failed and the array is rebuilding or waiting for a replacement), is serious.

    RAID 6 uses two parity disks, so you loose two disks of capacity, but the rewards in terms of availability are very large. Especially regarding larger arrays.

    I found a blog posting that showed the results on a big simulation run on the reliability of various RAID setups. One picture of this post is important and it is shown below. This picture shows the risk of the entire RAID array failing before 3 years.

    From this picture, the difference between RAID 5 and RAID 6 regarding reliability (availability) is astounding. There is a strong relation with the size of the array (number of drives) and the increased risk that more than one drive fails, thus destroying the array. Notice the strong contrast with RAID 6.

    Even with a small RAID 5 array of 6 disks, there is already a 1 : 10 chance that the array will fail within 3 years. Even with 60+ drives, a RAID 6 array never comes close to a risk like that.

    Creating larger RAID 5 arrays beyond 8 to 10 disks means there is a 1 : 8 to 1
    5 chance that you will have to recreate the array and restore the contents from backup (which you have of course).

    I have a 20 disk RAID 6 running at home. Even with 20 disks, the risk that the entire array fails due to failure of more than 2 disks is very small. It is more likely that I lose my data due to failure of a RAID controller, motherboard or PSU than dying drives.

    There are more graphs that are worth viewing, so take a look at this excelent blog post.

    Tagged as : Uncategorized
  2. 'A Moment of Silence: OpenSolaris Is Dead'

    Wed 04 August 2010

    The last release of OpenSolaris dates back to July 2009. The next release was scheduled for March 2010, but Oracle did not release anything. It is dead silent around OpenSolaris.

    On 12 July 2010, the OpenSolaris Government Board sent out an ultimatum to Oracle: "please communicate with us or we will resign and hand over the little power we have back to Oracle".

    These are all signs that OpenSolaris has no real future. And think about it: what is Oracle's interest in OpenSolaris? Maintaining an operating system and develop new features is extremely expensive. What is their benefit? I can't see any. Sun was a hardware manufacturer and promoting OpenSolaris made sure that people got experience with the operating system that powers their hardware.

    Unless your environment already consists of Solaris-based systems, as of 2010, there is no reason to use Solaris any more. OpenSolaris was, until recent, the only operating system that supported ZFS natively, so the only choice if you really wanted to use ZFS. Now FreeBSD has native support for ZFS too.

    For the people who are fanatical about ZFS this is great, because it would be a shame if ZFS could only be used in combination with a dead operating system that supports less hardware than Mac OS X.

    But I see no future in OpenSolaris and you should think twice about running it, either as a production platform or at home. Use a platform that has a large user-base and a big community.

    I think that if you are running OpenSolaris, you must start thinking about migrating to FreeBSD or Linux, however painful that may be.

    Tagged as : Uncategorized
  3. Compiling Handbrake CLI on Debian Lenny

    Tue 03 August 2010

    In this post I will show you how to compile Handbrake for Debian Lenny. Please note that although the Handbrake GUI version does compile on Lenny, it crashes with a segmentation fault like this:

    Gtk: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 17

    (ghb:1053): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed

    (ghb:1053): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed

    (ghb:1053): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

    Segmentation fault

    So this post only describes how to compile the command-line version of Handbrake: HandBrakeCLI.

    • Issue the following apt-get commando to install all required libraries and software:

    apt-get install subversion yasm build-essential autoconf libtool zlib1g-dev libbz2-dev intltool libglib2.0-dev libpthread-stubs0-dev

    1. Download the source code at http://sourceforge.net/projects/handbrake/files/

    2. Extract the source code and cd into the new handbrake directory.

    3. Compile handbrake like this:

    ./configure --disable-gtk --launch --force --launch-jobs=2

    The --launch-jobs parameter determines how many parallel threads are used for compiling Handbrake, based on the number of CPU cores of your system. If you have a quad-core CPU you should set this value to 4.

    The resulting binary is called HandBrakeCLI and can be found in the ./build directory. Issue a 'make install' to install this binary onto your system.

    Tagged as : Uncategorized

Page 5 / 23