Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: bugs, bugs and bugs

Anchor
TOC
TOC
Include Page
KBCOMMON:KB-CSSstyle
KBCOMMON:KB-CSSstyle

...

Syntax for loading KGPSA-CA storage adapter:

load KGPSA <name>

Example:

load KGPSA FGA


Note

In AlphaStation 400 configuration use the following syntax for KGPSA-CA storage adapter loading:

load KGPSA FGA irq_bus=isa

...

Configuration parameters

The KGPSA-CA PCI FC adapter emulation has the following configuration parameters:

host_bus_location

Parameterhost_bus_location
TypeText String
Value

(warning) Pass Through mode 695402720 only !

Establish connection between virtual DEC-KGPSA-CA PCI FC adapter and physical EMULEX LightPulse PCI/PCI-X/PCIe FC adapter (Pass Through mode695402720)

Syntax:

load KGPSA <controller name> host_bus_location="/dev/kgpsa<X>"

Example:

load KGPSA FGA host_bus_location="/dev/kgpsa0"


wwid

Parameter

wwid[N]

N is 0..32766 (no more than 255 units)

TypeText String
Value

Sets WWID for emulated KGPSA adapter unit.

Syntax:

set <controller name> wwid[unit-number]="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"

Example:

set FGA wwid[2]="6008-05F3-0005-2950-BF8E-0B86-A0C7-0001"


Div
classpagebreak


container

Parameter

container[N]

N is 0..32766 (no more than 255 units)

Type

Text String

Value

