Sunday, December 11, 2011

What are the chances to recover NAS with Linux OS?

On it is mentioned that you can use Linux to recover NAS. In practice it does not work at all or at least you cannot obtain any meaningful results.

Imagine the following: you assemble RAID inside VMware with md-raid driver. Then you restart VMware and see that one of the array member disks has dropped out off the array. Sad but true - this situation is fairly common. Although it is proved that VMware always works reliably - it is known that hardware can fail in different ways while failures of a virtualized hardware are rare and always the same.

So there is very little chance to recover the RAID with valuable data using Linux. Keep in mind that it makes sense to try several different Linux versions because, as of now, quite a number of Linux versions are available for downloading in the web.

Still, there is a bright aspect of the issue, which is never advertised at - some NASes do, in fact run under Windows Embedded.

Wednesday, October 12, 2011

Network Attached Storage and backup power

They say you should test your NAS in different ways. One of the aspect of such testing is to see how your NAS responds to a power failure. Most interesting cases are where NAS is combined with UPS unit. Just cutting off the power is not sufficient to check an UPS. In normal operation Network Attached Storage receives the messages from an UPS unit constantly and reacts at once.

However, NAS is unable to accept the notifications on power failure during the start up. Additionally, one should consider that the entire cycle (start up then shut down) may require a couple of minutes.

Let's imagine such a scenario:
  1. power failure occurs,
  2. your NAS unit works on battery for some time and then it shuts down,
  3. then power comes back and the Network Attached Storage begins to start up,
  4. at this moment power is off once again.
Now the most interesting thing - until NAS starts up it cannot find out that the power failure has occurred.
Once Network Attached Storage loads, it finds out that the power is off and sends a command to shutdown. But it may happen that the system will not be able to shut down correctly since UPS is not capable of supplying power long enough due to battery exhaustion (during the first cycle).

You can avoid such an issue by setting the NAS up in such a way that it shuts down as soon as it gets a message about power failure. All this allows saving battery charge to do one more cycle.

Alternative would be to set the Network Attached Storage up to restart manually, but not in automatic mode after the power failure has occurred.

Thursday, September 15, 2011

Complex level RAID100

If you go to Wikipedia you note that RAID 100 is categorized as the nested array layout. There RAID100 is defined as RAID0 that is built on several RAID10 arrays. Thus it turns out that data stored on the disks in RAID100 is exactly the same as in RAID 10.

 So, it is possible to get RAID 0 from RAID 100 array by excluding one disk in each mirror pair. And one more consequence is that RAID100 recovery boils down to RAID0 recovery given that you can get RAID0 form the member disks of RAID10 arrays.

Friday, August 26, 2011

Difference between RAID5 and RAID 5+0/RAID6 and RAID60

Let's consider what is common between RAIDn and RAIDn+0 and how do they differ?
  • given arrays are the same with regard to fault tolerance;
  • RAID 5 and RAID 50 can withstand only one member disk failure;
  • RAID 6 and RAID 60 can survive two disks failure supposing we talk about a 100% probability.
RAIDn+0 arrays have more chances to survive more than one (in RAID50) or two (in RAID60) member disks failure, although not a 100% probability. You can estimate survival probability for various RAID layouts at

  • During the rebuild, RAIDn+0 delivers greater performance as compared to RAIDn which is good.
  • RAIDn+0 overhead to provide fault tolerance is more than for RAIDn arrays. RAIDn+0 overhead is one disk per each RAIDn disk group.
Let's make a conclusion - RAID n+0 should be used in case of a large storage while RAIDn - in small (I mean number of disks) arrays.

Wednesday, August 10, 2011

One of the basic data recovery rules is to verify the recovered data

Most data recovery tutorials insist on verifying the recovered data, but usually most people ignore it. So the following scenario may happen:
  1. you recover files and the folder tree seems good enough,
  2. the disk is formatted or disk data is destroyed some other way,
  3. then you see that the restored data is not recovered properly.
It is evident you need to restore disk content once again. Unfortunately, the original hard disk content does no longer exist.

To sum up the above - it is needed to verify the extracted data first and only then begin to fill the original disk with new files.

Wednesday, August 3, 2011

When you should benchmark your hard drive?

If you think that your storage device is slow, first step is to check linear read speed, disk access time, and IOPS for the device.
Any benchmark software can give you all the mentioned performance characteristics. Searched the web, I saw both paid and free tools to benchmark data storage devices. I used non paid and simple benchmark software - BenchMe - which gives linear read speed in real time. The free benchmark tool also produces a chart with distribution of access time measured for the data storage device.

On top of that, BenchMe free benchmark software provides a list of features the data storage device supports. It is worth to visit the vendor site to have a look at sample benchmark charts for RAID arrays, SSDs, and hard drives. The only minus I 've come across is that the tool doesn't handle hard disks connected via USB.

Monday, May 9, 2011

RAID 1 array is able to improve average access time

In theory at least, RAID1 can improve average access time (but not random access time) during the read.
This defies widely-held belief that RAID array cannot reduce access time.

RAID1 has two disks with two identical copies of data. If read operations are organized as follows:

  • first member disk serves the read operations to the first half of the disk,
  • the second disk handles the second part of the data,
then the average length which a read head should travel to locate a sector is reduced by the factor of two.
Based on the above it is not possible to improve rotational latency. In any case, performance increases since less head travel is needed.
In RAID 1 there is no improvement on writes since both member disks should be synchronized.

Tuesday, April 5, 2011

Why it is critical to read data off both disks in mirror?

A few know that in an implementation of RAID 1 is required to read data off the second disk as well. Otherwise one or even several bad sectors may appear on the second disk of the mirror.

In this situation your RAID 1 doesn't have redundancy any more and you do not know it, contrary to the principle of monitoring the array status. There may be a similar problem with hot spare drives.

One of the causes of this problem is the array being idle most of the time. To make sure the array is still redundant you can read sectors from both disks and compare it. If your RAID operates principally under heavy load you do not encounter such a issue.

In Windows, at least in server versions up to and including Windows 2003, software RAID 1 in most cases reads from the first hard drive, rendering Windows RAID1 arrays unreliable

Thursday, March 17, 2011

Hot spare is a handy option, but...

 It is very good to have a hot spare drive, but the hard drive used as a hotspare ought to be tested every now and then.

 Suppose you build your own RAID array and assign N hard drives (including the hot spare disk) to the array. Surprisingly there exists 1/N probability that exactly the disk which is designated to be a hotspare will be the first failed disk. And now you no longer have a hot spare.

 If one of the array member disks fails you find out that the hot spare disk has already failed. To avoid this you need to scan a hot spare on a regular basis or stick to RAID6E or RAID 5E/EE layout.

Thursday, March 3, 2011

Before building an array

When building a massive-capacity storage system, take into account the following concerns:
  • needed size
  • redundancy
  • performance
  • array cost
Once you have considered points listed in this post it is needed to decide if you need to build your own storage unit or just order ready-made storage. If your choice is the latter option then have a look at this one of RAID Tips. If you decide to build your own storage then review the entire lot on

Thursday, February 10, 2011


When going to build a new RAID, you need three factors right.

1. Redundancy.

RAID does not replace a proper backup. You still have to back up your data somewhere in a safe place. RAID can not save you from operator errors or fire, earthquake, or whatever is common in your area. Anyway, most RAID types would still be operational when one of the array's drives fails. These include RAID1, RAID 1+0, RAID 4, RAID5, RAID 6, and exotics such as RAID 5E, RAID 5 EE, and Diagonal Parity RAID (RAID-DP).

2. User-accessible Capacity.

The capacity of the RAID array determined by the maximum drive capacity available, number of ports on the RAID controller, and the capacity required to maintain redundancy. Should you need simple capacity calculations done for you, use this free RAID Calculator.

3. Speed requirements.

Among the redundant array levels, RAID1 and RAID10 are the perferred choice on random writes.

If the array is almost always used read-only (e.g. a media library), or a write-once-read-never pattern (like a backup), then RAID5, RAID6, and variations of those are OK. If fast random writes are required, opt for RAID 1+0.

Bonus: A little different perspective of the RAID planning and requirements.

Thursday, January 6, 2011

Make a software RAID bootable?

Can I put an OS installation onto a software RAID?

Unfortunately, no. One cannot boot off a software RAID0, RAID5, or span. A hardware controller is needed to do this.

You cannot start an OS off the software RAID for the array is not properly readable before the operating system is fully started up, and the operating system itself is on the array.

The only option is to start an OS using a software RAID 1, and even that is not that simple. To boot from a "second" disk of a software RAID1, you probably need to manually copy the master boot record first, because usually the master boot record is not copied automatically.