Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/man/man4 Preliminary docco for vinum.
details: https://anonhg.NetBSD.org/src/rev/5f2db3c3aedc
branches: trunk
changeset: 553424:5f2db3c3aedc
user: grog <grog%NetBSD.org@localhost>
date: Thu Oct 16 08:29:52 2003 +0000
description:
Preliminary docco for vinum.
diffstat:
share/man/man4/vinum.4 | 691 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 691 insertions(+), 0 deletions(-)
diffs (truncated from 695 to 300 lines):
diff -r 9998a243bfa5 -r 5f2db3c3aedc share/man/man4/vinum.4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/vinum.4 Thu Oct 16 08:29:52 2003 +0000
@@ -0,0 +1,691 @@
+.\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode
+.\"-
+.\" Copyright (c) 1997, 1998
+.\" Nan Yang Computer Services Limited. All rights reserved.
+.\"
+.\" This software is distributed under the so-called ``Berkeley
+.\" License'':
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Nan Yang Computer
+.\" Services Limited.
+.\" 4. Neither the name of the Company nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" This software is provided ``as is'', and any express or implied
+.\" warranties, including, but not limited to, the implied warranties of
+.\" merchantability and fitness for a particular purpose are disclaimed.
+.\" In no event shall the company or contributors be liable for any
+.\" direct, indirect, incidental, special, exemplary, or consequential
+.\" damages (including, but not limited to, procurement of substitute
+.\" goods or services; loss of use, data, or profits; or business
+.\" interruption) however caused and on any theory of liability, whether
+.\" in contract, strict liability, or tort (including negligence or
+.\" otherwise) arising in any way out of the use of this software, even if
+.\" advised of the possibility of such damage.
+.\"
+.\" $Id: vinum.4,v 1.1 2003/10/16 08:29:52 grog Exp $
+.\" $NetBSD: vinum.4,v 1.1 2003/10/16 08:29:52 grog Exp $
+.\"
+.Dd 5 October 1999
+.Dt vinum 4
+.Sh NAME
+.Nm vinum
+.Nd Logical Volume Manager
+.Sh SYNOPSIS
+.Cd "kldload vinum"
+.Cd "kldload Vinum"
+.Sh DESCRIPTION
+.Nm
+is a logical volume manager inspired by, but not derived from, the Veritas
+Volume Manager. It provides the following features:
+.Bl -bullet
+.It
+It provides device-independent logical disks, called \fIvolumes\fP. Volumes are
+not restricted to the size of any disk on the system.
+.It
+The volumes consist of one or more \fIplexes\fP, each of which contain the
+entire address space of a volume. This represents an implementation of RAID-1
+(mirroring). Multiple plexes can also be used for
+.\" XXX What about sparse plexes? Do we want them?
+.if t .sp
+.Bl -bullet
+.It
+Increased read throughput.
+.Nm
+will read data from the least active disk, so if a volume has plexes on multiple
+disks, more data can be read in parallel.
+.Nm
+reads data from only one plex, but it writes data to all plexes.
+.It
+Increased reliability. By storing plexes on different disks, data will remain
+available even if one of the plexes becomes unavailable. In comparison with a
+RAID-5 or RAID-4 plex (see below), using multiple plexes requires more storage
+space, but gives better performance, particularly in the case of a drive
+failure.
+.It
+Additional plexes can be used for on-line data reorganization. By attaching an
+additional plex and subsequently detaching one of the older plexes, data can be
+moved on-line without compromising access.
+.It
+An additional plex can be used to obtain a consistent dump of a file system. By
+attaching an additional plex and detaching at a specific time, the detached plex
+becomes an accurate snapshot of the file system at the time of detachment.
+.\" Make sure to flush!
+.El
+.It
+Each plex consists of one or more logical disk slices, called \fIsubdisks\fP.
+Subdisks are defined as a contiguous block of physical disk storage. A plex may
+consist of any reasonable number of subdisks (in other words, the real limit is
+not the number, but other factors, such as memory and performance, associated
+with maintaining a large number of subdisks).
+.It
+A number of mappings between subdisks and plexes are available:
+.Bl -bullet
+.It
+\fIConcatenated plexes\fP\| consist of one or more subdisks, each of which
+is mapped to a contiguous part of the plex address space.
+.It
+\fIStriped plexes\fP\| consist of two or more subdisks of equal size. The file
+address space is mapped in \fIstripes\fP, integral fractions of the subdisk
+size. Consecutive plex address space is mapped to stripes in each subdisk in
+.if n turn.
+.if t \{\
+turn.
+.ig
+.\" FIXME
+.br
+.ne 1.5i
+.PS
+move right 2i
+down
+SD0: box
+SD1: box
+SD2: box
+
+"plex 0" at SD0.n+(0,.2)
+"subdisk 0" rjust at SD0.w-(.2,0)
+"subdisk 1" rjust at SD1.w-(.2,0)
+"subdisk 2" rjust at SD2.w-(.2,0)
+.PE
+..
+.\}
+The subdisks of a striped plex must all be the same size.
+.It
+\fIRAID-5 plexes\fP\| require at least three equal-sized subdisks. They
+resemble striped plexes, except that in each stripe, one subdisk stores parity
+information. This subdisk changes in each stripe: in the first stripe, it is the
+first subdisk, in the second it is the second subdisk, etc. In the event of a
+single disk failure,
+.Nm
+will recover the data based on the information stored on the remaining subdisks.
+This mapping is particularly suited to read-intensive access. The subdisks of a
+RAID-5 plex must all be the same size.
+.It
+.Nm
+also supports \fIRAID-4 plexes\fP. They have no advantage over RAID-5. The
+only difference is that the parity information resides on the same subdisk for
+each stripe. The subdisks of a RAID-4 plex must all be the same size.
+.\" Make sure to flush!
+.El
+.It
+.Nm Drives
+are the lowest level of the storage hierarchy. They represent disk special
+devices.
+.It
+.Nm
+offers automatic startup. Unlike
+.Ux
+file systems,
+.Nm
+volumes contain all the configuration information needed to ensure that they are
+started correctly when the subsystem is enabled. This is also a significant
+advantage over the Veritas\(tm File System. This feature regards the presence
+of the volumes. It does not mean that the volumes will be mounted
+automatically, since the standard startup procedures with
+.Pa /etc/fstab
+perform this function.
+.El
+.Sh KERNEL CONFIGURATION
+.Nm
+is intended to be used as a loadable kernel loadable module (LKM). Currently it
+must be compiled into the kernel. To do so, add this line to the kernel
+configuration file:
+.Bd -literal -offset indent
+pseudo-device vinum
+.Ed
+.Pp
+.Ss DEBUG OPTIONS
+The current version of
+.Nm vinum ,
+both the kernel module and the user program
+.Xr vinum 8 ,
+include significant debugging support.
+Enable it with the following entry in the kernel configuration file:
+.Bd -literal -offset indent
+options VINUMDEBUG
+.Ed
+.Sh RUNNING VINUM
+.Nm
+is part of the base NetBSD system. It does not require installation.
+To start it, start the
+.Nm vinum
+program, which will load the kld if it is not already present.
+Before using
+.Nm vinum ,
+it must be configured. See
+.Xr vinum 8
+for information on how to create a
+.Nm
+configuration.
+.Pp
+Normally, you start a configured version of
+.Nm
+at boot time. Set the variable
+.Ar start_vinum
+in
+.Pa /etc/rc.conf
+to
+.Ar YES
+to start
+.Nm
+at boot time.
+.Pp
+If
+.Nm
+is loaded as a kld (the recommended way), the
+.Nm vinum Ar stop
+command will unload it. You can also do this with the
+.Nm kldunload
+command.
+.Pp
+The kld can only be unloaded when idle, in other words when no volumes are
+mounted and no other instances of the
+.Nm
+program are active. Unloading the kld does not harm the data in the volumes.
+.Ss CONFIGURING AND STARTING OBJECTS
+Use the
+.Xr vinum 8
+utility to configure and start
+.Nm
+objects.
+.Sh IOCTL CALLS
+.Pa ioctl
+calls are intended for the use of the
+.Nm
+configuration program only. They are described in the header file
+.Pa /sys/dev/vinum/vinumio.h
+.Ss DISK LABELS
+Conventional disk special devices have a
+.Em disk label
+in the second sector of the device. See
+.Xr disklabel 5
+for more details. This disk label describes the layout of the partitions within
+the device.
+.Nm
+does not subdivide volumes, so volumes do not contain a physical disk label.
+For convenience,
+.Nm
+implements the ioctl calls DIOCGDINFO (get disk label), DIOCGPART (get partition
+information), DIOCWDINFO (write partition information) and DIOCSDINFO (set
+partition information). DIOCGDINFO and DIOCGPART refer to an internal
+representation of the disk label which is not present on the volume. As a
+result, the
+.Fl r
+option of
+.Xr disklabel 8 ,
+which reads the
+.if t ``raw disk'',
+.if n "raw disk",
+will fail.
+.Pp
+In general,
+.Xr disklabel 8
+serves no useful purpose on a vinum volume. If you run it, it will show you
+three partitions, a, b and c, all the same except for the fstype, for example:
+.br
+.ne 1i
+.Bd -literal -offset
+3 partitions:
+# size offset fstype [fsize bsize bps/cpg]
+ a: 2048 0 4.2BSD 1024 8192 0 # (Cyl. 0 - 0)
+ b: 2048 0 swap # (Cyl. 0 - 0)
+ c: 2048 0 unused 0 0 # (Cyl. 0 - 0)
+.Ed
+.Pp
+.Nm
+ignores the DIOCWDINFO and DIOCSDINFO ioctls, since there is nothing to change.
+As a result, any attempt to modify the disk label will be silently ignored.
+.Sh MAKING FILE SYSTEMS
+Since
+.Nm
+volumes do not contain partitions, the names do not need to conform to the
+standard rules for naming disk partitions. For a physical disk partition, the
+last letter of the device name specifies the partition identifier (a to h).
+.Nm
+volumes need not conform to this convention, but if they do not,
+.Nm newfs
+will complain that it cannot determine the partition. To solve this problem,
+use the
+.Fl v
+flag to
+.Nm newfs .
+For example, if you have a volume
+.Pa concat ,
+use the following command to create a ufs file system on it:
+.Pp
+.Bd -literal
+ # newfs -v /dev/vinum/concat
+.Ed
+.Pp
+.Sh OBJECT NAMING
+.Nm
+assigns default names to plexes and subdisks, although they may be overridden.
+We do not recommend overriding the default names. Experience with the
+.if t Veritas\(tm
+.if n Veritas(tm)
Home |
Main Index |
Thread Index |
Old Index