md man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

md(7D)				    Devices				md(7D)

NAME
       md - user configurable pseudo device driver

DESCRIPTION
       md  is a user configurable pseudo device driver that provides disk con‐
       catenation, striping, mirroring, RAID5 metadevices, trans  metadevices,
       and  hot	 spare	utilities.   Trans devices are no longer supported and
       have been replaced by UFS logging. See mount_ufs(1M).

       The block devices access the disk using the system's  normal  buffering
       mechanism  and  are  read  and  written without regard to physical disk
       records. There is also a	 ``raw''  device  which	 provides  for	direct
       transmission  between  the  disk and the user's read or write buffer. A
       single read or write call usually results in one I/O operation; raw I/O
       is  therefore considerably more efficient when many bytes are transmit‐
       ted. The names of the block devices are found in /dev/md/dsk; the names
       of  the	raw  devices  are  found in /dev/md/rdsk. Metadevices have the
       appearance of whole disks; there are no slices (partitions).

       I/O requests (such as lseek(2)) to the metadevices must have an	offset
       that  is	 a multiple of 512 bytes (DEV_BSIZE), or the driver returns an
       EINVAL error. If the transfer length is not a multiple  of  512	bytes,
       the tranfer count is rounded up by the driver.

       The  md	pseudo	device drivers support all disk devices on all Solaris
       2.4 or later Solaris systems.

IOCTLS
       This section provides a list of the ioctls supported  by	 the  metadisk
       driver.

       The  following ioctls are valid when issued to the raw metadevice, such
       as /dev/md/rdsk/d0. See dkio(7i) for additional information.

       DKIOCGGEOM      This ioctl is  used  to	get  the  disk	geometry.  The
		       metadisk	 driver	 fills	in  the	 dkg_nhead, dkg_nsect,
		       dkg_rpm, dkg_write_reinstruct  and  dkg_read_reinstruct
		       from the first component of the metadevice (at metainit
		       time). dkg_ncyl is calculated using  the	 size  of  the
		       metadevice (reported by metastat) divided by (dkg_nhead
		       * dkg_nsect). The total size is always  a  multiple  of
		       (dkg_nhead  *  dkg_nsect).  If the first component of a
		       metadevice does not start on cylinder  number  0,  then
		       the  dkg_ncyl  is  increased  by	 one cylinder; because
		       DKIOCGVTOC reports the metadevice as starting on cylin‐
		       der  1.	The  side  effect  here	 is that it looks like
		       cylinder 0 is not being used, but  all  the  arithmetic
		       works  out  correctly. If the metadevice is not set up,
		       then ENXIO is returned.

       DKIOCINFO       When issued to the administrative device or metadevice,
		       this  ioctl  sets  dki_unit  to	the unit number of the
		       metadevice,  dki_ctype  to  a  value  of	 DKC_MD,   and
		       dki_partition to 0, because there are no slices.

       DKIOCGVTOC      This  ioctl  returns  the  current vtoc. If one has not
		       been written, then a default vtoc is returned. v_nparts
		       is always 1. v_part[0].p_start is 0 if the first compo‐
		       nent of the metadevice starts on cylinder 0. Otherwise,
		       the p_start field is the starting sector of cylinder 1.
		       v_part[0].p_size is the same as the total size reported
		       by metastat.

       DKIOCSVTOC      This  ioctl  stores  the	 vtoc  in the metadevice state
		       database so it is persistent across reboots.

