Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CCD(4)			    Kernel Interfaces Manual			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	generate  ker-
       nels,  how to properly configure	disks and devices in a kernel configu-
       ration 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 in-
       terleave	 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 mirroring configu-
       ration, even when you have only two disks (i.e. the layout winds	up be-
       ing the same no matter what the	interleave  factor).   The  interleave
       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	different 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 lim-
       ited.  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	parti-
       tion.

WARNINGS
       If just one (or more) of	the disks in a ccd fails, the entire file sys-
       tem 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 er-
       ror occurs, you should recover and regenerate the data as soon as  pos-
       sible.

       Changing	 the interleave	or other parameters for	a ccd disk usually de-
       stroys whatever data previously existed on that disk.

FILES
       /dev/ccd*  ccd device special files

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

SEE ALSO
       dd(1),	ccdconfig(8),	config(8),  disklabel(8),  fsck(8),  mount(8),
       newfs(8), vinum(8)

FreeBSD	5.2.1			August 9, 1995				CCD(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ccd&sektion=4&manpath=FreeBSD+5.2.1-RELEASE>

home | help