STRIPECAP(5)

NAME
stripecap - striped disk partition description data base

SYNOPSIS
/etc/stripecap

DESCRIPTION
Stripecap is a data base describing striped disk partitions, used by putst(8) and newst(8).

Striped disk partitions are logical disk partitions which are interleaved over several physical disk partitions. Striped disk partitions are used to take advantage of performance improvements made possible by the parallel operation of the several disk arms which make up the striped disk partition. This parallelism can be acheived either by distributing large transfers over many disks or by spreading multiple simultaneous requests to the same partition across multiple disks. Another possible advantage may come from the ability to create multi-volume virtual partitions whose size is larger than that of any physical disk involved in it. Striped disk partitions may be accessed just as "normal" disk partitions are, including for creating and mounting DYNIX file systems on them.

Striped partitions are described in stripecap by a textual descriptor, which contains information on the physical disk partitions which make up the striped partition, and information about the layout of the logical sections which make up the stripes.

Logical sectioning is the mechanism by which composit partitions may differ in size, yet still have at least one section where data can be interleaved between them. The first section normally uses the first n blocks from each composit partition, where n is the number of blocks in the shortest composit partition, truncated to a multiple of the stripe block size (interleave factor) for that section. Each subsequent section is determined in a similar manner using the remaining blocks of the composit partitions, and at least one fewer of the partitions (the shortest one). This is done until no more sections can be created.

Entries in stripecap consist of a number of `:' separated fields. The first entry for each partition gives the names which are known for the partition, separated by `|' characters. The newst(8) and putst(8) utilities assume that each stripe partition has one name of the form dsX, where X is a numerical digit corresponding to the minor device number of the stripe disk pseudo-device /dev/rds?.

CAPABILITIES

Name	Type	Description
np	num	number of partitions comprising the stripe partition.
M?	num	major device number of partition ?.
m?	num	minor device number of partition ?.
D?	num	number of devices (partitions) in section ?.
S?	num	"stripe blocksize" (interleave factor) of section ?.
B?	num	number of blocks in section ? contributed by
		each partition.

A Sample Entry

Invoking the newst utility from /dev using:
/etc/newst -e rds6 zd0a mk2344k zd1h mk2344k zd2g mk2344k
yields a stripecap entry such as:
:ds6:\	Name of this stripe device.
:np#3:\	Number of partitions included (3).
:M0#7:m0#15:\	Device numbers of 3 partitions
:M1#7:m1#22:\	   sorted from largest size to
:M2#7:m2#0:\	      smallest size.
:D0#3:B0#17808:S0#16:\	First section uses all 3 partitions.
:D1#2:B1#482928:S1#16:\	Second section uses first 2 partitions.
:D2#1:B2#37408:S2#37408:\	Third section uses first partition.

Entries may continue onto multiple lines by giving a \ as the last character of a line, and that empty fields may be included for readability (here between the last field on a line and the first field on the next).

Fields Within the Descriptor

All fields have names which are two character codes. For most of the field names, the second character is uniquely chosen from the set [0-9a-zA-Z] in an ascending sequence. For example, the minor device numbers of the first 5 disk partitions would be `m0', `m1', `m2', `m3', and `m4'. Numeric fields are followed by the character `#' and then the value. Thus np, which indicates the number of disk partitions making up the striped partition, gives the value `3' for the example above.

FILES
/etc/stripecap    file containing partition descriptions

SEE ALSO
newst(8), putst(8), st(4)

CAVEATS
It is assumed that the major and minor device numbers for the composit partitions are for the block interface, not the raw interface. Be careful that they are not overlapping partititions on the same device or data corruption may result from their use.

The partitions specified in the stripecap must be such that partition sizes are in descending order as the the partitions are in ascending order.

Stripe block sizes must be a minimum of 16 or a multiple thereof (representing 8kbytes). Stripe section sizes must be a multiple of the that section's stripe block size. This can result in some wasted space and the end of each composit partition.

Performance may be reduced if partitions in the stripe partition are not on distict disk drives. It is also recommended that they be located on distinct disk controller channels. Likewise, it is best for partitions to be of equal lengths on identical drives and controllers, although not necessary.

Note that the newst(8) utility sets the stripe block size to match the stripe section size (no interleave) when only one partition is involved or when multiple partitions in that section reside on the same physical drive. In this situation a performance degradation may result otherwise. Also, some experimentation with stripe block sizes may be useful to tune performance to your application.

The total size of the entire stripe partition must be less than 2 gigabytes. This is currently a DYNIX addressing limitation.