SYNOPSIS
sdxdisk -C -c class -g group -d disk,... [-v num=volume:jrm[,num=volume:jrm,...]] [-a attribute=value[,attribute=value]] [-e delay=msec]
sdxdisk -D -c class -g group -d disk
sdxdisk -M -c class [-a attribute=value[,attribute=value,...]]
-d device=disk[:type][,device=disk [:type],... ] [-e chkps]
sdxdisk -R -c class -d disk
DESCRIPTION
Use sdxdisk to perform operations on disk objects (excluding shadow disk) specified by disk.
You must be superuser to use this command.
Note
High-capacity EFI label disk
When using high-capacity EFI label disks, disk registration and deletion may take time. For details, see "A.2.7 Disk Size."
PRIMARY OPTIONS
You can use either of the following options.
Connect
Connects one or more disks (keep disks, single disks or undefined disks) specified by disk,... to a group specified by group. The class indicates the class name with which disk is registered.
To connect disk to a group other than a switch group, specify a disk connected to all the nodes that belong to the scope of class.
If no group with the same name as group exists, a new group is created.
You cannot connect a spare disk to a group. You cannot connect a keep disk or a single disk to an existing group. Also, a keep disk and a single disk, or multiple keep disks, or multiple single disks cannot be connected to the same group simultaneously.
The disk attribute will be changed to match the attribute of the group (mirror, stripe, concatenation, or switch) it is connected to. Disks and lower level groups connected to a group are mirrored, striped, concatenated or made exchangeable according to the type attribute.
Details about connecting disks to a mirror group, a stripe group, a concatenating group and a switch group are explained below.
Disks and lower level groups connected to the same mirror group will mirror each other. When only one disk or one lower level group is connected, the volume created within that mirror group will not be mirrored. When configuring a mirroring environment with "n"-way multiplexing, "n" numbers of disks or lower level groups must be connected. A maximum of eight-way multiplex mirroring is supported.
When one or more volumes already exist within the mirror group specified by group, the slice configuration of disks or lower level groups that are already connected to group will be automatically copied to the newly connected disks.
Also, when there is an activated volume within group, volume data in addition to the slice configuration will be automatically copied upon returning from the sdxdisk command, therefore increasing the mirroring multiplicity.
By connecting a single disk with single volumes to a mirror group, single volumes will be changed to mirror volumes.
The available size of the mirror group (available capacity as volumes) will be the same as the available size of the smallest disk or the lower level group connected to the mirror group. When a keep disk is connected, the available size of the group will be the same as the available size of the keep disk. If connecting disk results in decreasing the available size of group, a warning message will be sent to standard error output.
When a keep disk is connected, a volume will be created for each physical slice within the keep disk. If the physical slice is not open, the created volume will be activated and synchronization copying will automatically begin after returning from the sdxdisk command.
In classes that include switch groups, mirror groups cannot be created.
Disks specified by disk,... will be connected to group in the order they are listed. Disks and lower level groups connected to the same stripe group will each configure a stripe column, and will be striped in the order they were connected. When only one disk or one lower level group is connected, a volume cannot be created within that stripe group. When striping "n" number of columns, "n" number of disks or lower level groups must be connected. A minimum of two columns and a maximum of 64 columns are supported.
When a stripe group specified by group already exists, stripe columns will be added after the existing stripe columns in group, in the order they are specified by disk,.... However, you cannot increase stripe columns by connecting disks to stripe groups with volumes, or to stripe groups connected to a higher level group.
The available size of the stripe group (available capacity as volumes) equals the available size of the smallest disk or the lower level group connected to the stripe group multiplied by the number of stripe columns, and rounded down to the common multiple of stripe width times stripe columns and cylinder size. If connecting disk decreases the available size of group, a warning message will be sent to standard error output.
You cannot connect a single disk to a stripe group.
In classes that include switch groups, stripe groups cannot be created.
Disks connected to the same concatenation group specified by disk,... will be concatenated in the order they are listed. A maximum of 64 disks can be concatenated.
The available size of the concatenation group (available capacity as volumes) equals the total of the available size of disks connected to the concatenation group.
The available size of the group can be increased by connecting disks to the existing concatenation group. When a concatenation group specified by group already exists, disks will be added in the order they are specified by disk,... after the disk that was last concatenated in group. However, if the concatenation group specified by group is connected to a stripe group that is connected to a mirror group, disks cannot be added.
You cannot connect a single disk to a concatenation group.
In classes that include switch groups, concatenation groups cannot be created with this command. Additionally, to concatenation groups to which lower level switch groups are connected, disks cannot be added.
One of two disks connected to a switch group becomes the active disk and the other one becomes the inactive disk. Use the sdxattr -G command to switch the disks from active to inactive and vice versa. A switch group can connect a maximum of two disks. If only one disk is connected, the disk acts as the active disk and an active disk switch cannot be performed.
To create a switch group specified by group, specify the active disk in the -a actdisk option. The other disk not specified by the -a actdisk option becomes the inactive disk. When connecting disk to an existing switch group specified by group, the disk becomes the inactive disk.
Unlike mirror groups, even if a switch group specified by group already includes volumes, synchronization copying to the newly connected disk is not performed. To perform a disk switch for continuous services in the event of an error in the active disk, previously create copies of data from the active disk to the inactive disk with a disk unit's copy function and so on.
The available size of a switch group (capacity available for volumes) conforms to the available size of the smallest disk connected to the switch group. If the available size of group decreases as a result of disk connection, a warning message is sent to standard error output.
In classes that include any one of the following objects, switch groups cannot be created.
Disk other than an undefined disk
Mirror group
Stripe group
Concatenation group to which no lower switch group is connected
class must be a shared class of which scope includes 2 nodes. The physical scopes of the active disk and the inactive disk must also meet either the following conditions.
The active disk and the inactive disk are connected to both the nodes included in the scope of class and are not connected to nodes not included in that scope.
The active disk is connected to only one of the nodes included in the scope of class and the inactive disk is connected to the other node included in that scope.
Disconnect
Disconnects a disk (including a spare disk) specified by disk from a group specified by group.
The class indicates the class name with which the disk is registered, and the group indicates the group name to which disk is connected.
The disconnected disk will return to its original type attributes (keep disk, single disk or undefined disk).
If only disk is connected to group, group will automatically be removed upon disconnecting disk. However, when disk is the only object connected to group and group is connected to a higher level group, disconnection will result in an error. In such case, disconnect group from the higher level group using the sdxgroup -D command, and then disconnect disk.
You cannot disconnect disk if the disconnection will result in a change in the status of any of the existing volumes within group.
Conditions on when you cannot disconnect a disk from a mirror group, a stripe group, a concatenation group or a switch group are explained below.
For example, disk cannot be disconnected from a mirror group if one or more volumes exist within the mirror group specified by group and the disk specified by disk is the only object connected to group.
A disk cannot be disconnected from a stripe group with one or more existing volumes, or from a stripe group connected to a higher level group.
The only disk that can be disconnected from a concatenation group is the disk that was concatenated last.
Disks containing volume areas cannot be disconnected from a concatenation group.
If the concatenation group specified by group is connected to a stripe group that is connected to a mirror group, disks cannot be disconnected.
Inactive disks can be disconnected regardless whether or not volumes exist.
The active disk can be disconnected from a switch group if all the following conditions are satisfied.
The switch group is not connected to a higher level concatenation group.
The switch group includes no volume.
The inactive disk is not connected to the switch group.
If the switch group includes volumes, before disconnecting the active disk, remove those volumes. If the switch group includes the inactive disk, switch the active disk to it with the sdxattr -G command and then disconnect the former active disk.
Make
Registers one or more physical disks, specified by device, with class. The class gives the name of the destination class. Once physical disks have been registered, they can then be managed using GDS. A disk managed by GDS is called an SDX disk. Users will use the disk name specified by disk to perform operations on the disk.
If no class with the name specified by class already exists, then one is automatically created.
The "keep" type device may be registered with "root" type class. However, when registering multiple keep type devices together, you must register "undef" type devices of the same number or more at the same time.
Note
Since the sdxdisk command initializes the registered physical disks (except for "keep" type devices), when registering a physical disk containing data, you must first create data backup.
Remove
Removes a disk specified by disk from a class specified by class. The class indicates the class name with which the disk is registered.
Once the disk is removed, it can no longer be managed using GDS.
When the last disk is removed from a class, that class definition is automatically removed.
A disk cannot be removed when a volume exists within disk, or when disk is connected to a group.
If removal of disk will result in class closure, the disk cannot be removed. The class will be closed when it includes:
less than 3 disks in ENABLE status and no disk normally accessible
three to 5 disks in ENABLE status and less than 2 disks normally accessible
six or more disks in ENABLE status and less than 3 disks normally accessible
SUB OPTIONS
Sub options are as follows:
When using the -C option and defining a new group name with the -g option, a new group is automatically created. Using this option sets the attribute of the created group to value.
The attribute indicates the attribute name, and value indicates the attribute value. Always separate attribute and value with an equal (=) sign. When indicating multiple attributes, specifiers should be combined using commas(,) as the delimiter.
If no group is created, indicating a different attribute value from the existing group will result in an error. To change the attribute value of an existing group, use the sdxattr -G command.
You can indicate the following combination to attribute and value.
If multiple attributes are indicated and an error results because of any part of them, the entire process is canceled.
Sets the type attribute of group. If class is the root class, specifying "stripe" or "concat" will result in an error. When class is not a shared class of which scope includes 2 nodes, specifying "switch" will also result in an error.
Sets type attribute to "mirror".
Sets type attribute to "stripe".
Sets type attribute to "concatenation".
Sets type attribute to "switch".
Sets the stripe width of group. The blks indicates the stripe width in block number (base 10). One block is 512 bytes. For blks, you can indicate an integer (from 1 to 1,073,741,824) that is two raised to the power, which is equal to or smaller than the available size of the smallest disk specified by disk,... If group is not a stripe group, this option will result in an error.
Sets the active disk of group. Specify a disk name of the active disk into disk. When group is an existing group, not specifying the -a type=switch option, or specifying a disk other than that specified by-d option into disk, will result in an error.
When using the -M option and defining a new class name with the -c option, a class is automatically created. Using this option sets the created class attribute to value.
The attribute indicates the attribute name, and the value indicates the attribute value. Always separate attribute and value with an equal (=) sign. Specifiers should be combined using commas(,) as the delimiter.
If no class is created, this option is ignored. To change the attributes of an existing class, use the sdxattr -C command.
You can use the following attribute and value pairs in any combination.
If multiple attributes are specified and an error results because of any part of them, the entire process is canceled.
Sets the attributes of class type.
Sets the type attribute to "root".
Objects within "root" type class can only be used by the current node.
Unlike local type class, a system disk including root file system may be registered with "root" type class.
Only one root type class can be created within a system. When a root type class already exists, indicating a new "root" type class will result in an error.
For the scope attribute, the current node's node identifier will be automatically set.
Sets the type attribute to "local".
Objects within "local" type class can only be used by the current node.
For the scope attribute, the current node's node identifier will be automatically set.
Sets the type attribute to "shared."
By combining this with the scope attribute, the objects in the class can be shared among multiple nodes including the current node.
A shared type class can include physical disks connected to all the nodes that belong to the scope. When the scope includes 2 nodes, disks connected to only one node in the scope can be registered as undefined disks.
Sets the node that uses class objects.
This option can be omitted for the root class (when the -a type=root option is specified) or the local class (when the -a type=local option is specified, or the -a type option is omitted). If a node is specified other than self-node, an error occurs.
For a shared class (when the -a type=shared option is specified), specify a node group with 2 nodes or more and 16 nodes or less including self-node.
In node, indicates a node identifier that is defined by PRIMECLUSTER.
It sets the operation of the hot spare.
Enables the hot spare.
Disables the hot spare. If the operation mode is set to off, spare disk automatic connection is restrained.
Sets the spare disk selection mode for automatic connection by hot spare.
Sets the spare disk selection mode to the external mode.
If an I/O error occurs in a disk of a disk array unit, this method selects a spare disk that belongs to a different disk case from that of the failed disk. If an I/O error occurs in a disk irrelevant to a disk array unit (such as an internal disk), it selects a spare disk that is connected to a different controller from that of the failed disk. When no applicable unconnected spare disk is found there, a spare disk that belongs to the same disk case or is connected to the same controller as that of the disk with the I/O error, is selected.
Sets the spare disk selection mode to the internal mode.
If an I/O error occurs in a disk of a disk array unit, this method selects a spare disk that belongs to the same disk case as that of the failed disk. If an I/O error occurs in a disk irrelevant to a disk array unit (such as an internal disk), it selects a spare disk that is connected to the same controller as that of the failed disk. When no applicable unconnected spare disk is found there, spare disk automatic connection is restrained.
It sets the operation of the I/O Response Time Assurance.
Enables the I/O Response Time Assurance.
Disables the I/O Response Time Assurance.
Indicates the I/O response time (sec).
The value is set to 23 by default.
Values from 6 to 100 may be specified for time.
When using the ETERNUS disk, it is recommended to set a value 33 or more. If a value smaller than 33 is set, the I/O may terminate by I/O Response Time Assurance Function before the path switches when an error of a single path of the multi-path occurs.
Note
If the following conditions are satisfied, it is recommended to set the time to 36 seconds or more.
- Use Emulex FC card.
- Use ETERNUS Multipath Driver. Or, use MPxIO with the Solaris 10 environment.
If the time is set below 36 seconds with the above enviroment, the I/O may terminate by I/O Response Time Assurance Function when error occurs to only one of the FC paths.
It sets the system panic mode of I/O Response Time Assurance Function.
System panic mode is a mode that sets whether the system has panicked when an I/O error occurred in all of the slices that configures the volume and when the class is closed.
The value is set to on by default. Set the value to on for cluster system.
on
Enables the system panic mode.
off
Disables the system panic mode.
Note
Systems with both mirror volume and single volume
In the system with mirror volume, it is recommended to set the system panic mode to disable for all the class with single volume.
When the system panic mode is set to enable for a class with single volume, the redundancy by mirroring has no effect, because the system will panic with just an occurrence of I/O error or I/O delay in only one storage unit.
Note
Using mirroring function of ZFS
In the ZFS mirror mode configuration, set the following to panic the system when I/O error occurs on all of the volumes that configure ZFS storage pool and when the class is closed.
- Set the fail mode property of ZFS storage pool to panic.
- Set the system panic mode of I/O Response Time Assurance Function to off.
When the system panic mode is set to on in a ZFS mirror mode configuration, since the system panics if an I/O error occurs on even one of the volumes configuring the ZFS storage pool, the effect of the ZFS mirroring is lost.
The class indicates the class name to which the disk is registered or is to be registered, where the disk is the target of the operation.
The device indicates the name of the physical disk, the disk, the name of the disk, and type, the type attribute of the disk.
The device must always be followed by an equal sign (=), and if a type is given, it is delimited from disk by a colon (:).
To register multiple devices, combine multiple definitions with a comma (,) as the delimiter. device which can be specified is up to 400.
The physical disk name can be specified in either the following formats:
cCtTdD (for normal hard disks) cCdD (for virtual disks in Oracle VM environment) mphdI (for MPHD disks) mplbI (for MPLB disks) emcpowerN (for emcpower disks)
Where C is the controller number, T is the target ID, D is the disk number, I is the MPHD instance number or the MPLB instance number, and N is the emcpower device number.
emcpower device number is either a 1 or 2 digit number using numbers from 0 to 9, and does not specify small letters corresponding to slice number.
The type can be indicated as one of the following. If no type is indicated, the default value of undef (undefined disk) is used. If class is not the root class, specifying "keep" will result in an error. If device is not connected to part of nodes included in the scope of class, or if a switch group exists in class, specifying a type other than "undef" will also result in an error.
Keep disk. When it is registered with a class or connected to a group, the format and data of the disk will be retained.
Single disk. Single volumes can be created on it.
Spare disk.
Undefined disk.
When "spare" is specified for type, and the available size of device is smaller than the available size of the smallest mirror group in class, a warning message notifying that the hot spare function may not be available will be sent to standard error output.
When only one device is specified and "keep" is specified for type, the device must have an unused physical slice number and sufficient free space so that the private slice can be created. When multiple devices are specified, device of which type is specified as "keep" must have sufficient free space or a swap device with sufficient space.
The sdxdisk command on system disks indicated as "keep" by type will terminate normally, even if all or part of the physical slices are open.
However, if anything other than system disk is indicated as "keep", an open physical slice will result in an error.
For example, if a physical slice is used as a file system, you must first unmount the file system to regain the unused status of physical slice before executing the sdxdisk command.
When "single" is specified for type, device will be registered as a single disk. For a "single" disk, you can create single volumes on it using the sdxvolume command without connecting the disk to any group.
The disk indicates the disk name that is the target of the operation.
The disk indicates the disk name that is the target of the operation. To indicate multiple disks, separate each disk name with a comma (,) as the delimiter.
Registers device with class even if the private slice exists in the device, as far as disk identification information (class and disk names) stored in the private slice matches identification information of a disk already registered with the class. For example, if device contains a copy of the private slice of a disk that is already registered with class, to register the device to the class, turn on this option.
If class is not a shared class, this command results in an error.
When a disk is connected to a mirror group, data contained in the volume will be copied as needed.
This option delays the issuing of the input/output request to the disk at the time of copying by milliseconds specified by msec, allowing adjustment for the influence on the application accessing the volume.
The value is set to 0 by default.
Values from 0 to 1000 may be specified for msec.
If group is not a mirror group, this option is ignored.
The group indicates the group name to which the disk is connected, or is to be connected, where disk is the target of the operation.
When connecting a "keep" type disk, indicates the attribute value of the volume that is to be created.
If no "keep" type disk is specified, this option is ignored.
The num must always be followed by an equal sign (=), and volume and jrm must be delimited by a colon (:). To indicate multiple volume attributes, combine multiple definitions with a comma (,) as the delimiter.
The num indicates the physical slice number (integer between 0 and 7 inclusive, excluding 2) of the "keep" type disk where the volume data is stored, volume gives the name of the volume to be created, and jrm the just resynchronization mode setting of the created volume, which can be either on or off.
When there is more than one physical slice larger than 0 in the "keep" type disk, you must specify volume attributes corresponding to all physical slices.
RETURNED VALUE
Upon successful completion, a value of 0 is returned.
Otherwise, a non-zero value is returned.