DIAGNOSTICS
   Notice Log Messages
       The informative log messages include:

       md: dnum: Hotspared device dev with dev

       The first device name listed has been hot spare replaced with the  sec‐
       ond device name listed.

       md: dnum: Hotspared device dev(num,num) with dev(num,num)

       The  first  device  number  listed has been hot spare replaced with the
       second device number listed.

       md: Could not load misc /dev

       The named misc module is not loadable. It is possibly missing, or some‐
       thing else has been copied over it.

       md: dnum: no mem for property dev

       Memory could not be allocated in the prop_op entry point.

       md: db: Parsing error on 'dev'

       Set  command  in	 /kernel/drv/md.conf for the mddb.bootlist <number> is
       not in the correct format. metadb -p can be run to put the correct  set
       commands into the /kernel/drv/md.conf file.

       md: dnum: dev(num,num) needs maintenance
       md: dnum: dev needs maintenance

       An I/O or open error has occurred on a device within a mirror causing a
       component in the mirror to change to the Maintenance state.

       md: dnum: dev(num,num) last erred md: dnum: dev last erred

       An I/O or open error has occurred on a device within a mirror  and  the
       data  is	 not  replicated  elsewhere in the mirror. This is causing the
       component in the mirror to change to the Last Erred state.

   Warning Log Messages
       The warning log messages include:

       md: State database is stale

       This error message comes when there are not enough usable replicas  for
       the  state  database  to be able to update records in the database. All
       accesses to the metadevice driver will fail. To fix this problem,  more
       replicas need to be added or inaccessible replicas need to be deleted.

       md: dnum: read error on devmd: dnum: write error on dev

       A  read	or write error has occurred on the specified submirror, at the
       specified device name. This happens if any read or write	 errors	 occur
       on a submirror.

       md: dnum: read error on dev(num,num)md: dnum: write error on dev(num,num)

       A  read	or write error has occurred on the specified submirror, at the
       specified device number. This happens if any read or write errors occur
       on a submirror.

       md: State database commit failed
       md: State database delete failed

       These  messages	occur when there have been device errors on components
       where the state database replicas reside. These errors only occur  when
       more than half of the replicas have had device errors returned to them.
       For instance, if you have three components with state database replicas
       and  two	 of the components report errors, then these errors may occur.
       The state database commit or  delete  is	 retried  periodically.	 If  a
       replica	is added, then the commit or delete will finish and the system
       will be operational. Otherwise the system will timeout and panic.

       md: dnum: Cannot load dev driver

       Underlying named driver module is not loadable (for  example,  sd,  id,
       xy,  or a third-party driver). This could indicate that the driver mod‐
       ule has been removed.

       md: Open error of hotspare devmd: Open error of hotspare dev(num,num)

       Named hotspare is not openable, or underlying driver is not loadable.

   Panic Log Messages
       The panic log messages include:

       md: dnum: Unknown close typemd: dnum: Unknown open type

       Metadevice is being opened/closed with an unknown open type (OTYP).

       md: State database problem

       Failed metadevice state database commit or delete has been retried  the
       default 100 times.

FILES
       /dev/md/dsk/dn		       block  device  (where  n	 is the device
				       number)

       /dev/md/rdsk/dn		       raw device (where n is the device  num‐
				       ber)

       /dev/md/setname/dsk/dn	       block device (where setname is the name
				       of the diskset and n is the device num‐
				       ber)

       /dev/md/setname/rdsk/dn	       raw  device  (where setname is the name
				       of the diskset and n is the device num‐
				       ber)

       /dev/md/admin		       administrative device

       /kernel/drv/md		       driver module

       /kernel/drv/md.conf	       driver configuration file

       /kernel/misc/md_stripe	       stripe driver misc module

       /kernel/misc/md_mirror	       mirror driver misc module

       /kernel/misc/md_hotspares       hotspares driver misc module

       /kernel/misc/md_trans	       metatrans driver for UFS logging

       /kernel/misc/md_raid	       RAID5 driver misc module

SEE ALSO
       mdmonitord(1M),	metaclear(1M), metadb(1M), metadetach(1M), metahs(1M),
       metainit(1M), metaoffline(1M), metaonline(1M),  metaparam(1M),  metare‐
       cover(1M),   metarename(1M),   metareplace(1M),	 metaroot(1M),	metas‐
       sist(1M),  metaset(1M),	metastat(1M),	metasync(1M),	metattach(1M),
       md.cf(4), md.tab(4), attributes(5),

       Solaris Volume Manager Administration Guide

NOTES
       Trans  metadevices  have	 been  replaced by UFS logging. Existing trans
       devices are not logging--they pass data directly through to the	under‐
       lying device. See mount_ufs(1M) for more information about UFS logging.

SunOS 5.10			  29 Aug 2003				md(7D)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net