User`s guide

XStack Storage User’s Guide 27
For organizations that are striped, the data distributed among multiple drives is organized in a
series of “stripes.” Each stripe consists of a fixed number of blocks on each drive. The fixed
number of blocks used on each drive is called a “chunk.” This can be viewed as an array where
each row is a stripe and each column is a drive. The term “Member” is defined as the number of
columns in this array. The XStack Storage unit can allocate the required space very flexibly (i.e.,
an entire member does need to reside on a single drive). Within each member, extents can be
obtained from as many drives as necessary.
Organizations that are redundant provide protection against loss of data in the event of a failure
of any one drive. This adds a storage cost in that some storage will be used for redundancy rather
than for customer data. Redundancy requires that the volume data be stored on separate drives,
so that data integrity is maintained in the event of a drive failure.
For a parity organization, the XStack Storage unit distributes the volume into the array described
for a stripe organization, and reserves one chunk from each stripe to hold the parity information.
The parity information provides redundancy without having to keep a complete copy of the data.
If any single drive fails, the parity calculation mechanism can be applied to the data on the
remaining drives to provide full access (reading and writing) of all data.
Further, the parity calculation mechanism can be used to recreate the data with fresh parity
protection onto a new drive to re-gain redundancy. However, this protection comes at a cost: the
storage requirement for the volume is increased by one member. For example, if a 10 GB striped
volume was distributed among four members, each member would need 2.5 GB of space. To
make a parity volume of 10 GB using four members, for instance, each member would need 3.33
GB of space: one chunk in each stripe would be used to hold parity. In other words, to hold the
space for parity in a 4-member volume, the XStack Storage unit needs to use 1/3 more space
than the initiator can access. From another point of view, 1/4 of the space used by that volume
is not available to the initiator. The 10 GB volume can also be created using 2.5 GB members if
five members are used.
As a result, the additional storage cost for a parity volume of four members is 25% (i.e., 25% of
the space is not user data, but redundancy data). For a 5-member parity volume, the additional
cost is 20%.
For a mirror organization, the XStack Storage unit divides the volume into two members, each of
which contains one full copy of the data. Each member must be allocated on separate drives. The
cost of a mirror volume is that data must be stored twice (i.e., for a volume of size x bytes, the
XStack Storage unit needs 2x bytes, or 100%).
For a stripe mirror organization, the XStack Storage unit distributes volume into members, as in
a striped organization, and then doubles the number of members to allow for the second data
copy. As in a mirror organization, the storage cost is double.
For each volume, the XStack Storage unit must determine the organization and the size of the
volume. For striped organizations, the XStack Storage unit must further determine the chunk
size, and the number of drives across which the data is to be divided.
There are two ways to create a volume in XStack Storage:
Automatically: The Administrator answers questions about the required redundancy, size, and
usage characteristics of the volume. The XStack Storage unit then determines the remaining
parameters needed to allocate the storage space and create the volume.