Data Center Storage Networking Simulation

Powered by SimSANs v4.0 and OMNeT++


User Guide


1. System Requirement

Note: MS Chart Controls must be installed, or an error will pop up:

2. Installation

Simply copy SimSANs_v4_[build].zip to drive C (or any other drive or directory) and unzip it, then directory "C:\SimSANs_v4" will be created. "C:\SimSANs_v4" directory (let's call it SimSANs root directory), has two sub-directories:

Installation is done here if you just want to launch Console and Agent/Engines from the same host. If you want to launch Console and Agent/Engines from separate hosts, you must do the same installation for each host - the one to run Console is called Frontend Console Host, and the one to run Agent/Engines is called Backend Engine Host.

3. Launch SimSANs Agent and Console

Note: All the (ROOT) mentioned in this user guide refers to SimSANs root directory, for example, directory "C:\SimSANs_v4".

SimSANs simulation engine is always launched and controlled from frontend Console GUI, through communications between Console and backend Agent. User should not manually launch Engine. Simply follow the steps below to launch and manage SimSANs engines:

4. Launch SimSANs Engine

A list of associated Engines should show up under each connected Agent host. Select the Engine you want to manage, then right-click to choose "Load Engine Control Panel" from the menu (Picture). This will pop up the control panel titled "Engine: [Agent IP][Engine ID]", indicating which Engine from which Agent host. For example, "Engine:" means this is the control panel for Engine E000 from Agent host (Picture). You certainly can bring up other Engine's control panels from the same Console GUI (Picture).

Each Engine must be managed from its own control panel. To launch an Engine simulation run, go to that Engine's control panel, then follow the steps below:

5. Control and Monitor SimSANs Engine Run

This part is the essence of SimSANs - capable of simulating daily SAN administration tasks. But before you go on manage SimSANs online Engines, please ensure the following operations have been completed:

Now you can go to following sub-sections for the details of each SAN related configuration available in SimSANs:

5.1 VSAN Configurations

Please select "VSAN" tab from Engine control panel. Each VSAN should have a list of member switches. Simply select the switch to get the port distribution. See this picture.

5.2 Zone Configurations

Please select "Zoning" tab from Engine control panel. Default zone is used which put all available node ports into the same big zone, even though they may belong to different VSANs. Note: IVR (Inter-VSAN Routing) is not implemented in SimSANs so the ports are unable to talk each other if they are not in the same VSAN. See this picture.

5.3 Name Servers Query

Please select "Name Servers" tab from Engine control panel, then click "Refresh All VSAN Name Servers" button. Name server table is collected, one for each VSAN. Simply select a VSAN from VSAN list, then its associated name server table will show up. See this picture.

5.4 SAN Switch Configurations

Please select "SAN Switches" tab from Engine control panel. Select a switch from the switch list will show up switch information as well as linecard port layout (Picture). Click on a port from the linecard port layout graph will show up the detailed port information on "Port Settings" panel (Picture).

5.5 SAN Node Configurations

The FC or FCoE port functioning as SCSI initiator or SCSI target is a node port (N_Port). The entity holding node port is a node entity, which usually is client host (initiator) or storage device (target) in a normal SAN environment.

Please select "SAN Nodes" tab from Engine control panel then you should be able to get a client host list and a storage device list. Select a host will show up host information including host HBA list, SCSI device list, and IO generator list. Select a device will show up device information including FEIB (FrontEnd Interface Blade) list, logical unit list, client list, and backend storage setup. See this picture.

5.6 Analyzer and Traces

The real-world FC/FCoE protocol analyzer, such like Finisar (now JDSU) Xgig or Wireshark, is simulated here to tracing protocol level FC, FCoE, and FIP frames, though the actual trace control capability is much more simplified than the real-world ones, for example, only one port can be traced at one time.

Simply go to "Analyzer and Traces" tab from Engine control panel, select the port you want to trace, then click "Start" button to begin tracing. Please see here and here for the two pictures of sample trace information, one for FC, and the other for FCoE/FIP. 

6. Online Engine Configurations

This is the fun part. In SimSANs v4, we're able to run some dynamic configurations while Engine is running. Previously in v3, Engine configurations must be done when Engine is offline.

Note: In current SimSANs v4 build, all available online configurations are related to SAN Node, meaning they are for Client Host or Storage Device.

The following sub-sections show what can be configured online. Before running those configurations, please ensure Engine is locked by current Console socket, and "Config Node Option ON" is turned on in "SAN Nodes" tab.

6.1 (Storage Device) Add New Logical Unit

Select a device, right-click "Logical Unit List", then you're able to add a new logical unit. The new LUN will show up in the list. See this picture.

6.2 (Storage Device) Change Logical Unit Capacity

Select a LUN from "Logical Unit List", right-click it, then you're able to set the LUN capacity in the unit of GB. See this picture.

Note: You cannot set capacity if the LUN is already assigned to a client host.

6.3 (Storage Device) Add New Client Host

Select a device, right-click "Client Host List", then you're able to add a new client. The new client will show up in the list. See this picture. Please noted that the newly created client does not have any initiator, target, or LUN assigned. Refer to section 6.4 for how to assign initiator/target/LUN to client.

6.4 (Storage Device) Assign Initiators, Targets, and LUNs to Client Host

Select a client from "Client Host List", right-click it, then you're able to assign initiator ports, target ports, or LUNs to the client. See these three pictures here, here, and here.

6.5 (Client Host) Scan SCSI Devices

Select a host, right-click "SCSI Device List", then you're able to scan out SCSI devices. If a new LUN is assigned from storage device, then the new SCSI device should show up after scanning. See this picture.

6.6 (Client Host) Add New IO Generator

Select a host, right-click "IO Generator List", then you're able to add a new IO generator. See this picture. The newly added IO generator, by default, is disabled. Refer to section 6.7 for how to enable it.

6.7 (Client Host) Enable or Disable IO Generator

Select a iogen from "IO Generator List", right-click it, then you're able to enable or disable it on the fly. See the pictures here and here.

Note: If the IO generator is running IO, disable it will stop the IO. If IO Generator is disabled, re-enable it will start the IO.

6.8 (Client Host) Change IO Generator Attributes

Select a iogen from "IO Generator List", right-click it, then you're able to change its attributes including target LUN, outstanding IO count, IO request size, READ IO ratio, and sequential IO ratio. See this picture.

Note: "Commit Attribute Changes" has to be selected from the right-click menu to get changes take effect.

6.9 (Client Host) Change SCSI Device Queue Depth

Select a host, right-click "SCSI Device Queue Depth", then you're able to change the queue depth for all SCSI devices discovered by this host. See this picture. Note: change queue depth may affect IO performance.

6.10 (Client Host) Monitor SCSI IO Performance

There's a "SCSI Device IO Performance" panel in "SAN Nodes" tab. It is used to monitoring IO performance data for SCSI devices from host side. The IO performance data includes IOPS, Throughput, and IO Response Time.

Click "Refresh" button to get all active SCSI devices that currently having IO activities. Click "Auto Refresh" check-box will collect performance data periodically. Click "Open XYPlot" will pop up XY Plot Graph. You can combine "Auto Refresh" with "XYPlot" to have a clear picture of real-time IO activities. See this picture.

7. Offline Engine Configurations

All other configurations not mentioned in section 6 have to be done when engine is offline. They are available for "VSAN", "SAN Switches", "SAN Nodes". In each of them, there's a "Commit" and "Cancel" buttons, which is used to save the changes to configuration files or cancel the changes. If "Force Saving Changes" is checked, click "Commit" button will save configuration files anyway even if there's no change ever made at all.