The translation is temporarily closed for contributions due to maintenance, please come back later.

Source string Read only

(itstool) path: listitem/para
Context English State
<primary>vinum</primary> <secondary>mirroring</secondary>
One approach to this problem is <emphasis>mirroring</emphasis>, or <acronym>RAID-1</acronym>, which keeps two copies of the data on different physical hardware. Any write to the volume writes to both disks; a read can be satisfied from either, so if one drive fails, the data is still available on the other drive.
Mirroring has two problems:
It requires twice as much disk storage as a non-redundant solution.
Writes must be performed to both drives, so they take up twice the bandwidth of a non-mirrored volume. Reads do not suffer from a performance penalty and can even be faster.
An alternative solution is <emphasis>parity</emphasis>, implemented in <acronym>RAID</acronym> levels 2, 3, 4 and 5. Of these, <acronym>RAID-5</acronym> is the most interesting. As implemented in <filename>vinum</filename>, it is a variant on a striped organization which dedicates one block of each stripe to parity one of the other blocks. As implemented by <filename>vinum</filename>, a <acronym>RAID-5</acronym> plex is similar to a striped plex, except that it implements <acronym>RAID-5</acronym> by including a parity block in each stripe. As required by <acronym>RAID-5</acronym>, the location of this parity block changes from one stripe to the next. The numbers in the data blocks indicate the relative block numbers.
<acronym>RAID</acronym>-5 Organization
_ external ref='vinum-raid5-org' md5='__failed__'
Compared to mirroring, <acronym>RAID-5</acronym> has the advantage of requiring significantly less storage space. Read access is similar to that of striped organizations, but write access is significantly slower, approximately 25% of the read performance. If one drive fails, the array can continue to operate in degraded mode where a read from one of the remaining accessible drives continues normally, but a read from the failed drive is recalculated from the corresponding block from all the remaining drives.
<filename>vinum</filename> Objects
In order to address these problems, <filename>vinum</filename> implements a four-level hierarchy of objects:
The most visible object is the virtual disk, called a <emphasis>volume</emphasis>. Volumes have essentially the same properties as a <trademark class="registered">UNIX</trademark> disk drive, though there are some minor differences. For one, they have no size limitations.
Volumes are composed of <emphasis>plexes</emphasis>, each of which represent the total address space of a volume. This level in the hierarchy provides redundancy. Think of plexes as individual disks in a mirrored array, each containing the same data.
Since <filename>vinum</filename> exists within the <trademark class="registered">UNIX</trademark> disk storage framework, it would be possible to use <trademark class="registered">UNIX</trademark> partitions as the building block for multi-disk plexes. In fact, this turns out to be too inflexible as <trademark class="registered">UNIX</trademark> disks can have only a limited number of partitions. Instead, <filename>vinum</filename> subdivides a single <trademark class="registered">UNIX</trademark> partition, the <emphasis>drive</emphasis>, into contiguous areas called <emphasis>subdisks</emphasis>, which are used as building blocks for plexes.
Subdisks reside on <filename>vinum</filename> <emphasis>drives</emphasis>, currently <trademark class="registered">UNIX</trademark> partitions. <filename>vinum</filename> drives can contain any number of subdisks. With the exception of a small area at the beginning of the drive, which is used for storing configuration and state information, the entire drive is available for data storage.
The following sections describe the way these objects provide the functionality required of <filename>vinum</filename>.
Volume Size Considerations
Plexes can include multiple subdisks spread over all drives in the <filename>vinum</filename> configuration. As a result, the size of an individual drive does not limit the size of a plex or a volume.
Redundant Data Storage
<filename>vinum</filename> implements mirroring by attaching multiple plexes to a volume. Each plex is a representation of the data in a volume. A volume may contain between one and eight plexes.
Although a plex represents the complete data of a volume, it is possible for parts of the representation to be physically missing, either by design (by not defining a subdisk for parts of the plex) or by accident (as a result of the failure of a drive). As long as at least one plex can provide the data for the complete address range of the volume, the volume is fully functional.
Which Plex Organization?
<filename>vinum</filename> implements both concatenation and striping at the plex level:
A <emphasis>concatenated plex</emphasis> uses the address space of each subdisk in turn. Concatenated plexes are the most flexible as they can contain any number of subdisks, and the subdisks may be of different length. The plex may be extended by adding additional subdisks. They require less <acronym>CPU</acronym> time than striped plexes, though the difference in <acronym>CPU</acronym> overhead is not measurable. On the other hand, they are most susceptible to hot spots, where one disk is very active and others are idle.
A <emphasis>striped plex</emphasis> stripes the data across each subdisk. The subdisks must all be the same size and there must be at least two subdisks in order to distinguish it from a concatenated plex. The greatest advantage of striped plexes is that they reduce hot spots. By choosing an optimum sized stripe, about 256 kB, the load can be evened out on the component drives. Extending a plex by adding new subdisks is so complicated that <filename>vinum</filename> does not implement it.
<xref linkend="vinum-comparison"/> summarizes the advantages and disadvantages of each plex organization.
<filename>vinum</filename> Plex Organizations
Plex type
Minimum subdisks


No matching activity found.

Browse all component changes

Source information

Source string comment
(itstool) path: listitem/para
Source string location
String age
a year ago
Source string age
a year ago
Translation file
articles/vinum.pot, string 46