xref: /titanic_41/usr/src/cmd/lvm/metassist/sysfiles/volume-request.dtd (revision 6185db853e024a486ff8837e6784dd290d866112)
1<?xml version="1.0" encoding="utf-8" ?>
2
3<!--
4    CDDL HEADER START
5
6    The contents of this file are subject to the terms of the
7    Common Development and Distribution License, Version 1.0 only
8    (the "License").  You may not use this file except in compliance
9    with the License.
10
11    You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12    or http://www.opensolaris.org/os/licensing.
13    See the License for the specific language governing permissions
14    and limitations under the License.
15
16    When distributing Covered Code, include this CDDL HEADER in each
17    file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18    If applicable, add the following below this CDDL HEADER, with the
19    fields enclosed by brackets "[]" replaced with your own identifying
20    information: Portions Copyright [yyyy] [name of copyright owner]
21
22    CDDL HEADER END
23
24   * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
25   * Use is subject to license terms.
26   *
27   * ident	"%Z%%M%	%I%	%E% SMI"
28   *
29   * Describes the request for a new volume configuration used by
30   * metassist(1M).
31   *
32   * See volume-request(4) for a detailed description of the syntax.
33   -->
34<!ELEMENT volume-request (diskset,(available|unavailable)*,hsp?,(concat|stripe|mirror|volume)*)>
35
36<!--
37   *****************************************************************
38   *
39   * Disk set definition
40   *
41   *****************************************************************
42   -->
43
44<!--
45   * The new or existing disk set to use.  If the disk set does not
46   * exist, it will be created.
47   -->
48<!ELEMENT diskset EMPTY>
49<!ATTLIST diskset name CDATA #REQUIRED>
50
51
52<!--
53   *****************************************************************
54   *
55   * Available devices definition
56   *
57   *****************************************************************
58   -->
59
60<!--
61   * Specify a controller, target, disk, or slice that may be used in
62   * the construction of new SVM configuration.
63   *
64   * Disks specified herein should be:
65   *
66   *     1. part of the disk set named above
67   *
68   * or
69   *
70   *     2. unused and not belong to any disk set
71   *
72   * If a controller is specified, all slices on all disks on the
73   * controller which match the above criteria are considered
74   * available.
75   *
76   * If a target is specified, all slices on all disks on the target
77   * which match the above criteria are considered available.
78   *
79   * If no available devices are specified, all disks on the system
80   * which match the above criteria are considered available.
81   -->
82<!ELEMENT available EMPTY>
83<!ATTLIST available name CDATA #REQUIRED>
84
85<!--
86   * Specify a controller, target, disk, or slice to exclude from the
87   * available pool.
88   -->
89<!ELEMENT unavailable EMPTY>
90<!ATTLIST unavailable name CDATA #REQUIRED>
91
92
93<!--
94   *****************************************************************
95   *
96   * Hot spare pool definition
97   *
98   *****************************************************************
99   -->
100
101<!--
102   * Specify a new or existing hot spare pool for submirrors defined
103   * in this request.  If a HSP is required by this request, and no
104   * HSP is specified here, the first existing HSP in the above disk
105   * set will be used instead.  If no HSPs exist, a new HSP will be
106   * created.
107   *
108   * Optionally specify disks that can be used/excluded if new hot
109   * spares must be created.
110   -->
111<!ELEMENT hsp ((available|unavailable)*)>
112
113<!--
114   * The name to assign to this hot spare pool.  If no name is
115   * specified, a name will be chosen automatically.  No guarantees
116   * are made about the algorithm used, except that the resulting name
117   * will be one that is not currently in use.
118   -->
119<!ATTLIST hsp name CDATA #IMPLIED>
120
121<!--
122   *****************************************************************
123   *
124   * Slice definition
125   *
126   *****************************************************************
127   -->
128
129<!ELEMENT slice EMPTY>
130<!ATTLIST slice name CDATA #REQUIRED>
131
132
133<!--
134   *****************************************************************
135   *
136   * Stripe definition
137   *
138   *****************************************************************
139   -->
140
141<!--
142   * the following line should work, but fails xmllint for some reason
143   *
144   * <!ELEMENT stripe (slice*|(available|unavailable)*)>
145   -->
146
147<!--
148   * Create a new top-level stripe either by specifying the underlying
149   * components (slices and soft partitions) or by specifying the
150   * required size and optional available/unavailable resources.
151   -->
152<!ELEMENT stripe ((available|unavailable)*,slice*)>
153
154<!--
155   * The volume name to assign to this stripe.  If no name is
156   * specified, a name will be chosen automatically.  No guarantees
157   * are made about the algorithm used, except that the resulting name
158   * will be one that is not currently in use.
159   -->
160<!ATTLIST stripe name CDATA #IMPLIED>
161
162<!--
163   * The size of this stripe, in the format <value><units>, where
164   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
165   * multiplier of the units.
166   *
167   * This attribute is ignored if the underlying components are
168   * explicitly specified.
169   -->
170<!ATTLIST stripe size CDATA #IMPLIED>
171
172<!--
173   * Specify the minimum and maximum number of components (slices and
174   * soft partitions) to use when constructing this stripe.
175   *
176   * The default value for mincomp is 4.
177   *
178   * The default value for maxcomp is 10.
179   *
180   * These attributes should not be specified if the underlying
181   * components are explicitly specified.
182   -->
183<!ATTLIST stripe mincomp CDATA #IMPLIED>
184<!ATTLIST stripe maxcomp CDATA #IMPLIED>
185
186<!--
187   * The interlace of this stripe, in the format <value><units>, where
188   * <units> is "BLOCKS", "KB", or "MB", and <value> is the multiplier
189   * of the units.
190   *
191   * The default value is 64KB.
192   -->
193<!ATTLIST stripe interlace CDATA #IMPLIED>
194
195<!--
196   * Boolean (TRUE or FALSE) indicating whether to use a HSP.
197   *
198   * This is only relevant if this stripe is a submirror, i.e. it is
199   * defined within a <mirror> element.  If not, this attribute is
200   * ignored.
201   *
202   * The default value is FALSE.
203   -->
204<!ATTLIST stripe usehsp (TRUE|FALSE) #IMPLIED>
205
206
207<!--
208   *****************************************************************
209   *
210   * Concat definition
211   *
212   *****************************************************************
213   -->
214
215<!--
216   * the following line should work, but fails xmllint for some reason
217   *
218   * <!ELEMENT concat (slice+|(available|unavailable)*)>
219   -->
220
221<!--
222   * Create a new concat either by specifying the underlying slices
223   * and soft partitions or by specifying the required size and
224   * optional available/unavailable resources.
225   -->
226<!ELEMENT concat ((available|unavailable)*,slice*)>
227
228<!--
229   * The volume name to assign to this concat.  If no name is
230   * specified, a name will be chosen automatically.  No guarantees
231   * are made about the algorithm used, except that the resulting name
232   * will be one that is not currently in use.
233   -->
234<!ATTLIST concat name CDATA #IMPLIED>
235
236<!--
237   * The size of this concat, in the format <value><units>, where
238   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
239   * multiplier of the units.
240   *
241   * This attribute is ignored if the underlying slices/soft
242   * partitions are explicitly specified.
243   -->
244<!ATTLIST concat size CDATA #IMPLIED>
245
246<!--
247   * Boolean (TRUE or FALSE) indicating whether to use a HSP.
248   *
249   * This is only relevant if this concat is a submirror, i.e. it is
250   * defined within a <mirror> element.  If not, this attribute is
251   * ignored.
252   *
253   * The default value is FALSE.
254   -->
255<!ATTLIST concat usehsp (TRUE|FALSE) #IMPLIED>
256
257
258<!--
259   *****************************************************************
260   *
261   * Mirror definition
262   *
263   *****************************************************************
264   -->
265
266<!--
267   * Create a new mirror either by specifying the underlying
268   * submirrors or by specifying the required size and optional
269   * available/unavailable resources.
270   -->
271<!ELEMENT mirror ((available|unavailable)*,(stripe|concat)*)>
272
273<!--
274   * The volume name to assign to this mirror.  If no name is
275   * specified, a name will be chosen automatically.  No guarantees
276   * are made about the algorithm used, except that the resulting name
277   * will be one that is not currently in use.
278   -->
279<!ATTLIST mirror name CDATA #IMPLIED>
280
281<!--
282   * The number of submirrors under this mirror.  If this number
283   * exceeds the number of explicitly specified submirrors, the
284   * remaining submirrors will be created from the available
285   * resources.
286   *
287   * The default value is 2.
288   -->
289<!ATTLIST mirror nsubmirrors CDATA #IMPLIED>
290
291<!--
292   * The size of this mirror, in the format <value><units>, where
293   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
294   * multiplier of the units.
295   *
296   * This attribute is required if no submirrors are defined.
297   -->
298<!ATTLIST mirror size CDATA #IMPLIED>
299
300<!--
301   * Specify values for common mirror options.
302   *
303   * The default values are described in the metainint(1M) man page.
304   -->
305<!ATTLIST mirror read (ROUNDROBIN|GEOMETRIC|FIRST) #IMPLIED>
306<!ATTLIST mirror write (PARALLEL|SERIAL) #IMPLIED>
307<!ATTLIST mirror passnum CDATA #IMPLIED>
308
309<!--
310   * Boolean (TRUE or FALSE) indicating whether to use a HSP for each
311   * submirror.  This can be overridden using the submirror's usehsp
312   * attribute.
313   *
314   * The default value is FALSE.
315   -->
316<!ATTLIST mirror usehsp (TRUE|FALSE) #IMPLIED>
317
318
319
320<!--
321   *****************************************************************
322   *
323   * QoS volume definition
324   *
325   *****************************************************************
326   -->
327
328<!--
329   * Create a volume defined by Quality of Service attributes.  The
330   * default is to create a non-redundant volume.  In any case, high
331   * performance is attempted.
332   *
333   * Translates to a stripe (non-redundant) or mirror of stripes
334   * (redundant) for SVM.
335   -->
336<!ELEMENT volume ((available|unavailable)*)>
337
338<!--
339   * The name to assign to this volume.  If no name is specified, a
340   * name will be chosen automatically.  No guarantees are made about
341   * the algorithm used, except that the resulting name will be one
342   * that is not currently in use.
343   -->
344<!ATTLIST volume name CDATA #IMPLIED>
345
346<!--
347   * The size of this mirror, in the format <value><units>, where
348   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
349   * multiplier of the units.
350   *
351   * This attribute is required if no submirrors are defined.
352   -->
353<!ATTLIST volume size CDATA #REQUIRED>
354
355<!--
356   * Specify the redundancy level (0-4) of the data.
357   *
358   * If redundancy is 0, a stripe will be created.
359   *
360   * If redundancy is > 0, a mirror with this number of submirrors
361   * will be created.  In this case, the volume can suffer a disk
362   * failure on <n-1> copies without  data loss.  With the use of HSPs
363   * (see the "faultrecovery" attribute), a volume can suffer a disk
364   * failure on <n+hsps-1> volumes without data loss, assuming non-
365   * concurrent failures.
366   *
367   * The default value is 0.
368   -->
369<!ATTLIST volume redundancy CDATA #IMPLIED>
370
371<!--
372   * Boolean (TRUE or FALSE) indicating whether to include fault
373   * recovery.
374   *
375   * If this attribute is TRUE, a mirror will be created and its
376   * submirror(s) will be associated with a HSP.
377   *
378   * The default value is FALSE.
379   -->
380<!ATTLIST volume faultrecovery (TRUE|FALSE) #IMPLIED>
381
382<!--
383   * Number of data paths through which to ensure the volume is
384   * reachable.
385   *
386   * The default value is 1.
387   -->
388<!ATTLIST volume datapaths CDATA #IMPLIED>
389