What is RAIDz?
RAIDz is essentially an analogue of RAID5 (http://www.freeraidrecovery.com/library/raid-5-6.aspx) array, which is used in data storage systems based on ZFS technology.
Although a pool of disks combined in RAIDz has the same single-disk fault tolerance as RAID5, the mechanism for implementing this differs from the classic RAID5 technology. So, in RAID5, the volume of one array member disk goes to redundancy, which, in case of a failure, will allow you to recover the missing data. The main parameters of a classic RAID5 array are:
- Number of member disks
- Order of disks in the array
- First disk
- Block size
- Arrangement of blocks with parity (redundant data) on member disks, so-called rotation — can be left or right
- The arrangement of data blocks relative to parity blocks: can be synchronous, when data blocks in each row start after a block with parity, and asynchronous, when data blocks always start on the first disk, or second, if parity goes to the first disk in the row.
It is important to emphasize that these parameters are set at the time of RAID5 creation and no longer change for the array. Below are the diagrams of the left synchronous and right asynchronous 3-disk RAID5.
RAIDz differs from RAID5 in that it no longer works end-to-end with disks as with columns in RAID5. Instead, RAIDz works in conjunction with ZFS, which makes a request to allocate a certain amount of data with a given degree of fault tolerance, one disk in case of RAIDz. Based on this, a small RAID array is formed on those parts of the disks that are currently available, but the number of columns, the order of the disks, the first disk, the size of the columns, the parity location is determined individually for this RAID. So, for example, data can generally be placed on two disks in the form of mirror copies, since this also provides 1-disk fault tolerance. The following is an example of a possible data layout and parity for RAIDz:
It can be seen that the requirement for 1-disk fault tolerance is implemented for a pool of 4 disks by using the mirroring technique for blocks of 2 disks and the parity technique (as in a typical RAID5); the number of columns for “RAID5” small arrays varies from 3 to 4 for 4-disk RAIDz pool, in the general case, it can be from 3 to N disks.
Obviously, RAIDs is a much more complex data storage technique both in terms of implementation and in terms of recovery in case of failure. Today there are not many utilities that offer data recovery from RAIDz ZFS-based pools, and our ReclaiMe Pro (www.ReclaiMe-Pro.com) is one of them.