CCD(4)                  NetBSD Kernel Interfaces Manual                 CCD(4)

NAME
     ccd -- 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.

     This document assumes that you're familiar with how to generate kernels,
     how to properly configure disks and pseudo-devices in a kernel configura-
     tion file, and how to partition disks.

     Note that the `raw' partitions of the disks must 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 and the ccd's disklabel.  The kernel will
     only allow component partitions of type FS_CCD.  But for now, it allows
     partition of all types since some port lacks support of an on-disk BSD
     disklabel.  The partition of FS_UNUSED may be rejected because device
     driver of component disk will refuse it.

     In order to compile in support for the ccd, you must add a line similar
     to the following to your kernel configuration file:

           pseudo-device  ccd  4    # concatenated disk devices

     The count argument is how many ccds memory is allocated for at boot time.
     In this example, no more than 4 ccds may be configured.

     A ccd may be either serially concatenated or interleaved.  To serially
     concatenate the partitions, specify the interleave factor of 0.

     If a ccd is interleaved correctly, a ``striping'' effect is achieved,
     which can increase performance.  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 compo-
     nent 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.

     Also note that the total size of concatenated disk may vary depending on
     the interleave factor even if the exact same components are concatenated.
     And an old on-disk disklabel may be read after interleave factor change.
     As a result, the disklabel may contain wrong partition geometry and will
     cause an error when doing I/O near the end of concatenated disk.

     There is a run-time utility that is used for configuring ccds.  See
     ccdconfig(8) for more information.

WARNINGS
     If just one (or more) of the disks in a non-mirrored ccd fails, the
     entire file system will be lost.

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

SEE ALSO
     config(1), MAKEDEV(8), ccdconfig(8), fsck(8), mount(8), newfs(8)

HISTORY
     The concatenated disk driver was originally written at the University of
     Utah.

NetBSD 5.0_STABLE                March 5, 2004               NetBSD 5.0_STABLE
