Lists the mapping between device entries and did driver instance numbers

The startup script /etc/init.d/bootcluster uses the scdidadm utility to initialize the did driver. You
can also use scdidadm to update or query the current device mapping between
the devices present and the corresponding device identifiers and did driver instance numbers.

Options

The following options are supported:

-b

Returns a replicated DID instance to its prior state of being two separate DID instances. Use this option to correct a configuration mistake or to prepare for a configuration change that affects the original DID instances.

You can only use this option from a node that is booted in cluster mode. You can use this option only in the global zone.

Before you use the -b option, remove the replicated device from all device groups that use it. Then specify this option from one of the nodes whose DID instance was absorbed into the combined DID instance.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-C

Removes all DID references to underlying devices that have been detached from the current node.

You can only use this option from a node that is booted in cluster mode. You can use this option only in the global zone.

Specify this option after the Solaris device commands have been used to remove references to nonexistent devices on the cluster nodes.

The -F option does not affect the fencing protocol of a configured quorum device.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-c

Performs a consistency check against the kernel representation of the devices and the physical devices.

You can use this option only in the global zone.

On failing a consistency check, an error message is displayed. The process continues until all devices have been checked.

You need solaris.cluster.device.read RBAC authorization to use this command option. See rbac(5).

-etype

Specifies the replication type.When specifying the SRDF replication type, this option can only be used with the -t option.

The default fencing algorithm for a device can be set to one of the following values:

pathcount

Determines the fencing protocol by the number of DID paths that are attached to the shared device.

For a device that uses fewer than three DID paths, the command sets the SCSI-2 protocol.

For a device that uses three or more DID paths, the command sets the SCSI-3 protocol.

scsi3

Sets the SCSI-3 protocol. If the device does not support the SCSI-3 protocol, the fencing protocol setting remains unchanged.

useglobal

Sets the global default fencing setting for the specified devices.

By default, the global default fencing algorithm is set to pathcount. See the description of the -G option for information about setting the global default for fencing.

You can specify the device to modify by its instance number. The command accepts a space-delimited list of multiple devices. See the description of the -o option for more information about the instance form of device names.

The -F option does not affect the fencing protocol of a configured quorum device.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-G

Sets or displays the current global default fencing algorithm for all shared devices.

When specified with a setting value, the -G option sets the global default fencing to that value for all devices. The global default fencing can be set to one of the following values:

prefer3

Sets the SCSI-3 protocol for device fencing for all devices. The pathcount setting is assigned to any devices that do not support the SCSI-3 protocol.

pathcount

Determines the fencing protocol by the number of DID paths that are attached to the shared device.

For devices that use fewer than three DID paths, the command sets the SCSI-2 protocol.

For devices that use three or more DID paths, the command sets the SCSI-3 protocol.

By default, the global default fencing algorithm is set to pathcount.

The -G option does not affect the fencing protocol of a configured quorum device.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-g

Specifies the replication device group.

-h

Prints a header when listing device mappings.

This option is meaningful only when used with the -l and -L options.

-i

Initializes the did driver.

You can use this option only in the global zone.

Use this option if you want to enable I/O requests to the did driver.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-L

Lists all the paths, including those on remote hosts, of the devices in the DID configuration file.

You can use this option only in the global zone.

The output of this command can be customized using the -o option. When no -o options are specified, the default listing displays the instance number, all local and remote fullpath strings, and the fullname.

You need solaris.cluster.device.read RBAC authorization to use this command option. See rbac(5).

-l

Lists the local devices in the DID configuration.

You can use this option only in the global zone.

The output of this command can be customized using the -o option. When no -o options are specified, the default listing displays the instance number, the local fullpath, and the fullname.

You need solaris.cluster.device.read RBAC authorization to use this command option. See rbac(5).

-ofmt

Lists the devices currently known to the did driver according to the format specification fmt.

Multiple -o options can be specified. The fmt specification is interpreted as a comma-separated list of format option arguments. This option is meaningful only when used with the -l and -L options. The available format option arguments are the following:

instance

Prints the instance number of the device known by the did driver, for example, 1.

path

Prints the physical path name of the device associated with this device identifier, for example, /dev/rdsk/c0t3d0.

fullpath

Prints the full physical path name of the device that is associated with this device identifier. This path name includes the host, for example, phys-hostA:/dev/rdsk/c0t3d0.

host

With the -L option, prints the names of all hosts that have connectivity to the specified device, one per line. With the -l option, prints the name of the local host that has connectivity to the specified device.

name

Prints the DID name of the device associated with this device identifier, for example, d1.

fullname

Prints the full DID path name of the device associated with this device identifier, for example, /dev/did/rdsk/d1.

diskid

Prints the hexadecimal representation of the device identifier associated with the instance of the device being listed.

asciidiskid

Prints the ASCII representation of the device identifier associated with the instance of the device being listed.

defaultfencing

Prints the default fencing algorithm set to the device.

-R {path | instance | all}

Performs a repair procedure on a particular device instance.

