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