]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - sbin/mdconfig/mdconfig.8
MFC r258909:
[FreeBSD/stable/10.git] / sbin / mdconfig / mdconfig.8
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 30, 2013
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/cylinder
62 .Nm
63 .Fl d
64 .Fl u Ar unit
65 .Op Fl o Oo Cm no Oc Ns Ar force
66 .Nm
67 .Fl r
68 .Fl u Ar unit
69 .Fl s Ar size
70 .Op Fl o Oo Cm no Oc Ns Ar force
71 .Nm
72 .Fl l
73 .Op Fl n
74 .Op Fl v
75 .Op Fl f Ar file
76 .Op Fl u Ar unit
77 .Nm
78 .Ar file
79 .Sh DESCRIPTION
80 The
81 .Nm
82 utility configures and enables
83 .Xr md 4
84 devices.
85 .Pp
86 Options indicate an action to be performed:
87 .Bl -tag -width indent
88 .It Fl a
89 Attach a memory disk.
90 This will configure and attach a memory disk with the
91 parameters specified and attach it to the system.
92 If the
93 .Fl u Ar unit
94 option is not provided, the newly created device name will be printed on stdout.
95 .It Fl d
96 Detach a memory disk from the system and release all resources.
97 .It Fl r
98 Resize a memory disk.
99 .It Fl t Ar type
100 Select the type of the memory disk.
101 .Bl -tag -width "malloc"
102 .It Cm malloc
103 Storage for this type of memory disk is allocated with
104 .Xr malloc 9 .
105 This limits the size to the malloc bucket limit in the kernel.
106 If the
107 .Fl o Cm reserve
108 option is not set, creating and filling a large
109 malloc-backed memory disk is a very easy way to
110 panic a system.
111 .It Cm vnode
112 A file specified with
113 .Fl f Ar file
114 becomes the backing store for this memory disk.
115 .It Cm swap
116 Storage for this type of memory disk is allocated from buffer
117 memory.
118 Pages get pushed out to swap when the system is under memory
119 pressure, otherwise they stay in the operating memory.
120 Using
121 .Cm swap
122 backing is generally preferred instead of using
123 .Cm malloc
124 backing.
125 .It Cm null
126 Bitsink; all writes do nothing, all reads return zeroes.
127 .El
128 .It Fl f Ar file
129 Filename to use for the vnode type memory disk.
130 The
131 .Fl a
132 and
133 .Fl t Ar vnode
134 options are implied if not specified.
135 .It Fl l
136 List configured devices.
137 If given with
138 .Fl u ,
139 display details about that particular device.
140 If given with
141 .Fl f Ar file ,
142 display
143 .Xr md 4
144 device names of which
145 .Ar file
146 is used as the backing store.
147 If both of
148 .Fl u
149 and
150 .Fl f
151 options are specified,
152 display devices which match the two conditions.
153 If the
154 .Fl v
155 option is specified, show all details.
156 .It Fl n
157 When printing
158 .Xr md 4
159 device names, print only the unit number without the
160 .Xr md 4
161 prefix.
162 .It Fl s Ar size
163 Size of the memory disk.
164 .Ar Size
165 is the number of 512 byte sectors unless suffixed with a
166 .Cm b , k , m , g ,
167 or
168 .Cm t
169 which
170 denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively.
171 The
172 .Fl a
173 and
174 .Fl t Ar swap
175 options are implied if not specified.
176 .It Fl S Ar sectorsize
177 Sectorsize to use for the memory disk, in bytes.
178 .It Fl x Ar sectors/track
179 See the description of the
180 .Fl y
181 option below.
182 .It Fl y Ar heads/cylinder
183 For
184 .Cm malloc
185 or
186 .Cm vnode
187 backed devices, the
188 .Fl x
189 and
190 .Fl y
191 options can be used to specify a synthetic geometry.
192 This is useful for constructing bootable images for later download to
193 other devices.
194 .It Fl o Oo Cm no Oc Ns Ar option
195 Set or reset options.
196 .Bl -tag -width indent
197 .It Oo Cm no Oc Ns Cm async
198 For
199 .Cm vnode
200 backed devices: avoid
201 .Dv IO_SYNC
202 for increased performance but
203 at the risk of deadlocking the entire kernel.
204 .It Oo Cm no Oc Ns Cm reserve
205 Allocate and reserve all needed storage from the start, rather than as needed.
206 .It Oo Cm no Oc Ns Cm cluster
207 Enable clustering on this disk.
208 .It Oo Cm no Oc Ns Cm compress
209 Enable/disable compression features to reduce memory usage.
210 .It Oo Cm no Oc Ns Cm force
211 Disable/enable extra sanity checks to prevent the user from doing something
212 that might adversely affect the system.
213 .It Oo Cm no Oc Ns Cm readonly
214 Enable/disable readonly mode.
215 .El
216 .It Fl u Ar unit
217 Request a specific unit number or device name for the
218 .Xr md 4
219 device instead of automatic allocation.
220 If a device name is specified, it must be start with
221 .Dq md
222 followed by the unit number.
223 .El
224 .Pp
225 The last form,
226 .Nm
227 .Ar file ,
228 is provided for convenience as an abbreviation of
229 .Nm
230 .Fl a
231 .Fl t Ar vnode
232 .Fl f Ar file .
233 .Sh EXAMPLES
234 Create a 4 megabyte
235 .Xr malloc 9
236 backed memory disk.
237 The name of the allocated unit will be printed on stdout, such as
238 .Dq Li md3 :
239 .Pp
240 .Dl mdconfig -a -t malloc -s 4m
241 .Pp
242 Create a disk named
243 .Pa /dev/md4
244 with
245 .Pa /tmp/boot.flp
246 as backing storage:
247 .Pp
248 .Dl mdconfig -a -t vnode -f /tmp/boot.flp -u md4
249 .Pp
250 Detach and free all resources used by
251 .Pa /dev/md4 :
252 .Pp
253 .Dl mdconfig -d -u md4
254 .Pp
255 Create a 128MByte swap backed disk, initialize an
256 .Xr ffs 7
257 file system on it, and mount it on
258 .Pa /tmp :
259 .Bd -literal -offset indent
260 mdconfig -a -t swap -s 128M -u md10
261 newfs -U /dev/md10
262 mount /dev/md10 /tmp
263 chmod 1777 /tmp
264 .Ed
265 .Pp
266 Create a 5MB file-backed disk
267 .Po Fl a
268 and
269 .Fl t Ar vnode
270 are implied
271 .Pc :
272 .Bd -literal -offset indent
273 dd if=/dev/zero of=somebackingfile bs=1k count=5k
274 mdconfig -f somebackingfile -u md0
275 bsdlabel -w md0 auto
276 newfs md0c
277 mount /dev/md0c /mnt
278 .Ed
279 .Pp
280 Create an
281 .Xr md 4
282 device out of an ISO 9660 CD image file
283 .Po Fl a
284 and
285 .Fl t Ar vnode
286 are implied
287 .Pc , using the first available
288 .Xr md 4
289 device, and then mount the new memory disk:
290 .Bd -literal -offset indent
291 mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
292 .Pp
293 .Ed
294 Create a file-backed device from a hard disk image that begins
295 with 512K of raw header information.
296 .Xr gnop 8
297 is used to skip over the header information, positioning
298 .Pa md1.nop
299 to the start of the filesystem in the image.
300 .Bd -literal -offset indent
301 mdconfig -f diskimage.img -u md1
302 gnop create -o 512K md1
303 mount /dev/md1.nop /mnt
304 .Ed
305 .Sh SEE ALSO
306 .Xr md 4 ,
307 .Xr ffs 7 ,
308 .Xr bsdlabel 8 ,
309 .Xr fdisk 8 ,
310 .Xr mdmfs 8 ,
311 .Xr malloc 9
312 .Sh HISTORY
313 The
314 .Nm
315 utility first appeared in
316 .Fx 5.0
317 as a cleaner replacement for the
318 .Xr vn 4
319 and
320 .Xr vnconfig 8
321 combo.
322 .Sh AUTHORS
323 The
324 .Nm
325 utility was written by
326 .An Poul-Henning Kamp
327 .Aq phk@FreeBSD.org .