Activate synchronous mirroring

The activate storageArray feature command activates the Synchronous Mirroring feature and creates the mirror repository volume.

Supported Arrays

This command applies to any individual storage array, including the E2700, E5600, E2800, and E5700 arrays, as long as all SMcli packages are installed.

Roles

To execute this command on an E2800 or E5700 storage array, you must have the Storage Admin role.

Context

When you use this command, you can define the mirror repository volume in one of three ways:
  • User-defined drives
  • User-defined volume group
  • User-defined number of drives

If you choose to define a number of drives, the controller firmware chooses which drives to use for the mirror repository volume.

Note: In previous versions of this command, the feature identifier was remoteMirror. This feature identifier is no longer valid and is replaced by syncMirror.

Syntax (user-defined drives)

activate storageArray feature=syncMirror 
repositoryRAIDLevel=(0 |1 | 3 | 5 | 6) 
repositoryDrives=(trayID1,[drawerID1,]slotID1 ... trayIDn,[drawerIDn,]slotIDn
[driveType=(fibre | SATA | SAS | NVMe4K)]
) 
[repositoryVolumeGroupUserLabel="volumeGroupName"] 
[trayLossProtect=(TRUE | FALSE)] 
[drawerLossProtect=(TRUE | FALSE)] 
[dataAssurance=(none | enabled)]
activate storageArray feature=syncMirror 
repositoryRAIDLevel=(0 |1 | 5 | 6) 
repositoryDrives=(trayID1,[drawerID1,]slotID1 ... trayIDn,[drawerIDn,]slotIDn)  
[repositoryVolumeGroupUserLabel="volumeGroupName"] 
[trayLossProtect=(TRUE | FALSE)] 
[drawerLossProtect=(TRUE | FALSE)] 
[dataAssurance=(none | enabled)]

Syntax (user-defined volume group)

activate storageArray feature=syncMirror 
repositoryVolumeGroup=volumeGroupName 
[freeCapacityArea=freeCapacityIndexNumber]

Syntax (user-defined number of drives)

activate storageArray feature=syncMirror 
repositoryRAIDLevel=(1 | 3 | 5 | 6) 
repositoryDriveCount=numberOfDrives 
[repositoryVolumeGroupUserLabel="volumeGroupName"] 
[trayLossProtect=(TRUE | FALSE)] 
[drawerLossProtect=(TRUE | FALSE)] 
[dataAssurance=(none | enabled)]
activate storageArray feature=syncMirror 
repositoryRAIDLevel=(1 | 5 | 6) 
repositoryDriveCount=numberOfDrives 
[repositoryVolumeGroupUserLabel="volumeGroupName"] 
[trayLossProtect=(TRUE | FALSE)] 
[drawerLossProtect=(TRUE | FALSE)] 
[dataAssurance=(none | enabled)]

Parameters

Parameter Description
repositoryRAIDLevel The RAID level for the mirror repository volume. Valid values are 0, 1, 3, 5, or 6.
repositoryDrives The drives for the mirror repository volume.

For high-capacity drive trays, specify the tray ID value, the drawer ID value, and the slot ID value for the drive. For low-capacity drive trays, specify the tray ID value and the slot ID value for the drive. Tray ID values are 0 to 99. Drawer ID values are 1 to 5.

All slot ID maximums are 24. Slot ID values either begin at 0 or 1, depending on the tray model. Drive trays compatible with E2800 and E5700 controllers have slot ID numbers starting at 0. Drive trays compatible with E2700 and E5600 controllers have slot ID numbers starting at 1.

Enclose the tray ID value, the drawer ID value, and the slot ID value in square brackets ([ ]).

repositoryVolumeGroupUserLabel The name that you want to give the new volume group in which the mirror repository volume will be located. Enclose the volume group name in double quotation marks (" ").
repositoryVolumeGroup The name of the mirror repository volume group where the mirror repository volume is located. (To determine the names of the volume groups in your storage array, run the show storageArray profile command.)
freeCapacityArea

The index number of the free space in an existing volume group that you want to use to create the mirror repository volume. Free capacity is defined as the free capacity between existing volumes in a volume group. For example, a volume group might have the following areas: volume 1, free capacity, volume 2, free capacity, volume 3, free capacity. To use the free capacity following volume 2, you would specify:

freeCapacityArea=2

Run the show volumeGroup command to determine if a free capacity area exists.

