Example cache configuration file for the TS7650G

An example configuration file for a TS7650G with a DS4000® disk storage array.

Note: This code is formatted to fit on the page, and is an example only. Consult with Solutions Assurance and your IBM® representative to develop a configuration file specific to your needs.
// Logical configuration information from Storage Subsystem DS_Cache_Subsystem.
// Saved on May 28, 2009
// Firmware package version for Storage Subsystem DS_Cache_Subsystem = 06.23.05.00
// NVSRAM package version for Storage Subsystem DS_Cache_Subsystem = A1814D470R923V08

//on error stop;

// Uncomment the two lines below to delete the existing configuration.
//show "Deleting the existing configuration.";
//set storagesubsystem resetConfiguration = true;



// Storage Subsystem global logical configuration script commands
show "Setting the Storage Subsystem user label to DS_Cache_Subsystem.";
set storagesubsystem userLabel="DS_Cache_Subsystem";

show "Setting the Storage Subsystem media scan rate to 30.";
set storagesubsystem mediaScanRate=30;

// Uncomment the three lines below to remove default logical drive, if exists, script command. 
//NOTE: Default logical drive name is always = "" (blank).
//on error continue;
//show "Deleting the default logical drive created during the removal of the existing configuration.";
//delete logicaldrive[""];
//on error stop;

// Copies the hot spare settings
// NOTE: These statements are wrapped in on-error continue and on-error stop statements to
// account for minor differences in capacity from the drive of the Storage Subsystem on which the
// configuration was saved to that of the drives on which the configuration will be copied.
//on error continue;
show "Creating hot spare at Enclosure 85 Slot 16.";
set drive[85,16] hotSpare=true;
show "Creating hot spare at Enclosure 1 Slot 16.";
set drive[1,16] hotSpare=true;
show "Creating hot spare at Enclosure 0 Slot 16.";
set drive[0,16] hotSpare=true;
show "Creating hot spare at Enclosure 2 Slot 16.";
set drive[2,16] hotSpare=true;
//on error stop;

show "Setting the Storage Subsystem cache block size to 16.";
set storagesubsystem cacheBlockSize=16;

show "Setting the Storage Subsystem to begin cache flush at 80% full.";
set storagesubsystem cacheFlushStart=80;

show "Setting the Storage Subsystem to end cache flush at 80% full.";
set storagesubsystem cacheFlushStop=80;

// Creating Host Topology

show "Creating RAID 1 Logical Drive accessA on new Array 1.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[85,1 85,2 85,3 85,4 85,5 85,6 85,7 85,8 85,9 85,10] raidLevel=1
			userLabel="accessA" 
