Manual Page Search Parameters

CCD(4)                    OpenBSD Programmer's Manual                   CCD(4)

     ccd - concatenated disk driver

     pseudo-device ccd [count]

     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

     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.

     /dev/{,r}ccd*    ccd device special files

     MAKEDEV(8), ccdconfig(8), disklabel(8), fsck(8), growfs(8), mount(8),

     The concatenated disk driver was originally written at the University of

     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