repositoryDriveCount The number of unassigned drives that you want to use for the mirror repository volume.
driveType

The type of drive for which you want to retrieve information. You cannot mix drive types.

Valid drive types are:

  • fibre
  • SATA
  • SAS
  • NVMe4K

If you do not specify a drive type, the command defaults to all type.

trayLossProtect The setting to enforce tray loss protection when you create the mirror repository volume. To enforce tray loss protection, set this parameter to TRUE. The default value is FALSE.
drawerLossProtect The setting to enforce drawer loss protection when you create the mirror repository volume. To enforce drawer loss protection, set this parameter to TRUE. The default value is FALSE.

Notes

The repositoryDrives parameter supports both high-capacity drive trays and low-capacity drive trays. A high-capacity drive tray has drawers that hold the drives. The drawers slide out of the drive tray to provide access to the drives. A low-capacity drive tray does not have drawers. For a high-capacity drive tray, you must specify the identifier (ID) of the drive tray, the ID of the drawer, and the ID of the slot in which a drive resides. For a low-capacity drive tray, you need only specify the ID of the drive tray and the ID of the slot in which a drive resides. For a low-capacity drive tray, an alternative method for identifying a location for a drive is to specify the ID of the drive tray, set the ID of the drawer to 0, and specify the ID of the slot in which a drive resides.

If the drives that you select for the repositoryDrives parameter are not compatible with other parameters (such as the repositoryRAIDLevel parameter), the script command returns an error, and Synchronous Mirroring is not activated. The error returns the amount of space that is needed for the mirror repository volume. You can then re-enter the command, and specify the appropriate amount of space.

If you enter a value for the repository storage space that is too small for the mirror repository volumes, the controller firmware returns an error message that provides the amount of space that is needed for the mirror repository volumes. The command does not try to activate Synchronous Mirroring. You can re-enter the command by using the value from the error message for the repository storage space value.

When you assign the drives, if you set the trayLossProtect parameter to TRUE and have selected more than one drive from any one tray, the storage array returns an error. If you set the trayLossProtect parameter to FALSE, the storage array performs operations, but the volume group that you create might not have tray loss protection.

When the controller firmware assigns the drives, if you set the trayLossProtect parameter to TRUE, the storage array returns an error if the controller firmware cannot provide drives that result in the new volume group having tray loss protection. If you set the trayLossProtect parameter to FALSE, the storage array performs the operation even if it means that the volume group might not have tray loss protection.

The drawerLossProtect parameter determines whether data on a volume is accessible if a drawer fails. When you assign the drives, if you set the drawerLossProtect parameter to TRUE and select more than one drive from any one drawer, the storage array returns an error. If you set the drawerLossProtect parameter to FALSE, the storage array performs operations, but the volume group that you create might not have drawer loss protection.

Data assurance management

The Data Assurance (DA) feature increases data integrity across the entire storage system. DA enables the storage array to check for errors that might occur when data is moved between the hosts and the drives. When this feature is enabled, the storage array appends error-checking codes (also known as cyclic redundancy checks or CRCs) to each block of data in the volume. After a data block is moved, the storage array uses these CRC codes to determine if any errors occurred during transmission. Potentially corrupted data is neither written to disk nor returned to the host.

If you want to use the DA feature, start with a pool or volume group that includes only drives that support DA. Then, create DA-capable volumes. Finally, map these DA-capable volumes to the host using an I/O interface that is capable of DA. I/O interfaces that are capable of DA include Fibre Channel, SAS, and iSER over InfiniBand (iSCSI Extensions for RDMA/IB). DA is not supported by iSCSI over Ethernet, or by the SRP over InfiniBand.

Note: When all the drives are DA-capable, you can set the dataAssurance parameter to enabled and then use DA with certain operations. For example, you can create a volume group that includes DA-capable drives, and then create a volume within that volume group that is DA-enabled. Other operations that use a DA-enabled volume have options to support the DA feature.

If the dataAssurance parameter is set to enabled, only data assurance capable drives will be considered for volume candidates; otherwise, both data assurance capable and non-data assurance capable drives will be considered. If only data assurance drives are available the new volume group will be created using the enabled data assurance drives.

Minimum firmware level

7.10 adds RAID Level 6 capability.

7.60 adds the drawerIDuser input, the driveMediaType parameter, and the drawerLossProtect parameter.

7.75 adds the dataAssurance parameter.

8.10 removes the driveMediaType parameter.

8.60 adds the driveType parameter.