You can use this option only in the global zone.

The argument to this command can be either a particular physical device path that has been replaced with a new device, or the instance of the device that was just replaced. When used with the all keyword, the scdidadm utility updates the configuration data of all devices connected to the node.

You can only use this option from a node that is booted in cluster mode.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-r

Reconfigures the database.

You can use this option only in the global zone.

When you specify this option, a thorough search of the rdsk and rmt device trees is conducted. A new instance number is assigned for all device identifiers that were not recognized before. A new path is added for each newly recognized device.

You can only use this option from a node that is booted in cluster mode.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-Tremote-nodename

Configures DID devices for use with the storage-based replication type you specify with the -ereplication—type argument.

You can use this option only in the global zone.

Run this option from only one of the nodes configured with replicated devices. Use the remote-nodename option argument to specify the name of the remote node.

DID instances on the local node will be combined with the corresponding DID instance on the remote node, merging each pair of replicated devices into a single, logical DID device.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-tsource-instance:destination-instance

Moves the DID instance from the original source to a new destination instance that you specify with the destination-instance option argument.

You can use this option only in the global zone.

Use this option to move a DID instance back to its original location if the instance local was accidentally changed. After you run the command on all cluster nodes that are connected to the shared storage, run the devfsadm and scgdevs commands from one node to update the global-devices namespace with the configuration change.

If the destination-instance does not exist within the cluster, the DID device paths corresponding to the value of the source-instance argument are removed and recreated with the destination-instance you specify.

If the destination-instance already exists within the cluster, the path or paths for the source-instance are combined with the path or paths for the destination-instance, resulting in a single DID destination instance that contains all the paths for both instances.

Include the -e option to specify the replication type. If you are using an SRDF replication device, you must use the -g option to specify the replication device group.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-u

Loads the device identifier configuration table into the kernel.

You can use this option only in the global zone.

This option loads all the currently known configuration information about device paths and their corresponding instance numbers into the kernel.

You need solaris.cluster.device.modify RBAC authorization to use this command option. See rbac(5).

-v

Prints the version number of this program.

You can use this option only in the global zone.

Examples

Example 1 Adding Devices Attached to the Local Host to the CCR

# scdidadm -r

Example 2 Listing the Physical Path of the Device

The following example lists the physical path of the device that corresponds to
instance 2 of the did driver:

% scdidadm -l -o path 2
/dev/dsk/c1t4d0

Example 3 Specifying Multiple Format Options

You can specify multiple format option arguments in either of the following ways:

% scdidadm –l –o path –o name 2

% scdidadm -l -o path,name 2

In either example, the output might look like this:

/dev/dsk/c1t4d0 d1

Example 4 Configuring DID Devices for Use With EMC SRDF Storage-Based Replication

The following example configures a local DID device and a remote DID device
for use with EMC SRDF storage-based replication. The command is run from a
local source node that is configured with replicated devices. DID instances on the
source node are combined with the corresponding DID instance on the remote destination
node, phys-schost-1 .

# scdidadm -t 15:10 -e srdf -g devgroup1

Example 5 Unconfiguring a Replicated DID Device

The following example returns the replicated DID device d25 to its original DID
device components. This DID device was created by combining path d15 on phys-schost-1
with path d25 on phys-schost-2. Because path d15 was merged into path d25
when the two paths were combined, you must run the command from phys-schost-1
to ensure that path d15 is restored.

phys-schost-1# scdidadm -b d25

Example 6 Moving a DID Instance

The following example moves the DID instance on the source instance, 15,
to a new DID instance, 10, then updates the configuration change in
the global-devices namespace.

# scdidadm -t 15:10
# devfsadm
# scgdevs

Example 7 Performing a Repair Procedure

The following example performs the repair procedure for a particular device path. The
device /dev/dsk/c1t4d0 has been replaced with a new device with which a new
device identifier is associated. The database is updated to show that this new
device identifier corresponds to the instance number that was previously associated with the
old device identifier:

# scdidadm -R c1t4d0

Example 8 Performing a Repair Procedure

An alternative method of performing a repair procedure is to use the instance
number associated with the device path. For example, if the instance number for
the device c1t4d0 in the previous example is 2, then the following
syntax performs the same operation as the previous example:

# scdidadm -R 2

Example 9 Globally Setting the SCSI Protocol

The following example sets all SCSI devices in the cluster to the
SCSI-3 protocol, except configured quorum devices and devices that do not support the SCSI-3
protocol. Any devices that do not support the SCSI-3 protocol are instead set
to pathcount.

# scdidadm -G prefer3

Example 10 Displaying the SCSI Protocol of a Single Device

The following example displays the SCSI protocol setting for the device /dev/rdsk/c0t3d0.

# scdidadm -L -o defaultfencing /dev/rdsk/c0t3d0

Example 11 Setting the SCSI Protocol of a Single Device

The following example sets the device 11, specified by instance number, to the
SCSI-3 protocol. This device is not a configured quorum device and supports the
SCSI-3 protocol.