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

FreeBSD Manual Pages

  
 
  

home | help
GMIRROR(8)		    System Manager's Manual		    GMIRROR(8)

NAME
       gmirror -- control utility for mirrored devices

SYNOPSIS
       gmirror label [-hnv] [-b	balance] [-s slice] name prov ...
       gmirror clear [-v] prov ...
       gmirror configure [-adhnv] [-b balance] [-s slice] name
       gmirror rebuild [-v] name prov ...
       gmirror insert [-hiv] [-p priority] name	prov ...
       gmirror remove [-v] name	prov ...
       gmirror activate	[-v] name prov ...
       gmirror deactivate [-v] name prov ...
       gmirror forget [-v] name	...
       gmirror stop [-fv] name ...
       gmirror list
       gmirror status
       gmirror load
       gmirror unload

DESCRIPTION
       The gmirror utility is used for mirror (RAID1) configurations.  After a
       mirror's	creation, all components are detected and configured automati-
       cally.	All  operations	like failure detection,	stale component	detec-
       tion, rebuild of	stale components, etc. are  also  done	automatically.
       The  gmirror  utility  uses  on-disk metadata (stored in	the provider's
       last sector) to store all needed	information.  Since the	last sector is
       used for	this purpose, it is possible to	place a	root file system on  a
       mirror.

       The first argument to gmirror indicates an action to be performed:

       label	   Create a mirror.  The order of components is	important, be-
		   cause  a  component's  priority  is	based  on its position
		   (starting from 0).  The component with the biggest priority
		   is used by the prefer balance algorithm and is also used as
		   a master component when resynchronization is	 needed,  e.g.
		   after a power failure when the device was open for writing.

		   Additional options include:

		   -b balance  Specifies balance algorithm to use, one of:

			       load	    Read  from	the component with the
					    lowest load.

			       prefer	    Read from the component  with  the
					    biggest priority.

			       round-robin  Use	  round-robin  algorithm  when
					    choosing component to read.

			       split	    Split  read	 requests,  which  are
					    bigger than	or equal to slice size
					    on N pieces, where N is the	number
					    of active components.

		   -h	       Hardcode	providers' names in metadata.

		   -n	       Turn  off  autosynchronization  of stale	compo-
			       nents.

		   -s slice    When using the split balance algorithm  and  an
			       I/O  READ  request  is  bigger than or equal to
			       this value, the I/O request will	be split  into
			       N  pieces, where	N is the number	of active com-
			       ponent.

       clear	   Clear metadata on the given providers.

       configure   Configure the given device.

		   Additional options include:

		   -a	       Turn on	autosynchronization  of	 stale	compo-
			       nents.

		   -b balance  Specifies balance algorithm to use.

		   -d	       Do not hardcode providers' names	in metadata.

		   -h	       Hardcode	providers' names in metadata.

		   -n	       Turn  off  autosynchronization  of stale	compo-
			       nents.

		   -s slice    Specifies slice size for	 split	balance	 algo-
			       rithm.

       rebuild	   Rebuild  the	given mirror components	forcibly.  If autosyn-
		   chronization	was not	turned off for the given device,  this
		   command should be unnecessary.

       insert	   Add the given component(s) to the existing mirror.

		   Additional options include:

		   -h		Hardcode providers' names in metadata.

		   -i		Mark  component(s) as inactive immediately af-
				ter insertion.

		   -p priority	Specifies priority of the given	component(s).

       remove	   Remove the given component(s) from  the  mirror  and	 clear
		   metadata on it.

       activate	   Activate the	given component(s), which were marked as inac-
		   tive	before.

       deactivate  Mark	 the given component(s)	as inactive, so	it will	not be
		   automatically connected to the mirror.

       forget	   Forget about	components which are not connected.  This com-
		   mand	is useful when a disk has failed and cannot be	recon-
		   nected,  preventing	the  remove command from being used to
		   remove it.

       stop	   Stop	the given mirror.

		   Additional options include:

		   -f  Stop the	given mirror even if it	is opened.

       list	   See geom(8).

       status	   See geom(8).

       load	   See geom(8).

       unload	   See geom(8).

       Additional options include:

       -v  Be more verbose.

EXIT STATUS
       Exit status is 0	on success, and	1 if the command fails.

EXAMPLES
       Use 3 disks to setup a mirror.  Choose split balance  algorithm,	 split
       only  requests which are	bigger than or equal to	2kB.  Create file sys-
       tem, mount it, then unmount it and stop device:

	     gmirror label -v -b split -s 2048 data da0	da1 da2
	     newfs /dev/mirror/data
	     mount /dev/mirror/data /mnt
	     ...
	     umount /mnt
	     gmirror stop data
	     gmirror unload

       Create a	mirror on disk with valid data.	 Add another disk to this mir-
       ror, so it will be synchronized with existing disk:

	     gmirror label -v -b round-robin data da0
	     gmirror insert data da1

       Create a	mirror,	but do not use automatic synchronization feature.  Add
       another disk and	rebuild	it:

	     gmirror label -v -n -b load data da0 da1
	     gmirror insert data da2
	     gmirror rebuild data da2

       One disk	failed.	 Replace it with a brand new one:

	     gmirror forget data
	     gmirror insert data da1

       Create a	mirror,	deactivate one component, do the backup	and connect it
       again.  It will not be resynchronized, if there is no  need  to	do  so
       (there were no writes in	the meantime):

	     gmirror label data	da0 da1
	     gmirror deactivate	data da1
	     dd	if=/dev/da1 of=/backup/data.img	bs=1m
	     gmirror activate data da1

SEE ALSO
       geom(4),	geom(8), mount(8), newfs(8), umount(8),	vinum(8)

HISTORY
       The gmirror utility appeared in FreeBSD 5.3.

AUTHORS
       Pawel Jakub Dawidek <pjd@FreeBSD.org>

BUGS
       There should be a way to	change a component's priority inside a running
       mirror.

       There should be a section with an implementation	description.

       Documentation for sysctls kern.geom.mirror.* is missing.

GNU				 July 9, 2004			    GMIRROR(8)

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS | BUGS

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

home | help