Possible values of the parameter are strings in one of the following forms:

  • Physical disk
    • "/dev/sd<L>", where "L" is letter, for example "/dev/sdb"
    • "/dev/disk/by-id/..." - addressing by the disk ID, for example "/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4"
    • "/dev/disk/by-label/..." - addressing by the disk label, for example "/dev/disk/by-label/MyStorage"
    • "/dev/disk/by-uuid/..." - addressing by the disk UUID, for example "/dev/disk/by-uuid/0e808a2f-cdd3-4944-a245-f729ffd73882"
      (warning) Please note that existing data on such a disk may be destroyed, depending on how it is used in the emulator.

      Note

      "/dev/sd<L>" addressing is not persistent, so it is strongly recommended to use "/dev/disk/by-id/wwn-*" syntax instead to refer the disk by its WWID - especially in the enviroments utilizing FC and SAN storages.

      These disks must not be formatted by the host OS.

      Example:

      set FGA container[0]="/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4"

      It is also possible to use not a whole disk, but previously created partitions on it. In this case the syntax is the following: "/dev/sd<L><N>" where N is the number of partition to be used.

      Example:

      set FGA container[0]="/dev/sdc3"
  • Loop (virtual block) devices
    • "/dev/loop<N>"
      Example:

      set FGA container[100]="/dev/loop0"

  • Multipath disk
    • "/dev/dm-<N>"
    • "/dev/mapper/mpath<N>"
    • "/dev/mapper/disk<N>"
      (warning) Be careful not to destroy all the information from the disk dedicated to CHARON-AXP by mistake.  

      These disks must not be formatted by the host OS.

      Example:

      set FGA container[200]="/dev/dm-0"

  • File representing a physical disk of the HP Alpha system (disk image)
    • [<drive>":\"<path-name>”\”]<file-name>[“.vdisk”]
      These files can be created from scratch with "mkdskcmd" utility. Data and OS disk backups are transferred from the original system via tapes or network and restored into these container files. 

      Mapping may also include the full path (recommended), for example: "/my_disks/my_boot_disk.vdisk"

      Example:

      set FGA container[401]="my_dka401.vdisk"

This parameter is initially not set, thus creating NO storage elements on the controller.


Div
classpagebreak



media_type

Parameter

media_type[N]

N is 0..32766 (no more than 255 units)

Type

Text String

Value

Instructs CHARON-AXP to use the supplied value as the PRODUCT field in the FC INQUIRY data returned to a software running on virtual HP Alpha system in response to FC INQUIRY command.

If not specified, CHARON-AXP attempts to guess the FC INQUIRY data based on virtual FC device type and underlying container (which is specified in the corresponding container configuration parameter).

Initially is not specified.

Example:

set FGA media_type[0]="HSZ70"

removable

Parameter

removable[N]

N is 0..32766 (no more than 255 units)

TypeBoolean
Value

When set to "true", the removable configuration parameter instructs CHARON-AXP to report the corresponding virtual FC device as removable.

By default the removable configuration parameter is set to "false".

Example:

set FGA removable[400]=true


Div
classpagebreak


geometry

Parameter

geometry[N]

N is 0..32766 (no more than 255 units)

Type

Text String

Value

This formatted string value specifies the explicit geometry of the disk storage element.

The string format is <X>”/”<Y>[“/”<Z>] or <X>”,”<Y>[“,”<Z>][“,”<B>] where:

  • X corresponds to the number of sectors per track
  • Y corresponds to the number of tracks per cylinder
  • Z corresponds the number of cylinders on the unit. If omitted, Z is calculated based on X, Y and the total number of sectors on the unit that reflects the size of the disk storage element. This is an optional parameter.
  • B corresponds to the total size of the disk (in blocks) reported to the guest OS. If omitted it is calculated automatically. This is an optional parameter.

If this parameter is not set, CHARON-AXP will configure the geometry based on the most probable disk type.

Initially not set.

Example:

set FGA geometry[201] = "255/255"

(info) It is possible to specify each parameter independently of another one. The following syntax is used for that:  set FGA geometry[300]="*,*,*,16777210"

use_io_file_buffering

Parameter

use_io_file_buffering[N]

N is 0..32766 (no more than 255 units)

Type

Boolean

Value

When set to "true", instructs CHARON-AXP to enable host operating system I/O cache on read/write operations.

(info) Note that this caching has a significant effect only in case of mapping to disk containers, not physical drives. 

When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system.

Initially is set to "false".

Example:

set FGA use_io_file_buffering[300]=true


Div
classpagebreak


io_queue_depth

...

In this mode KGPSA-CA PCI FC adapter can be directly mapped to physical disks (both local and iSCSI) and disk images as shown in the following example:

set FGA container[0]="/my_disks/my_dka401.vdisk"
set FGA container[100]="/dev/sdb"
set FGA container[200]="/dev/sdc2"
set FGA container[300]="/dev/dm-0"

See the "Configuration parameters" section for details.

...

The CHARON-AXP FC Fabric presentation mode allows to use Linux FC HBA directly. When using this mode, there is no need to load KGPSA adapter(s) as it was described before. The following syntax has to be used instead:

Example:

load kgpsa_generic_storage PGA interface="host3"

Below please find step-by-step explanation on how to configure "kgpsa_generic_storage" instance.

...

First we need to find Linux FC HBA for mapping.

List available adapters

# lspci | grep Fibre
03:00.0 Fibre Channel: Emulex Corporation Lancer-X: LightPulse Fibre Channel
Host Adapter (rev 30)
03:00.1 Fibre Channel: Emulex Corporation Lancer-X: LightPulse Fibre Channel
Host Adapter (rev 30)
0a:04.0 Fibre Channel: Emulex Corporation LP8000 Fibre Channel Host Adapter (rev 02)

So, 2 HBAs, 3 ports are available.

...

Load HBA's kernel modules (drivers)

# lspci -vvnn -s 03:00.0 | grep modules
        Kernel modules: lpfc

# modprobe -v lpfc

Discover the Linux SCSI hosts the FC HBAs are mapped to

# ll /sys/class/fc_host/
..
lrwxrwxrwx 1 root root 0 &#1086;&#1082;&#1090; 22 14:29 host3 ->
../../devices/pci0000:00/0000:00:01.0/0000:03:00.0/host3/fc_host/host3
lrwxrwxrwx 1 root root 0 &#1086;&#1082;&#1090; 22 14:29 host4 ->
../../devices/pci0000:00/0000:00:01.0/0000:03:00.1/host4/fc_host/host4
lrwxrwxrwx 1 root root 0 &#1086;&#1082;&#1090; 22 14:29 host6 ->
../../devices/pci0000:00/0000:00:1e.0/0000:0a:04.0/host6/fc_host/host6

So, the available ports are mapped to hosts 3, 4 and 6.

Discover the connected FC HBAs (ports)

# lsscsi
..
[2:0:0:0] disk ATA Hitachi HDS72101 A610 /dev/sda
[3:0:0:0] storage HP MSA CONTROLLER 7.20 -
[3:0:0:2] disk HP MSA VOLUME 7.20 /dev/sdb
...
[5:0:0:2] disk Generic- USB3.0 CRW-MS/HG 1.00 /dev/sdi
[6:0:0:0] storage HP MSA CONTROLLER 7.20 -

So the connected hosts are 3 and 6 ("MSA CONTROLLER").

Discover the HBAs port/node names

# cat /sys/class/fc_host/host3/port_name
0x10000090faa00a31
# cat /sys/class/fc_host/host4/port_name
0x10000090faa00a32
# cat /sys/class/fc_host/host6/port_name
0x10000000c923ea51

So the names are:

HostMappingPort name
3

Lancer-X, port 0 ("3:0:0:0")

0x10000090faa00a31
4Lancer-X, port 1 ("3:0:0:1")
0x10000090faa00a32
6

LP8000 single port

0x10000000c923ea51

...

Specify Linux port name "0x10000090faa00a31" in Charon configuration file:

load kgpsa_generic_storage PGA interface="0x10000090faa00a31"


Note

The configuration given with port name is independent on hardware change, modules load order, etc

By host id name

load kgpsa_generic_storage PGA interface="fc_host3"

or

load kgpsa_generic_storage PGA interface="host3"


Note

The configuration given with host id name might change on hardware change, modules load order, etc

...

MappingDescription
fc_host6

Emulation over Linux SG (FC) host 6

host6
Emulation over Linux SG (FC) host 6
2000-0000-C923-EA51 

Emulation over Linux SG (FC) host given with port/node name

0x20000000C923EA51
Emulation over Linux SG (FC) host given with port/node name
wwn-0x20000000C923EA51
Emulation over Linux SG (FC) host given with port/node name

Example:

load kgpsa_generic_storage PGA interface="host3"


Div
classpagebreak


trace_level

 ValueDescription

0

none (default)

1

All failures and suspects

2SCSI, ELS/CT request flow

3

MB/IOCB request flow

Example:

load kgpsa_generic_storage PGA trace_level=1

io_model

I/O model is used for request processing.

...

 ValueDescription

sync

synchronous

async

asynchronous (default)

Example:

load kgpsa_generic_storage PGA io_model="sync"

port_name

The port name in format: %04x-%04x-%04x-%04x. Option to fake guest's port name.

Note

This parameter is needed for debugging puproses only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA port_name=2000-0000-C923-EA51

By default this value is obtained from the specified hardware port (see above).

...

Note

This parameter is needed for debugging puproses only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA node_name=2000-0000-C923-EA51

By default this value is obtained from the specified hardware port (see above).

...

When FC wire is removed and then plugged in, Linux rebuilds all the FC objects with new devices names, etc. Fabric presentation mode senses the link up and down events, but optionally it may delay reporting the event (for the given amount of seconds) to let Linux fully initialize FC. If delay is 0, guest OS may start initialization too early and thus fail to find some or all objects.

Example:

load kgpsa_generic_storage PGA link_up_delay=80

The link check poill interval in seconds Default is 1 second.

When FC wire is removed and then plugged in, Linux rebuilds all the FC objects with new devices names, etc. Fabric presentation mode senses the link up and down events, but optionally it may delay reporting the event (for the given amount of seconds) to let Linux fully initialize FC. If delay is 0, guest OS may start initialization too early and thus fail to find some or all objects.

Example:

load kgpsa_generic_storage PGA link_poll_period=2

emu_fabric

The way the emulation deals with fabric:

...

Qlogic does not map SG devices for ELS/CT traffic. To work around this, Fabric presentation mode implements emulation of the whole non FCP (scsi) communication over fabric. If fabric is emulated, guest OS will not see non FCP target ports (for example initiators) and will not be able to communicate with ELS/CT over fabric.

Example:

load kgpsa_generic_storage PGA emu_fabric="no"


Div
classpagebreak


lun_exclude

The list of the LUNs to be excluded. If empty (default), nothing is excluded.
(warning) No multi line is possible for this parameter; the maximum number of symbols inside the double quotes is 255. Use "lun_include" parameter instead if a lot of LUNs must be excluded to specify only the included LUNs.

Example:

load kgpsa_generic_storage PGA lun_exclude="6008-05F3-0005-2950-C758-BCC2-E88B-0007,6008-05F3-0005-2950-8B03-E26B-E231-0005"


Note

lun_exclude parameter cannot exclude storage mapped to LUN 0 because of its special function.

lun_include

The list of the LUNs to be included. If empty (default), all LUNs are included.
(warning) No multi line is possible for this parameter; the maximum number of symbols inside the double quotes is 255. Use "lun_exclude" parameter instead if a lot of LUNs must be included to specify only the excluded LUNs.

Example:

load kgpsa_generic_storage PGA lun_include="6008-05F3-0005-2950-C758-BCC2-E88B-0007,6008-05F3-0005-2950-8B03-E26B-E231-0005"


scsi_version

This approach of FC emulation downgrades all attached devices to the specifically defined version of SCSI. This is done to make legacy guest operating systems happy with attached modern devices.

...

(warning) Refer to your guest OS documentation for more details and public resources for general specification of SCSI.

Example:

load kgpsa_generic_storage PGA scsi_version="v3_SPC3"


Div
classpagebreak


device_id

...

Note

This parameter is needed for some specific cases only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA device_id=0xFA00

vendor_id

A fake vendor id (if not "lp8000" is needed), the default is "0x10DF" ("lp8000").

Note

This parameter is needed for some specific cases only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA vendor_id=0x10EA

revision_id

A fake revision id (if not "lp8000" is needed), the default is "0x02" ("lp8000").

Note

This parameter is needed for some specific cases only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA revision_id=0x01

scsi_serialize_io

This parameter controls serialization of the SCSI requests.

...

Note

This parameter is needed for some specific cases only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA scsi_serialize_io = true


Div
classpagebreak


scsi_max_queue_depth

...

Note

This parameter is needed for some specific cases only, so it is strongly recommended not to specify any value without particular instructions from Stromasys.

Example:

load kgpsa_generic_storage PGA scsi_max_queue_depth = 1

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop