CCD(4) OpenBSD Programmer's Manual CCD(4)NAMEccd - concatenated disk driver
SYNOPSIS
pseudo-device ccd [count]
DESCRIPTION
The ccd driver provides the capability of combining one or more
disks/partitions into one virtual disk.
Note that the `raw' partitions of the disks should not be combined. Each
component partition should be offset at least one cylinder from the
beginning of the component disk. This avoids potential conflicts between
the component disk's disklabel(8) and the concatenated disk's disklabel.
The kernel wants to only allow component partitions of type FS_CCD, but
due to disklabel restrictions on some architectures will also accept
component partitions of FS_BSDFFS.
In order to compile in support for ccd, make sure your kernel
configuration file contains a line similar to the following (GENERIC does
by default):
pseudo-device ccd 4 # concatenated disk devices
The optional count argument specifies how many concatenated disk devices
are allocated for at boot time. In this example, no more than 4 may be
configured.
A ccd may be either serially concatenated, interleaved, or mirrored. To
serially concatenate partitions, specify an interleave factor of 0.
Mirroring configurations require an even number of components.
If a ccd is interleaved correctly, a ``striping'' effect is achieved,
which can increase performance. Finding the optimum interleave factor is
a hard problem. Some things to think about are the number of disks in
the ccd, the typical read-ahead opportunities, the filesystem blocksize,
and if it's possible to use the optimized ccd I/O protocol. The
optimized protocol allows smaller interleave factors for a comparably
cheap price but requires that the factor be a multiple of the software
page size (CLBYTES), and that mirroring is not requested. So far the
best policy is to test with different interleaves and benchmark typical
uses. A rule of thumb might be to use the software pagesize with the
optimized I/O protocol (the default, unless the requirements mentioned
above are not fulfilled) or MAXBSIZE / #components with the unoptimized
protocol. Since the interleave factor is expressed in units of
DEV_BSIZE, one must account for sector sizes other than DEV_BSIZE in
order to calculate the correct interleave. The kernel will not allow an
interleave factor less than the size of the largest component sector
divided by DEV_BSIZE.
Note that best performance is achieved if all component disks have the
same geometry and size. Optimum striping cannot occur with different
disk types.
There is a run-time utility that is used for configuring concatenated
disks. See ccdconfig(8) for more information.
FILES
/dev/{,r}ccd* ccd device special files
SEE ALSOMAKEDEV(8), ccdconfig(8), disklabel(8), fsck(8), growfs(8), mount(8),
newfs(8)HISTORY
The concatenated disk driver was originally written at the University of
Utah.
CAVEATS
If just one (or more) of the disks in a non-redundant ccd configuration
fails, the entire file system will be lost.
OpenBSD 4.9 May 31, 2007 OpenBSD 4.9