xref: /freebsd/sbin/mdconfig/mdconfig.8 (revision 54ebdd631db8c0bba2baab0155f603a8b5cf014a)
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 June 21, 2008
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 v
69.Op Fl u Ar unit
70.Sh DESCRIPTION
71The
72.Nm
73utility configures and enables
74.Xr md 4
75devices.
76.Pp
77Options indicate an action to be performed:
78.Bl -tag -width indent
79.It Fl a
80Attach a memory disk.
81This will configure and attach a memory disk with the
82parameters specified and attach it to the system.
83.It Fl d
84Detach a memory disk from the system and release all resources.
85.It Fl t Ar type
86Select the type of the memory disk.
87.Bl -tag -width "preload"
88.It Cm malloc
89Storage for this type of memory disk is allocated with
90.Xr malloc 9 .
91This limits the size to the malloc bucket limit in the kernel.
92If the
93.Fl o Cm reserve
94option is not set, creating and filling a large
95malloc-backed memory disk is a very easy way to
96panic a system.
97.It Cm vnode
98A file specified with
99.Fl f Ar file
100becomes the backing store for this memory disk.
101.It Cm swap
102Storage for this type of memory disk is allocated from buffer
103memory.
104Pages get pushed out to the swap when the system is under memory
105pressure, otherwise they stay in the operating memory.
106Using
107.Cm swap
108backing is generally preferable over
109.Cm malloc
110backing.
111.El
112.It Fl f Ar file
113Filename to use for the vnode type memory disk. Options
114.Fl a
115and
116.Fl t Ar vnode
117are implied if not specified.
118.It Fl l
119List configured devices.
120If given with
121.Fl u ,
122display details about that particular device.
123If
124.Fl v
125option specified, show all details.
126.It Fl n
127When printing md device names, print only the unit number without the
128md prefix.
129.It Fl s Ar size
130Size of the memory disk.
131.Ar Size
132is the number of 512 byte sectors unless suffixed with a
133.Cm b , k , m , g ,
134or
135.Cm t
136which
137denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively. Options
138.Fl a
139and
140.Fl t Ar swap
141are implied if not specified.
142.It Fl S Ar sectorsize
143Sectorsize to use for malloc backed device.
144.It Fl x Ar sectors/track
145See the description of the
146.Fl y
147option below.
148.It Fl y Ar heads/cylinder
149For
150.Cm malloc
151or
152.Cm vnode
153backed devices, the
154.Fl x
155and
156.Fl y
157options can be used to specify a synthetic geometry.
158This is useful for constructing bootable images for later download to
159other devices.
160.It Fl o Oo Cm no Oc Ns Ar option
161Set or reset options.
162.Bl -tag -width indent
163.It Oo Cm no Oc Ns Cm async
164For
165.Cm vnode
166backed devices: avoid
167.Dv IO_SYNC
168for increased performance but
169at the risk of deadlocking the entire kernel.
170.It Oo Cm no Oc Ns Cm reserve
171Allocate and reserve all needed storage from the start, rather than as needed.
172.It Oo Cm no Oc Ns Cm cluster
173Enable clustering on this disk.
174.It Oo Cm no Oc Ns Cm compress
175Enable/Disable compression features to reduce memory usage.
176.It Oo Cm no Oc Ns Cm force
177Disable/Enable extra sanity checks to prevent the user from doing something
178that might adversely affect the system.
179.It Oo Cm no Oc Ns Cm readonly
180Enable/Disable readonly mode.
181.El
182.It Fl u Ar unit
183Request a specific unit number for the
184.Xr md 4
185device instead of automatic allocation.
186.El
187.Sh EXAMPLES
188To create a 4 megabyte
189.Xr malloc 9
190backed memory disk.
191The name of the allocated unit will be output on stdout like
192.Dq Li md3 :
193.Pp
194.Dl mdconfig -a -t malloc -s 4m
195.Pp
196To create a disk named
197.Pa /dev/md4
198with
199.Pa /tmp/boot.flp
200as backing storage:
201.Pp
202.Dl mdconfig -a -t vnode -f /tmp/boot.flp -u 4
203.Pp
204To detach and free all resources used by
205.Pa /dev/md4 :
206.Pp
207.Dl mdconfig -d -u 4
208.Pp
209To create a 128MByte swap backed disk, initialize an
210.Xr ffs 7
211file system on it, and mount it on
212.Pa /tmp :
213.Bd -literal -offset indent
214mdconfig -a -t swap -s 128M -u 10
215newfs -U /dev/md10
216mount /dev/md10 /tmp
217chmod 1777 /tmp
218.Ed
219.Pp
220To create a 5MB file-backed disk
221.Ns ( Fl a
222and
223.Fl t Ar vnode
224are implied):
225.Bd -literal -offset indent
226dd if=/dev/zero of=somebackingfile bs=1k count=5k
227mdconfig -f somebackingfile -u 0
228bsdlabel -w md0 auto
229newfs md0c
230mount /dev/md0c /mnt
231.Ed
232.Pp
233To create an
234.Xr md 4
235device out of an ISO 9660 CD image file
236.Ns ( Fl a
237and
238.Fl t Ar vnode
239are implied), using the first available
240.Xr md 4
241device, and then mount the new memory disk:
242.Bd -literal -offset indent
243mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
244.Ed
245.Sh SEE ALSO
246.Xr md 4 ,
247.Xr ffs 7 ,
248.Xr bsdlabel 8 ,
249.Xr fdisk 8 ,
250.Xr mdmfs 8 ,
251.Xr malloc 9
252.Sh HISTORY
253The
254.Nm
255utility first appeared in
256.Fx 5.0
257as a cleaner replacement for the
258.Xr vn 4
259and
260.Xr vnconfig 8
261combo.
262.Sh AUTHORS
263The
264.Nm
265utility was written by
266.An Poul-Henning Kamp
267.Aq phk@FreeBSD.org .
268