owner=A segmentSize=32 capacity=1073741824 Bytes;
show "Setting additional attributes for Logical Drive accessA.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["accessA"] cacheFlushModifier=10;
set logicaldrive["accessA"] cacheWithoutBatteryEnabled=false;
set logicaldrive["accessA"] mirrorEnabled=true;
set logicaldrive["accessA"] readCacheEnabled=true;
set logicaldrive["accessA"] writeCacheEnabled=true;
set logicaldrive["accessA"] mediaScanEnabled=true;
set logicaldrive["accessA"] redundancyCheckEnabled=false;
set logicaldrive["accessA"] readAheadMultiplier=1;
set logicaldrive["accessA"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive accessA to LUN 0.";
set logicaldrive ["accessA"] logicalUnitNumber=0 hostGroup=defaultGroup;

show "Creating RAID 1 Logical Drive metadata0 on existing Array 1.";
// Create Logical Drive on the Array created by the create logical drive drives command.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive array[1] raidLevel=1 userLabel="metadata0" owner=A segmentSize=32
			capacity=2186136780800 Bytes;
show "Setting additional attributes for Logical Drive metadata0.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["metadata0"] cacheFlushModifier=10;
set logicaldrive["metadata0"] cacheWithoutBatteryEnabled=false;
set logicaldrive["metadata0"] mirrorEnabled=true;
set logicaldrive["metadata0"] readCacheEnabled=true;
set logicaldrive["metadata0"] writeCacheEnabled=true;
set logicaldrive["metadata0"] mediaScanEnabled=true;
set logicaldrive["metadata0"] redundancyCheckEnabled=false;
set logicaldrive["metadata0"] readAheadMultiplier=1;
set logicaldrive["metadata0"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive metadata0 to LUN 7.";
set logicaldrive ["metadata0"] logicalUnitNumber=7 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata0 on new Array 2.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[85,11 85,12 85,13 85,14 85,15] raidLevel=5 userLabel="userdata0"
			owner=A segmentSize=32;
show "Setting additional attributes for Logical Drive userdata0.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata0"] cacheFlushModifier=10;
set logicaldrive["userdata0"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata0"] mirrorEnabled=true;
set logicaldrive["userdata0"] readCacheEnabled=true;
set logicaldrive["userdata0"] writeCacheEnabled=true;
set logicaldrive["userdata0"] mediaScanEnabled=true;
set logicaldrive["userdata0"] redundancyCheckEnabled=false;
set logicaldrive["userdata0"] readAheadMultiplier=1;
set logicaldrive["userdata0"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata0 to LUN 8.";
set logicaldrive ["userdata0"] logicalUnitNumber=8 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata1 on new Array 3.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[0,1 0,2 0,3 0,4 0,5] raidLevel=5 userLabel="userdata1"
			owner=B segmentSize=32;
show "Setting additional attributes for Logical Drive userdata1.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata1"] cacheFlushModifier=10;
set logicaldrive["userdata1"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata1"] mirrorEnabled=true;
set logicaldrive["userdata1"] readCacheEnabled=true;
set logicaldrive["userdata1"] writeCacheEnabled=true;
set logicaldrive["userdata1"] mediaScanEnabled=true;
set logicaldrive["userdata1"] redundancyCheckEnabled=false;
set logicaldrive["userdata1"] readAheadMultiplier=1;
set logicaldrive["userdata1"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata1 to LUN 9.";
set logicaldrive ["userdata1"] logicalUnitNumber=9 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata2 on new Array 4.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[0,6 0,7 0,8 0,9 0,10] raidLevel=5 userLabel="userdata2"
			owner=A segmentSize=32;
show "Setting additional attributes for Logical Drive userdata2.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata2"] cacheFlushModifier=10;
set logicaldrive["userdata2"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata2"] mirrorEnabled=true;
set logicaldrive["userdata2"] readCacheEnabled=true;
set logicaldrive["userdata2"] writeCacheEnabled=true;
set logicaldrive["userdata2"] mediaScanEnabled=true;
set logicaldrive["userdata2"] redundancyCheckEnabled=false;
set logicaldrive["userdata2"] readAheadMultiplier=1;
set logicaldrive["userdata2"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata2 to LUN 10.";
set logicaldrive ["userdata2"] logicalUnitNumber=10 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata3 on new Array 5.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[0,11 0,12 0,13 0,14 0,15] raidLevel=5 userLabel="userdata3"
			owner=B segmentSize=32;
show "Setting additional attributes for Logical Drive userdata3.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata3"] cacheFlushModifier=10;
set logicaldrive["userdata3"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata3"] mirrorEnabled=true;
set logicaldrive["userdata3"] readCacheEnabled=true;
set logicaldrive["userdata3"] writeCacheEnabled=true;
set logicaldrive["userdata3"] mediaScanEnabled=true;
set logicaldrive["userdata3"] redundancyCheckEnabled=false;
set logicaldrive["userdata3"] readAheadMultiplier=1;
set logicaldrive["userdata3"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata3 to LUN 11.";
set logicaldrive ["userdata3"] logicalUnitNumber=11 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata4 on new Array 6.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[1,1 1,2 1,3 1,4 1,5] raidLevel=5 userLabel="userdata4"
			owner=A segmentSize=32;
show "Setting additional attributes for Logical Drive userdata4.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata4"] cacheFlushModifier=10;
set logicaldrive["userdata4"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata4"] mirrorEnabled=true;
set logicaldrive["userdata4"] readCacheEnabled=true;
set logicaldrive["userdata4"] writeCacheEnabled=true;
set logicaldrive["userdata4"] mediaScanEnabled=true;
set logicaldrive["userdata4"] redundancyCheckEnabled=false;
set logicaldrive["userdata4"] readAheadMultiplier=1;
set logicaldrive["userdata4"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata4 to LUN 12.";
set logicaldrive ["userdata4"] logicalUnitNumber=12 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata5 on new Array 7.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[1,6 1,7 1,8 1,9 1,10] raidLevel=5 userLabel="userdata5"
			owner=B segmentSize=32;
show "Setting additional attributes for Logical Drive userdata5.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata5"] cacheFlushModifier=10;
set logicaldrive["userdata5"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata5"] mirrorEnabled=true;
set logicaldrive["userdata5"] readCacheEnabled=true;
set logicaldrive["userdata5"] writeCacheEnabled=true;
set logicaldrive["userdata5"] mediaScanEnabled=true;
set logicaldrive["userdata5"] redundancyCheckEnabled=false;
set logicaldrive["userdata5"] readAheadMultiplier=1;
set logicaldrive["userdata5"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata5 to LUN 13.";
set logicaldrive ["userdata5"] logicalUnitNumber=13 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata6 on new Array 8.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[1,11 1,12 1,13 1,14 1,15] raidLevel=5 userLabel="userdata6"
			owner=A segmentSize=32;
show "Setting additional attributes for Logical Drive userdata6.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata6"] cacheFlushModifier=10;
set logicaldrive["userdata6"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata6"] mirrorEnabled=true;
set logicaldrive["userdata6"] readCacheEnabled=true;
set logicaldrive["userdata6"] writeCacheEnabled=true;
set logicaldrive["userdata6"] mediaScanEnabled=true;
set logicaldrive["userdata6"] redundancyCheckEnabled=false;
set logicaldrive["userdata6"] readAheadMultiplier=1;
set logicaldrive["userdata6"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata6 to LUN 14.";
set logicaldrive ["userdata6"] logicalUnitNumber=14 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata7 on new Array 9.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[2,1 2,2 2,3 2,4 2,5] raidLevel=5 userLabel="userdata7"
			owner=B segmentSize=32;
show "Setting additional attributes for Logical Drive userdata7.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata7"] cacheFlushModifier=10;
set logicaldrive["userdata7"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata7"] mirrorEnabled=true;
set logicaldrive["userdata7"] readCacheEnabled=true;
set logicaldrive["userdata7"] writeCacheEnabled=true;
set logicaldrive["userdata7"] mediaScanEnabled=true;
set logicaldrive["userdata7"] redundancyCheckEnabled=false;
set logicaldrive["userdata7"] readAheadMultiplier=1;
set logicaldrive["userdata7"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata7 to LUN 15.";
set logicaldrive ["userdata7"] logicalUnitNumber=15 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata8 on new Array 10.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[2,6 2,7 2,8 2,9 2,10] raidLevel=5 userLabel="userdata8"
			owner=A segmentSize=32;
show "Setting additional attributes for Logical Drive userdata8.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata8"] cacheFlushModifier=10;
set logicaldrive["userdata8"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata8"] mirrorEnabled=true;
set logicaldrive["userdata8"] readCacheEnabled=true;
set logicaldrive["userdata8"] writeCacheEnabled=true;
set logicaldrive["userdata8"] mediaScanEnabled=true;
set logicaldrive["userdata8"] redundancyCheckEnabled=false;
set logicaldrive["userdata8"] readAheadMultiplier=1;
set logicaldrive["userdata8"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata8 to LUN 16.";
set logicaldrive ["userdata8"] logicalUnitNumber=16 hostGroup=defaultGroup;

show "Creating RAID 5 Logical Drive userdata9 on new Array 11.";
// This command creates the Array and the initial Logical Drive on that array.
// NOTE: For Arrays that use all available capacity, the last Logical Drive on this array is
// created using all remaining capacity by omitting the capacity= logical drive creation parameter.
create logicaldrive drives[2,11 2,12 2,13 2,14 2,15] raidLevel=5 userLabel="userdata9"
			owner=B segmentSize=32;
show "Setting additional attributes for Logical Drive userdata9.";
// Configuration settings that can not be set during Logical Drive creation.
set logicaldrive["userdata9"] cacheFlushModifier=10;
set logicaldrive["userdata9"] cacheWithoutBatteryEnabled=false;
set logicaldrive["userdata9"] mirrorEnabled=true;
set logicaldrive["userdata9"] readCacheEnabled=true;
set logicaldrive["userdata9"] writeCacheEnabled=true;
set logicaldrive["userdata9"] mediaScanEnabled=true;
set logicaldrive["userdata9"] redundancyCheckEnabled=false;
set logicaldrive["userdata9"] readAheadMultiplier=1;
set logicaldrive["userdata9"] modificationPriority=high;
show "Creating Logical Drive-to-LUN Mapping for Logical Drive userdata9 to LUN 17.";
set logicaldrive ["userdata9"] logicalUnitNumber=17 hostGroup=defaultGroup;