xref: /freebsd/sbin/mdconfig/mdconfig.8 (revision 5203edcdc553fda6caa1da8826a89b1a02dad1bf)
1.\" Copyright (c) 1993 University of Utah.
2.\" Copyright (c) 1980, 1989, 1991, 1993
3.\"	The Regents of the University of California.  All rights reserved.
4.\" Copyright (c) 2000
5.\"	Poul-Henning Kamp  All rights reserved.
6.\"
7.\" This code is derived from software contributed to Berkeley by
8.\" the Systems Programming Group of the University of Utah Computer
9.\" Science Department.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. All advertising materials mentioning features or use of this software
20.\"    must display the following acknowledgement:
21.\"	This product includes software developed by the University of
22.\"	California, Berkeley and its contributors.
23.\" 4. Neither the name of the University nor the names of its contributors
24.\"    may be used to endorse or promote products derived from this software
25.\"    without specific prior written permission.
26.\"
27.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37.\" SUCH DAMAGE.
38.\"
39.\"     @(#)vnconfig.8	8.1 (Berkeley) 6/5/93
40.\" from: src/usr.sbin/vnconfig/vnconfig.8,v 1.19 2000/12/27 15:30:29
41.\"
42.\" $FreeBSD$
43.\"
44.Dd March 10, 2004
45.Dt MDCONFIG 8
46.Os
47.Sh NAME
48.Nm mdconfig
49.Nd configure and enable memory disks
50.Sh SYNOPSIS
51.Nm
52.Fl a
53.Fl t Ar type
54.Op Fl n
55.Oo Fl o Oo Cm no Oc Ns Ar option Oc ...
56.Op Fl f Ar file
57.Op Fl s Ar size
58.Op Fl S Ar sectorsize
59.Op Fl u Ar unit
60.Op Fl x Ar sectors/track
61.Op Fl y Ar heads/cyl
62.Nm
63.Fl d
64.Fl u Ar unit
65.Nm
66.Fl l
67.Op Fl n
68.Op Fl u Ar unit
69.Sh DESCRIPTION
70The
71.Nm
72utility configures and enables
73.Xr md 4
74devices.
75.Pp
76Options indicate an action to be performed:
77.Bl -tag -width indent
78.It Fl a
79Attach a memory disk.
80This will configure and attach a memory disk with the
81parameters specified and attach it to the system.
82.It Fl d
83Detach a memory disk from the system and release all resources.
84.It Fl t Ar type
85Select the type of the memory disk.
86.Bl -tag -width "preload"
87.It Cm malloc
88Storage for this type of memory disk is allocated with
89.Xr malloc 9 .
90This limits the size to the malloc bucket limit in the kernel.
91If the
92.Fl o Cm reserve
93option is not set, creating and filling a large
94malloc-backed memory disk is a very easy way to
95panic a system.
96.It Cm vnode
97A file specified with
98.Fl f Ar file
99becomes the backingstore for this memory disk.
100.It Cm swap
101swapspace is used to back this memory disk.
102.El
103.It Fl f Ar file
104Filename to use for the vnode type memory disk.
105.It Fl l
106List information about configured
107.Xr md 4
108devices.
109If the
110.Fl u
111option is used in conjuction with this, the output is limited to
112information on the specified device.
113.It Fl n
114When printing md device names, print only the unit number without the
115md prefix.
116.It Fl s Ar size
117Size of the memory disk.
118.Ar Size
119is the number of 512 byte sectors unless suffixed with a
120.Cm k , m ,
121or
122.Cm g
123which
124denotes kilobyte, megabyte and gigabyte respectively.
125.It Fl S Ar sectorsize
126Sectorsize to use for malloc backed device.
127.It Fl x Ar sectors/track
128See the description of the
129.Fl y
130option below.
131.It Fl y Ar heads/cylinder
132For
133.Cm malloc
134or
135.Cm vnode
136backed devices, the
137.Fl x
138and
139.Fl y
140options can be used to specify a synthetic geometry.
141This is useful for constructing bootable images for later download to
142other devices.
143.It Fl o Oo Cm no Oc Ns Ar option
144Set or reset options.
145.Bl -tag -width indent
146.It Oo Cm no Oc Ns Cm async
147For
148.Cm vnode
149backed devices: avoid
150.Dv IO_SYNC
151for increased performance but
152at the risk of deadlocking the entire kernel.
153.It Oo Cm no Oc Ns Cm reserve
154Allocate and reserve all needed storage from the start, rather than as needed.
155.It Oo Cm no Oc Ns Cm cluster
156Enable clustering on this disk.
157.It Oo Cm no Oc Ns Cm compress
158Enable/Disable compression features to reduce memory usage.
159.It Oo Cm no Oc Ns Cm force
160Disable/Enable extra sanity checks to prevent the user from doing something
161that might adversely affect the system.
162.It Oo Cm no Oc Ns Cm readonly
163Enable/Disable readonly mode.
164.El
165.It Fl u Ar unit
166Request a specific unit number for the
167.Xr md 4
168device instead of automatic allocation.
169.El
170.Sh EXAMPLES
171To create a 4 megabyte
172.Xr malloc 9
173backed memory disk.
174The name of the allocated unit will be output on stdout like
175.Dq Li md3 :
176.Pp
177.Dl mdconfig -a -t malloc -s 4m
178.Pp
179To create a disk named
180.Pa /dev/md4
181with
182.Pa /tmp/boot.flp
183as backing:
184.Pp
185.Dl mdconfig -a -t vnode -f /tmp/boot.flp -u 4
186.Pp
187To detach and free all resources used by
188.Pa /dev/md4 :
189.Pp
190.Dl mdconfig -d -u 4
191.Pp
192To create and mount a 128MByte swap backed file system on
193.Pa /tmp :
194.Bd -literal -offset indent
195mdconfig -a -t swap -s 128M -u 10
196newfs -U /dev/md10
197mount /dev/md10 /tmp
198chmod 1777 /tmp
199.Ed
200.Pp
201To create a 5MB file-backed disk:
202.Bd -literal -offset indent
203dd if=/dev/zero of=somebackingfile bs=1k count=5k
204mdconfig -a -t vnode -f somebackingfile -u 0
205bsdlabel -w md0 auto
206newfs md0c
207mount /dev/md0c /mnt
208.Ed
209.Sh SEE ALSO
210.Xr md 4 ,
211.Xr bsdlabel 8 ,
212.Xr fdisk 8 ,
213.Xr mdmfs 8 ,
214.Xr malloc 9
215.Sh HISTORY
216The
217.Nm
218utility first appeared in
219.Fx 5.0
220as a cleaner replacement for the
221.Xr vn 4
222and
223.Xr vnconfig 8
224combo.
225.Sh AUTHORS
226The
227.Nm
228utility was written by
229.An Poul-Henning Kamp
230.Aq phk@FreeBSD.org .
231