MirBSD manpage: ccd(4)

CCD(4)                     BSD 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.

     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 should not be combined. Each
     component partition should be offset at least one cylinder from the be-
     ginning of the component disk. This avoids potential conflicts between
     the component disk's disklabel and the ccd'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 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 ccd's memory is allocated for at boot
     time. In this example, no more than 4 ccd's may be configured.

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

     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 proto-
     col 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 proto-
     col (the default, unless the requirements mentioned above are not ful-
     filled) or MAXBSIZE / #components with the unoptimized protocol. Since
     the interleave factor is expressed in units of DEV_BSIZE, one must ac-
     count 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

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


     If just one (or more) of the disks in a ccd fails, the entire filesystem
     will be lost.


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


     MAKEDEV(8), ccdconfig(8), config(8), fsck(8), mount(8), newfs(8)


     The concatenated disk driver was originally written at the University of

MirBSD #10-current              August 9, 1995                               1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung