The RAID Simulator

There are two main components to the RAID Simulator. The first is the RAID Simulator server. This piece simulates multiple arrays for the HiCommand Device Manager Server. The second piece is the RAID Simulator Config program. This piece lets you change the data that the RAID Simulator provides.

Simulator Usage (General purpose)

There area two pieces to utilize the HDvM simulator, (1) the Device Manager database “HiCommandSim.gdb” which contains discovered storage systems, hosts and logical groups of storage, and (2) the simulator itself. The simulator acts much like an actual storage subsystem would and allows you to utilize Device Manager for such things as learning Device Manager operations offline from an actual storage system, trying “what ifs” with a copy of your customers Device Manager database, etc.

If you have a copy of your customers HiCommand.gdb file you can then copy it into the Device Managers database directory with the filename of HiCommandSim.gdb and Device Manager will now look exactly like your customers Device Manager installation including all Logical groups and Host entries. In addition, you can import your customers HiCommand.gdb storage subsystems into the simulator and appear that you are working against the actual subsystem from within Device Manager.

If this is something you are interested in read on…

Note:In simulation mode HDvM V3 maintains a HiCommand Suite Common Repository database as well as the HiCommandSim.gdb management database so that whenever you swap out the HiCommandSim.gdb database you must re-sync these databases.

To do this edit <HICOMMAND_DIR>/HiCommandServer/config/server.properties file and set server.base.initialsynchro=TRUE

Now restart your HiCommand Server to re-sync the databases.

1)Installing the RAID Simulator

Important: It is assumed that the HiCommand™ Device Manager Server is already installed.

Note: The V3 simulator is available at (internal use only, for password contact

Note: This document makes reference to <HICOMMAND_DIR> (the HiCommand™ Device Manager installation directory). By default, the location of this directory will be:

Windows®: c:\program files\hicommand

Solaris™: /opt/HiCommand

If your copy of HiCommand™ Device Manager is located elsewhere, please adjust accordingly.

To install the RAID Simulator:

  1. Extract the Simulator.zip file to the <HICOMMAND_DIR> directory.
  2. To test the simulator, see section 11.

2)Setting up the RAID Simulator

Before the simulator can be used, you must do the following:

  • copy the HiCommandSim.gdb file:
  1. Open a command-line or console window.
  2. Copy the HiCommandSim.gdb file from <HICOMMAND_DIR>/Simulator/database/interbase/ to<HICOMMAND_DIR>/HiCommandServer/database/interbase/.
  • check the database.properties file:
  1. Open <HICOMMAND_DIR>/HiCommandServer/config/database.properties file using a text editor.
  2. Find the connection string (url) for the Simulator. It should be at the bottom of the file and look something like this: dbm.simulation.url=jdbc:interbase://localhost/<HICOMMAND_DIR>/database/interbase/HiCommandSim.gdb.
  3. Verify that this is where the HiCommandSim.gdb file is located.
  • modify the server.properties file:
  1. Open <HICOMMAND_DIR>/HiCommandServer/config/server.properties file using a text editor.
  2. Set simulation as the value of the server.http.mode property. In the last line reading server.http.mode=real, change real to simulation.
  3. Save the server.properties file.

3)Using the RAID Simulator

  1. Start the RAID Simulator (refer to section 4).
  2. Start the HiCommand™ Device Manager Server (if it is already running, restart it).

Launch the HiCommand™ Device Manager Web Client. For details on launching HiCommand Web Client, please refer to Chapter 4 of the HiCommand™ Device Manager Web Client User’s Guide (MK-91HC001).

Note: the Simulator provides an empty database, with an identical structure to the HiCommand Device Manager database. This allows you to add and delete simulated arrays without affecting the real arrays in the original database.

Since you have an empty database, you need to discover your storage arrays. Using the information from the simulator on array type, IP address, and so on, you can discover the simulated arrays and populate the HiCommand Device Manager simulated database.

4)Starting the RAID Simulator

To start the RAID Simulator:

  1. Open a console or command-line and change to the <HICOMMAND_DIR>/Simulator directory.
  2. Start the RAID Simulator:

For Windows®: Execute runSimServer.bat.

For Solaris™: Run ./runSimServer.sh.

In this example, the RAID Simulator echoes its registered storage types:

Hitachi Data Systems 9910

Hitachi Data Systems 9960

Hitachi Data Systems 9200

Hitachi Data Systems 9570V

Hitachi Data Systems 9580V

Hitachi Data Systems 9970V

Hitachi Data Systems 9980V

Sun StoreEdge® T3

In this example, the RAID Simulator echoes the Stored Arrays found in its configuration database and the IP address of each one:

HDS9200.0001 at 172.16.50.1, 172.16.50.2

HDS9960.0001 at 172.16.40.1

HDS9980V.0001 at 172.16.45.1

SUNT300.3000 at 172.16.3.1

SUNT3B.3001 at 172.16.3.2

In this example, the RAID Simulator echoes that it has completed initialization on its listening port number:

Start HiCommand™ Device Manager RAID Simulator on port 1099

The RAID Simulator provides access to simulated storage arrays, addressable by the IP addresses listed. These IP addresses can be modified with the configuration tool.

5)Configuring the RAID Simulator

The configuration tool can be used to modify the properties of the RAID Simulator. This tool is a Java™ application that utilizes graphics, therefore it must be run from a machine containing a graphics card. However, if the RAID Simulator is running on a machine without graphics support, the configuration tool can be run on a different machine that does have graphics capabilities. In either case, the RAID Simulator must be running, however, HiCommand Device Manager does not have to be.

To launch the configuration tool:

  1. Open a command-line or console window.
  2. Change directory to the <HICOMMAND_DIR>/Simulator.
  3. Start the configuration tool:

For Windows®: Execute RAIDSimConfig.bat.

For Solaris™: Run ./RAIDSimConfig.sh.

The RAID Simulator configuration tool displays a Connect Dialog box as shown in Figure 1.

Figure 1Simulator Configuration Tool Connect Dialog

  1. Change the host or port value if different from the provided default. Typically, the default values need not be modified unless you are configuring a RAID Simulator running on another host, or if you have elected to modify the port on which the RAID Simulator is running.
  2. Click OK. The configuration tool connects to the RAID Simulator. The RAID Data Selection Dialog appears as shown in Figure 2.

Figure 2RAID Data Selection Dialog

  1. Select a simulated Storage Array then click the OK button. This opens the main window of the configuration tool as shown in Figure 3.

The configuration tool presents a tree-based view of the information describing the database comprising the selected simulated RAID configuration. On the left is the root (StorageArray.Model) and associated branch information (Logical Units through PortController) with a special branch titled “SimulatorInfo” at the end.

Figure 3Configuration Tool Main Window

To modify the property of any branch:

  1. Click on the tree to drill down to your target.
  2. Select the root (in this case “StorageArray.Model”) and its properties appear on the right-hand side of the window, as shown in Figure 4.

Figure 4Expanded Configuration Tool Main Window

For example, to modify the IP Address of this simulated RAID:

  1. Double-click on the existing value in the field on the right-hand side of the tree-view.
  2. Type the new value.
  3. Press Enter or Tab.
  4. Save the change.

Figure 5 shows that the CodeVersionDKC of 0559 has been changed to 0600.

Note: You can only change values that have an Access (truncated to Acc... in the table below) value of Read/Write.

Figure 5Configuration Tool Main Window Showing Changed CodeVersionDKC

After saving the modification (using File->Save), the RAID Simulator makes simulated storage available on the new IP address.

6)Adding New Elements

To add new elements, you select the branch item (e.g., LogicalUnit) and the Config->Add Element menu item. A dialog box will appear with entry fields for the information that is necessary to uniquely identify the new element (see Figure 6). Different dialogs will appear for each element. Once you enter the information and click OK, the element will be created and brought up in the editing panel (see Figure 7).

Note:You must use the File->Save menu item to save the changes.

Figure 6The Add Element Dialog for LogicalUnit

Figure 7After Add Element Dialog

7)Deleting Elements

To delete an element, select it and use the Config->Delete Elements menu item. You will see a confirmation dialog (see Figure 8). Click OK to remove the object.

Figure 8Delete Confirmation Dialog

Note: You must use the File->Save menu item to save the changes.

8)Creating a New Storage Array

The RAID Simulator can create an entirely new RAID storage device by using the New feature of the configuration tool. This allows developers the ability to create a custom array for testing.

To create a new array:

  1. Launch the configuration tool (refer to section 5 above).
  2. From the File menu, select the New menu item.

The RAID Type Selection dialog appears as shown in Figure 9. The user is given the option of designating the new RAID type.

Figure 9RAID Type Selection Dialog

  1. Select the array type and click the OK button. The tool creates a default array. You can then modify individual elements.
  2. When you have created the array configuration you like, use the Save option to save the array to the database. If not saved, the array configuration will disappear when you use the Open, New, Import, or Exit options.

9)Importing a Configuration from an Existing Storage Array

It can be very convenient to use a known array configuration with the simulator. The RAID Simulator can be populated with the configuration of an existing RAID storage device by using the Import feature of the configuration tool. This allows developers a choice in testing the client software against all configurations of RAIDs. For example, testing can be done against a fully loaded 9960 with the maximum storage, a 9200 with minimum storage, or all configurations between.

To import a configuration from an existing SAN:

  1. Launch the configuration tool (refer to section 5 above).
  2. From the File menu, select the Import menu item. The Import dialog box appears as shown in Figure 10.

Figure 10Import Dialog

The Import Dialog box provides the following variables:

Driver: interbase.interclient.Driver

This value should normally be left unchanged.

URL:jdbc:interbase://localhost/c:/Program Files/HiCommand/HiCommandServer/database/interbase/HiCommand.gdb

This default value should point to the URL of a database containing the RAID configuration to be imported. The form of the URL string is:

jdbc:[driver]: [URL to database to be imported]

LogonID: sysdba

This should be the appropriate username needed to login to the database containing the RAID configuration to be imported.

Password: *******

This should be the password associated with the LogonID.

To import the designated RAID configuration:

  1. Press the Connect button.

Note: The amount of time required to import the configuration depends upon the amount of data to be imported as well as any network traffic. Be patient.

A list of available RAID configurations appears in the Import Dialog bottom text box, as shown in Figure 11.

Figure 11A Completed Import Dialog

  1. From the list of RAID configurations, select a Storage Array.
  2. Click OK. The selected configuration is imported into the RAID Simulator.
  3. In the Configuration Tool Main Window, click the root node to inspect the imported values of the StorageArray.Model property (see Figure 12).

Figure 12The Imported Values of the StorageArrgy.Model Property

Note: Use File->Save to save the imported configuration. You can then import another array by repeating the process.

10)Deleting an Array

To delete an Array:

  1. From the File menu select the Delete item. The RAID Data Delete Dialog will appear (see Figure 13). This lists all the arrays that the RAID Simulator knows about.
  2. Select one and click the OK button to remove it from the simulator.

Note: You must click Reload to remove the array from the simulator database.

Figure 13Using the Simulator with HiCommand Device Manager

11)Testing the Simulator

To test the simulator:

  1. Start the RAID Simulator (refer to section 3).
  2. Configure the RAID Simulator to use at least one array (refer to sections 5 through 10). Note the IP addresses and type of the arrays the RAID Simulator has registered.
  3. Start the HiCommand™ Device Manager Server (if it is already running, restart it).
  4. Verify that HiCommand™ Device Manager Server is running. If it is not, check the error log for information. A common mistake is to mistype the name of the simulation database. In this situation, the server will not start and you will see database errors in the log.
  5. Launch the HiCommand™ Device Manager Web Client. For details on launching HiCommand Web Client, please refer to Chapter 4 of the HiCommand™ Device Manager Web Client User’s Guide (MK-91HC001).
  6. Discover an array that is stored in the RAID Simulator. You should see text similar to the following in the RAID Simulator window:

C:\Program Files\HiCommand\Simulator>runSimServer.bat

[Registered Storage Type]

SUNT3B (SUNT3B)

SUNT300 (SUNT300)

HDS9980V (HDS9980V)

HDS9970V (HDS9970V)

HDS9960 (HDS9960)

HDS9910 (HDS9910)

HDS9200 (HDS9200)

[Stored Arrays]

HDS9200.0001 at 172.16.50.1, 172.16.50.2 (DualPort)

HDS9960.0001 at 172.16.40.1

HDS9980V.0001 at 172.16.45.1

SUNT300.3000 at 172.16.3.1

SUNT3B.3001 at 172.16.3.2

Complete initialization

Start HiCommand RAID simulator on port 1099

Thu Aug 08 10:09:49 PDT 2002 HDS9960.0001 : Accept DeviceIdentification

Thu Aug 08 10:09:54 PDT 2002 HDS9960.0001 : Accept Discover

HiCommand Device Manager Server should successfully discover the array.

If you do not see the "Accept DeviceIdentification" message, check the server.properties file to make sure HiCommand Device Manager is running in simulation mode.

12)Response Time

The configuration tool allows you to adjust the response times for each command.

To adjust command response times:

  1. Open the SimulatorInfo element.
  2. Select the ResponseTime item and adjust the time (in seconds) each command will take to respond.
  3. Save your changes before exiting.

13)Alert Generation

The configuration tool allows you to automatically generate Alerts to HiCommand Device Manager server. This will help in testing out the notification mechanism in your client.

To set up automatic alert generation:

  1. Open the SimulatorInfo element and select the Config->Add Element menu item. The Alert Message Input Dialog will appear (see Figure 14). You can use this dialog to set the severity, component, and error code of an error to occur.
  2. Set the alert to active and set the interval for alerts to be generated.
  3. Save your changes before exiting.

Figure 14Alert Message Input Dialog

Figure 15Alert Message Input Dialog