VxVM automatically selects the disks on which each volume resides, unless you specify otherwise. If you want a volume to be created on specific disks, you must designate those disks to VxVM. More than one disk can be specified.
To create a volume on a specific disk or disks, use the following command:
# vxassist [-g diskgroup] make volume length [layout=layout] \
diskname ... |
For example, to create the volume volspec with length 5 gigabytes on disk03 and disk04, use the following command:
# vxassist make volspec 5g disk03 disk04 |
The vxassist command allows you to specify storage attributes. These give you fine control over the devices, including disks, controllers and targets, which vxassist uses to configure a volume. For example, you can specifically exclude disk05:
# vxassist make volspec 5g !disk05 |
or exclude all disks that are on controller c2:
# vxassist make volspec 5g !ctlr:c2 |
or include only disks on controller c1 except for target t5:
# vxassist make volspec 5g ctlr:c1 !target:c1t5 |
If you want a volume to be created using only disks from a specific disk group, use the -g option to vxassist, for example:
# vxassist -g bigone make volmega 20g disk10 disk11 |
or alternatively, use the diskgroup attribute:
# vxassist make volmega 20g diskgroup=bigone disk10 disk11 |
 |
 |  |
 |
 | NOTE: Any storage attributes that you specify for use must belong to the disk group. Otherwise, vxassist will not use them to create a volume. |
 |
 |  |
 |
You can also use storage attributes to control how vxassist uses available storage, for example, when calculating the maximum size of a volume, when growing a volume or when removing mirrors or logs from a volume. The following example excludes disks disk07 and disk08 when calculating the maximum size of RAID-5 volume that vxassist can create using the disks in the disk group dg:
# vxassist -g dgrp maxsize layout=raid5 nlog=2 !disk07 !disk08 |
See the vxassist(1M) manual page for more information about using storage attributes. It is also possible to control how volumes are laid out on the specified storage as described in the next section “Specifying Ordered Allocation of Storage to Volumes”
Specifying Ordered Allocation of Storage to Volumes |
 |
If you specify the -o ordered option to vxassist when creating a volume, any storage that you also specify is allocated in the following order:
Concatenate disks.
Form columns.
Form mirrors.
For example, the following command creates a mirrored-stripe volume with 3 columns and 2 mirrors on 6 disks:
# vxassist -o ordered make mirstrvol 10g layout=mirror-stripe \
ncol=3 disk01 disk02 disk03 disk04 disk05 disk06 |
This command places columns 1, 2 and 3 of the first mirror on disk01, disk02 and disk03 respectively, and columns 1, 2 and 3 of the second mirror on disk04, disk05 and disk06 respectively. This arrangement is illustrated in Figure 7-1 “Example of Using Ordered Allocation to Create a Mirrored-Stripe Volume”
For layered volumes, vxassist applies the same rules to allocate storage as for non-layered volumes. For example, the following command creates a striped-mirror volume with 2 columns:
# vxassist -o ordered make strmirvol 10g layout=stripe-mirror \
ncol=2 disk01 disk02 disk03 disk04 |
This command mirrors column 1 across disk01 and disk03, and column 2 across disk02 and disk04 as illustrated in Figure 7-2 “Example of using Ordered Allocation to Create a Striped-Mirror Volume”.
Additionally, you can use the col_switch attribute to specify how to concatenate space on the disks into columns. For example, the following command creates a mirrored-stripe volume with 2 columns:
# vxassist -o ordered make strmir2vol 10g layout=mirror-stripe \
ncol=2 col_switch=3g,2g disk01 disk02 disk03 disk04 disk05 \
disk06 disk07 disk08 |
This command allocates 3 gigabytes from disk01 and 2 gigabytes from disk02 to column 1, and 3 gigabytes from disk03 and 2 gigabytes from disk04 to column 2. The mirrors of these columns are then similarly formed from disks disk05 through disk08. This arrangement is illustrated in Figure 7-3 “Example of Using Concatenated Disk Space to Create a Mirrored-Stripe Volume”
Other storage specification classes for controllers, enclosures, targets and trays can be used with ordered allocation. For example, the following command creates a 3-column mirrored-stripe volume between specified controllers:
# vxassist -o ordered make mirstr2vol 80g layout=mirror-stripe \
ncol=3 ctlr:c1 ctlr:c2 ctlr:c3 ctlr:c4 ctlr:c5 ctlr:c6 |
This command allocates space for column 1 from disks on controllers c1, for column 2 from disks on controller c2, and so on as illustrated in Figure 7-4 “Example of Storage Allocation Used to Create a Mirrored-Stripe Volume Across Controllers”
For other ways in which you can control how vxassist lays out mirrored volumes across controllers, see “Mirroring across Targets, Controllers or Enclosures”.