xref: /freebsd/sbin/mdconfig/mdconfig.8 (revision 63d1fd5970ec814904aa0f4580b10a0d302d08b2)
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. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"     @(#)vnconfig.8	8.1 (Berkeley) 6/5/93
36.\" from: src/usr.sbin/vnconfig/vnconfig.8,v 1.19 2000/12/27 15:30:29
37.\"
38.\" $FreeBSD$
39.\"
40.Dd October 10, 2015
41.Dt MDCONFIG 8
42.Os
43.Sh NAME
44.Nm mdconfig
45.Nd create and control memory disks
46.Sh SYNOPSIS
47.Nm
48.Fl a
49.Fl t Ar type
50.Op Fl n
51.Oo Fl o Oo Cm no Oc Ns Ar option Oc ...
52.Op Fl f Ar file
53.Op Fl s Ar size
54.Op Fl S Ar sectorsize
55.Op Fl u Ar unit
56.Op Fl x Ar sectors/track
57.Op Fl y Ar heads/cylinder
58.Nm
59.Fl d
60.Fl u Ar unit
61.Op Fl o Oo Cm no Oc Ns Ar force
62.Nm
63.Fl r
64.Fl u Ar unit
65.Fl s Ar size
66.Op Fl o Oo Cm no Oc Ns Ar force
67.Nm
68.Fl l
69.Op Fl n
70.Op Fl v
71.Op Fl f Ar file
72.Op Fl u Ar unit
73.Nm
74.Ar file
75.Sh DESCRIPTION
76The
77.Nm
78utility creates and controls
79.Xr md 4
80devices.
81.Pp
82Options indicate an action to be performed:
83.Bl -tag -width indent
84.It Fl a
85Attach a memory disk.
86This will configure and attach a memory disk with the
87parameters specified and attach it to the system.
88If the
89.Fl u Ar unit
90option is not provided, the newly created device name will be printed on stdout.
91.It Fl d
92Detach a memory disk from the system and release all resources.
93.It Fl r
94Resize a memory disk.
95.It Fl t Ar type
96Select the type of the memory disk.
97.Bl -tag -width "malloc"
98.It Cm malloc
99Storage for this type of memory disk is allocated with
100.Xr malloc 9 .
101This limits the size to the malloc bucket limit in the kernel.
102If the
103.Fl o Cm reserve
104option is not set, creating and filling a large
105malloc-backed memory disk is a very easy way to
106panic the system.
107.It Cm vnode
108A file specified with
109.Fl f Ar file
110becomes the backing store for this memory disk.
111.It Cm swap
112Storage for this type of memory disk is allocated from buffer
113memory.
114Pages get pushed out to swap when the system is under memory
115pressure, otherwise they stay in the operating memory.
116Using
117.Cm swap
118backing is generally preferred instead of using
119.Cm malloc
120backing.
121.It Cm null
122Bitsink; all writes do nothing, all reads return zeroes.
123.El
124.It Fl f Ar file
125Filename to use for the vnode type memory disk.
126The
127.Fl a
128and
129.Fl t Ar vnode
130options are implied if not specified.
131.It Fl l
132List configured devices.
133If given with
134.Fl u ,
135display details about that particular device.
136If given with
137.Fl f Ar file ,
138display
139.Xr md 4
140device names of which
141.Ar file
142is used as the backing store.
143If both of
144.Fl u
145and
146.Fl f
147options are specified,
148display devices which match the two conditions.
149If the
150.Fl v
151option is specified, show all details.
152.It Fl n
153When printing
154.Xr md 4
155device names, print only the unit number without the
156.Xr md 4
157prefix.
158.It Fl s Ar size
159Size of the memory disk.
160.Ar Size
161is the number of 512 byte sectors unless suffixed with a
162.Cm b , k , m , g , t ,
163or
164.Cm p
165which
166denotes byte, kilobyte, megabyte, gigabyte, terabyte and petabyte respectively.
167When used without the
168.Fl r
169option, the
170.Fl a
171and
172.Fl t Ar swap
173options are implied if not specified.
174.It Fl S Ar sectorsize
175Sectorsize to use for the memory disk, in bytes.
176.It Fl x Ar sectors/track
177See the description of the
178.Fl y
179option below.
180.It Fl y Ar heads/cylinder
181For
182.Cm malloc
183or
184.Cm vnode
185backed devices, the
186.Fl x
187and
188.Fl y
189options can be used to specify a synthetic geometry.
190This is useful for constructing bootable images for later download to
191other devices.
192.It Fl o Oo Cm no Oc Ns Ar option
193Set or reset options.
194.Bl -tag -width indent
195.It Oo Cm no Oc Ns Cm async
196For
197.Cm vnode
198backed devices: avoid
199.Dv IO_SYNC
200for increased performance but
201at the risk of deadlocking the entire kernel.
202.It Oo Cm no Oc Ns Cm reserve
203Allocate and reserve all needed storage from the start, rather than as needed.
204.It Oo Cm no Oc Ns Cm cluster
205Enable clustering on this disk.
206.It Oo Cm no Oc Ns Cm compress
207Enable/disable compression features to reduce memory usage.
208.It Oo Cm no Oc Ns Cm force
209Disable/enable extra sanity checks to prevent the user from doing something
210that might adversely affect the system.
211This can be used with the
212.Fl d
213flag to forcibly destroy an
214.Xr md 4
215disk that is still in use.
216.It Oo Cm no Oc Ns Cm readonly
217Enable/disable readonly mode.
218.El
219.It Fl u Ar unit
220Request a specific unit number or device name for the
221.Xr md 4
222device instead of automatic allocation.
223If a device name is specified, it must be start with
224.Dq md
225followed by the unit number.
226.El
227.Pp
228The last form,
229.Nm
230.Ar file ,
231is provided for convenience as an abbreviation of
232.Nm
233.Fl a
234.Fl t Ar vnode
235.Fl f Ar file .
236.Sh EXAMPLES
237Create a disk with
238.Pa /tmp/boot.flp
239as backing storage.
240The name of the allocated unit will be printed on stdout, such as
241.Dq Li md0 :
242.Bd -literal -offset indent
243mdconfig /tmp/boot.flp
244.Ed
245.Pp
246Create a 1 gigabyte swap backed memory disk named
247.Dq Li md3 :
248.Bd -literal -offset indent
249mdconfig -s 1g -u md3
250.Ed
251.Pp
252Detach and free all resources used by
253.Pa /dev/md3 :
254.Bd -literal -offset indent
255mdconfig -du md3
256.Ed
257.Pp
258Show detailed information on current memory disks:
259.Bd -literal -offset indent
260mdconfig -lv
261.Ed
262.Pp
263Resize the
264.Dq Li md3
265memory disk to 2 gigabytes:
266.Bd -literal -offset indent
267mdconfig -rs 2g -u md3
268.Ed
269.Pp
270Create a 1 gigabyte swap backed disk, initialize an
271.Xr ffs 7
272file system on it, and mount it on
273.Pa /tmp :
274.Bd -literal -offset indent
275mdconfig -s 1g -u md10
276newfs -U /dev/md10
277mount /dev/md10 /tmp
278chmod 1777 /tmp
279.Ed
280.Pp
281Create a memory disk out of an ISO 9660 CD image file,
282using the first available
283.Xr md 4
284device, and then mount it:
285.Bd -literal -offset indent
286mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
287.Ed
288.Pp
289Create a file-backed device from a hard disk image that begins
290with 512K of raw header information.
291.Xr gnop 8
292is used to skip over the header information, positioning
293.Pa md1.nop
294to the start of the filesystem in the image.
295.Bd -literal -offset indent
296mdconfig -u md1 -f diskimage.img
297gnop create -o 512K md1
298mount /dev/md1.nop /mnt
299.Ed
300.Sh SEE ALSO
301.Xr md 4 ,
302.Xr ffs 7 ,
303.Xr gpart 8 ,
304.Xr mdmfs 8 ,
305.Xr malloc 9
306.Sh HISTORY
307The
308.Nm
309utility first appeared in
310.Fx 5.0
311as a cleaner replacement for the
312.Xr vn 4
313and
314.Xr vnconfig 8
315combo.
316.Sh AUTHORS
317The
318.Nm
319utility was written by
320.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
321