ccd(4)
NAME
ccd - Concatenated Disk driver
SYNOPSIS
device ccd
DESCRIPTION
- The ccd driver provides the capability of combining one or
- more
disks/partitions into one virtual disk. - This document assumes that you are familiar with how to gen
- erate kernels,
how to properly configure disks and devices in a kernel con - figuration
file, and how to partition disks. - In order to compile in support for the ccd, you must add a
- line similar
to the following to your kernel configuration file:
device ccd # concatenated disk devices- As of the FreeBSD 3.0 release, you do not need to configure
- your kernel
with ccd but may instead use it as a kernel loadable module. - Simply running ccdconfig(8) will load the module into the kernel.
- A ccd may be either serially concatenated or interleaved.
- To serially
concatenate the partitions, specify the interleave factor of - 0. Note
that mirroring may not be used with an interleave factor of - 0.
- There is a run-time utility that is used for configuring
- ccds. See
ccdconfig(8) for more information. - The Interleave Factor
- If a ccd is interleaved correctly, a ``striping'' effect is
- achieved,
which can increase sequential read/write performance. The - interleave
factor is expressed in units of DEV_BSIZE (usually 512 - bytes). For large
writes, the optimum interleave factor is typically the size - of a track,
while for large reads, it is about a quarter of a track. - (Note that this
changes greatly depending on the number and speed of disks.) - For
instance, with eight 7,200 RPM drives on two Fast-Wide SCSI - buses, this
translates to about 128 for writes and 32 for reads. A - larger interleave
tends to work better when the disk is taking a multitasking - load by
localizing the file I/O from any given process onto a single - disk. You
lose sequential performance when you do this, but sequential - performance
is not usually an issue with a multitasking load. - An interleave factor must be specified when using a mirror
- ing configuration, even when you have only two disks (i.e., the layout
- winds up being
the same no matter what the interleave factor). The inter - leave factor
will determine how I/O is broken up, however, and a value - 128 or greater
is recommended. - ccd has an option for a parity disk, but does not currently
- implement it.
- The best performance is achieved if all component disks have
- the same
geometry and size. Optimum striping cannot occur with dif - ferent disk
types. - For random-access oriented workloads, such as news servers,
- a larger
interleave factor (e.g., 65,536) is more desirable. Note - that there is
not much ccd can do to speed up applications that are seek - time limited.
Larger interleave factors will at least reduce the chance of - having to
seek two disk-heads to read one directory or a file. - Disk Mirroring
- You can configure the ccd to ``mirror'' any even number of
- disks. See
ccdconfig(8) for how to specify the necessary flags. For - example, if you
have a ccd configuration specifying four disks, the first - two disks will
be mirrored with the second two disks. A write will be run - to both sides
of the mirror. A read will be run to either side of the - mirror depending
on what the driver believes to be most optimal. If the read - fails, the
driver will automatically attempt to read the same sector - from the other
side of the mirror. Currently ccd uses a dual seek zone - model to optimize reads for a multi-tasking load rather than a sequential
- load.
- In an event of a disk failure, you can use dd(1) to recover
- the failed
disk. - Note that a one-disk ccd is not the same as the original
- partition. In
particular, this means if you have a file system on a two - disk mirrored
ccd and one of the disks fail, you cannot mount and use the - remaining
partition as itself; you have to configure it as a one-disk - ccd. You
cannot replace a disk in a mirrored ccd partition without - first backing
up the partition, then replacing the disk, then restoring - the partition.
WARNINGS
- If just one (or more) of the disks in a ccd fails, the en
- tire file system
will be lost unless you are mirroring the disks. - If one of the disks in a mirror is lost, you should still be
- able to back
up your data. If a write error occurs, however, data read - from that sector may be non-deterministic. It may return the data prior
- to the write
or it may return the data that was written. When a write - error occurs,
you should recover and regenerate the data as soon as possi - ble.
- Changing the interleave or other parameters for a ccd disk
- usually
destroys whatever data previously existed on that disk.
FILES
/dev/ccd* ccd device special files
SEE ALSO
HISTORY
- The concatenated disk driver was originally written at the
- University of
Utah. - BSD August 9, 1995