User Guide
- 1. Before Installation
- 2. Installation
- 3. Launch SimSANs Agent and Console
- 4. Launch SimSANs Engine
- 5. Terminate SimSANs Engine
- 6. Create New SimSANs Engine
- 7. Configure SimSANs Engine
- 8. Monitor Live SimSANs Engine Run
Before installing SimSANs package, user should familiarize with the following terms:
- SimSANs Engine (Engine): The OMNeT++ based SimSANs simulation instance.
- SimSANs Management Agent (Agent): The utility to directly control and operate Engine by accepting the commands from Console.
- SimSANs Management Console (Console): The GUI tool to remotely control and operate Engine via Agent.
- Backend Agent Host: The host running Engines and Agent utility that communicates with frontend Console host via TCP.
- Frontend Console Host: The host running Console GUI that communicates with backend Agent host via TCP.
- Online Engine: The simulation Engine that is currently running on the Agent host.
- Offline Engine: The simulation Engine that is not yet launched.
It is always recommended that the Console and Agent are launched from separate hosts, however, they are allowed to run from the same host.
User needs to install both Console package and Agent/Engine package before launching simulations.
- Create Root Directory: Currently SimSANs v3 only runs on Windows platforms. Assuming the root directory to install the packages is C:\SimSANs_v3_Root\ for both Console host and Agent host.
- Install Console Package: In Console host, copy SimSANs_v3_MgmtConsole.zip to the root directory and unzip it. This will add Console binary SimSANs_v3_MgmtConsole.exe in the root directory. It is suggested to create a shortcut for the binary.
- Install Agent/Engine Package: In Agent host, copy SimSANs_v3_ExecRoot.zip to the root directory and unzip it. This will add Agent and Engine binaries in the root directory. It is suggested to create a shortcut for the Agent binary SimSANs_v3_MgmtAgent.exe.
- (Option) Run Console and Agent/Engine from the same host: User can choose to run both Console and Agent/Engine on the same host, so simply copy the SimSANs_v3_OneHost.zip to the root directory and unzip it.
3. Launch SimSANs Agent and Console GUI
SimSANs simulation (the Engine) is launched and controlled by Console GUI issuing management commands to the Agent, which further operates the simulation run and management at the backend. User is not required to manually run the Engine, neither is this recommended. Simply follow the steps below to launch and manage SimSANs simulations:
- Launch Agent: On the Agent host,
launch management Agent binary
(ROOT)\SimSANs_v3_MgmtAgent.exe either from command line or
by shortcut if there's one created. Agent window then pops up.
- Get Agent Ready: The Agent window shows the host IP as well as the default listening TCP port, 10028, for accepting incoming requests form Console. It is not recommended to change the default TCP port unless there's port confliction. Simply click "Start Listening" button to get Agent ready to accept management commands.
- Launch Console: On the Console
host, launch Console binary
(ROOT)\SimSANs_v3_MgmtConsole.exe either from command line or
by shortcut if there's one created. Console window then pops up.
- Connect Agent: User needs to input the Agent host IP as
well as the TCP port (default 10028), then click "Connect"
button to connecting the Agent host. Once connection is created
successfully, connection status should shows "Connected",
otherwise the error status shows up. The success connection will get
a bunch of Engines listed in the "Back-end
Engines" box, either Online Engines
or Offline Engines. User then can
follow section 4 to 8 to control those Engines.
From the "Offline Engines" category, choose the Engine to run, then right-click to choose "Start Engine" from the menu. This will get backend Engine simulation to launch. The following picture shows the start engine menu:
Once the Engine is launched successfully, the simulation begins running. The Engine then becomes Online Engine. Each online Engine will be assigned an unique non-zero ID, Online Engine ID, by the backend Agent. See the following picture:
Note: only Offline Engines can be launched. Existing Online Engines have to be terminated before re-launch.
Only Online Engine can be terminated. Right-click the Engine name to terminate and select "Terminate Engine" menu, this will get backend simulation to stop running. Upon successful termination, the Engine will go to "Offline Engine" category.
Please follow the steps below to add a new Engine:
- On the backend Agent host, go to directory (ROOT)\SimSANs_Engines\ and copy one of the existing Engine directories, for example, "Simple_FC_SAN" to a new directory and rename it to, say, "SS_ENGINE_03", the new Engine name. Note: Engine name cannot be larger than 15 characters.
- Go back to (ROOT) directory and
create a new batch file, named "Start_new_engine_name.bat"
(in this example, it will be
Start_SS_ENGINE_03.bat) and put the following two lines into
the bath file (please replace
new_engine_name with the real Engine name)
- Close Agent utility and re-launch, then click "Start Listening" button to get Agent ready to populate new Engines to the Console.
- On the frontend Console host, close Console application and re-launch it, then click "Connect" button to connect to Agent, the newly created Engine will show up in the "Offline Engine" category.
- Now user can configure the new Engine and launch simulation run.
Currently "Create New Engine" involves some manual work on the backend Agent host. An "Add New Engine" menu will be added to the frontend Console to do the work automatically.
Configure SimSANs Engine requires a bit of SAN background knowledge, including but not limited to: SCSI Initiator, SCSI Target, WWN, FC SNS, Zoning, IO Patterns, etc. User can find them in FAQ page.
This section gives some basic ideas of how to configure Engine:
- Launch Engine Configuration: Right-click the Engine
under "Offline Engines" category, and
select "Config Engine" menu, the Engine
configuration window will pop up. Note: only offline Engines can be
configured, online Engine cannot configure until it is brought
offline.
- Configure Host Properties: The host generic properties,
HBA adapter ports, SCSI initiator attributes, IO generators, and CPU
settings can be configured from here. Please select one of the hosts
in the "Host Farm" box and then select
the property from "Host Properties" box
and configure it from "Config Item Settings"
box. User is also able to add new hosts, delete hosts, and clone
hosts. Note: only the last host can be deleted. To delete the host,
right-click the host and select "Delete Host"
menu. Also, existing IO Generators can be deleted or new IO
Generators can be added. From the "Host
Properties" box, right-click "IO
Generators" category and select "Add New
IO Generator" menu to add a new IO generator. Right-click any
of existing IO generators and select "Remove IO
Generator" menu to delete it.
- Configure Switch Properties: The switch generic
properties, linecard module ports, and zone settings can be
configured from here. Please select one of the switches in the "Switch
Farm" box and then select the property from "Switch
Properties" box and configure it from "Config
Item Settings" box. User is also able to add new switches,
delete switches, and clone switches. Note: only the last switch can
be deleted. To delete the switch, right-click the switch and select
"Delete Switch" menu. Also, existing
zones can be deleted or new zones can be added. From the "Switch
Properties" box, right-click the zone set name and select "(Zone
Set) Add Zone" menu to add a new zone. Right-click any of
existing zones and select "(Zone Set) Remove
Zone" menu to delete it.
- Configure Device Properties: The storage device generic
properties, CHIP (or FEIB)
module ports, LUN configurations and assignments, Client assignment,
and CPU settings can be configured from here. Please select one of
the devices in the "Device Farm" box and
then select the property from "Device
Properties" box and configure it from "Config
Item Settings" box. User is also able to add new devices,
delete devices, and clone devices. Note: only the last device can be
deleted. To delete the device, right-click the device and select "Delete
Device" menu. Also, existing LUNs can be deleted or LUNs can
be added. For the client assignment, initiators and targets can be
specified to associate with the client, and LUNs can be assigned.
See the following pictures for more details:
- Configure Matrix Links: This is where the link
connections to be configured between Node Port (host or device port)
and Fabric Port (switch port). A switch port layer will show up in "Switch
Links" box for the switch selected in "Engine
Farm" box. At most 8 Linecards (LC-0 to
LC-7) can be configured, with each of which has at most 32 (0
to 31) ports configurable. The actual number of Linecards and
ports per Linecard shall be specified in "LineCard
Count" and "LineCard Port Count"
in the "Switch Properties" box of "Config
Switches" tab. There are three types of ports in terms of
configurations: Configured Online Port
(Green), Configured Offline Port
(Yellow), and non-Configured port
(Dark Gray). By clicking a configured online port, the "Config
Links" box shows the link connection between this F_Port and
the N_Port on the other side of the link. By clicking a configured
offline port, the "Config Links" box
shows this F_Port as well as a list of ports that user can select to
connect to the switch. See the following pictures for details:
- Commit Engine Configurations: Once user is done with
the configurations, simply click "Commit Engine
Settings" to save the changes to the configuration files
reside on the backend Agent host. Once Engine data is saved
successfully the Agent will return a confirmation message,
otherwise, error messages will be returned.
- Get Back to Console Main Windows: Simply close configuration window to get back to the Console main window. Note: any unsaved changes will be lost when exiting configuration window.
8. Monitor Live SimSANs Engine Run
Once an Engine simulation is launched, user can monitor the live simulation status for the following categories: SAN Port, SCSI Initiator, SCSI Target, SNS, Zone, and Fabric links. Please follow the instructions below:
- Get Engine Live Data:
Engine live data has to be collected before checking the status of
the above SAN categories. Right-click the Engine name you want to
monitor in the "Online Engines" category
from the "Back-end Engines" box and
select "Get Live Engine Data" menu. Once
the Engine data is returned, the Engine name as well as its
entities
will show up in the "Engine SAN Farms"
box.
- Fabric Connections: This is for
switch entity only so user needs to select one of the
switches from the "Engine SAN Farms"
box. From the "Switch Links" graph,
select one of the ports: Green port
means the cable connection between this Fabric port and remote Node
port is online, and the port information shows up on the "Link
End Ports" box. Yellow port means
there's a cable connection created, however, the Node port is
offline (laser is off).
- Name Servers (SNS): This is for
switch entity only so user needs to select one of the
switches from the "Engine SAN Farms"
box. The following table shows the meanings of the basic SNS
attributes.
- Zone Set and Zones: This is for
switch entity only so user needs to select one of the
switches from the "Engine SAN Farms"
box. Only current active zone set along with its associated zones
will be displayed. Simply click the zone name will get its zone
members shown up in "Zone Members" box.
- SAN Port: This is where user can check SAN Port
attributes, for example, link status and data rate, etc.
Any of the three types of entities
(host, switch, or device) can be selected from the "Engine
SAN Farms" box. For host entity, it is the SAN Port in
HBA Adapter Module. For switch entity,
it is SAN Port in Linecard Module. For
device entity, it is the SAN Port in FEIB
(or CHIP) Module.
- SCSI Initiators: This is for host entity only so user
needs to select one of the hosts from the "Engine
SAN Farms" box. The SCSI Device list (in A:C:S:L format,
i.e., adapter-channel-scsiid-lun) as well as initiator-target
associations are displayed in the "SCSI Devices"
box. Click one of the SCSI devices or LUNs will show the device
properties in "SCSI Device Properties"
box.
- SCSI Initiator IO Performance:
For host entity, initiator device IO performance can be collected by
click "Refresh Perf Data" button in the
"IO Statistics" box. Currently on the
backend simulation Engine, performance data is collected every 50ms
(milliseconds). This time interval will later be made tunable in "General"
tab. Note: IO Statistics data is also saved in the Engine directory
in the backend Agent host. The file name is
host[x].ioGen.stats, where x is the host index. The
statistics file can be growing very large (several hundred
mega-bytes to multiple giga-bytes) so user is highly suggested to
reserve large disk spaces for the Engine directories.
- SCSI Targets: This is for device entity only so user
needs to select one of the devices from the "Engine SAN Farms" box.
Target LUNs, target controllers, and Client assignments are
displayed in the "Client and Assignments"
box. Click the LUN will get its attributes shown up in the "LUN
Properties" box.
- SCSI Target IO Performance: Same as
SCSI Initiator IO Performance except this
is for device entity only.
- General Tab: Currently is under development. Some SimSANs simulation wide global parameters will be pub in here for user to tune it dynamically.
- Update Engine Data: To refresh and get the latest Engine data while the simulation is running, user has to issue "Get Engine Live Data" command again.