Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Description

            AlphaServer supports up to a 3 - nodes shared SCSI cluster for either OpenVMS cluster or 4 nodes for TruCluster. That is, up to 3 or 4 AlphaServers can be daisy-chained to a set of shared SCSI devices. With Charon-AXP, we do this in a virtual way. The underlining hardware is not limited to KZPBA and HSZ controllers. A virtualized shared SCSI can run on any shared storage, include iSCSI , and Fibre Channel, and Charon vdisks. Here we describe how to set up a shared SCSI environment.

Step-by-step guide

Requirement

            The shared SCSI can be built on a single PC server multiple Charon instances environment, or a multiple PC server environment.

            The requirement of configuring a shared SCSI on a single PC server multiple Charon instances for shared SCSI is basically the same as non-shared SCSI. A PC server with sufficient cores, memory, network ports and disk space to run all the instances is good enough.

            The requirement of configuring a shared SCSI on multiple PC servers is a little different. We still need sufficient cores, memory, network ports and disk space. In addition to these, we need to have:

...

            Configuration in Charon is done in two parts - the virtual SCSI controller; and the SCSI disks. The sharing is done in the SCSI controller setting.

Configuring the shared SCSI controller

            Virtual shared SCSI buses are talked talked through the network using TCP/IP. In Charon configuration, we have to specify the IP address and port (ie. an IP socket) for each virtual SCSI controller, so that other virtual SCSI controllers on the same bus can talk to it.

            The shared SCSI is defined like this:

set PKA port[600]=17016 host[600]="192.168.13.3:16017"

            Meaning:

PKA <== The SCSI bus is PKA

...

:16017” <== The port that the remote system use is 16017, it will be defined in the remote system with “set port[700]=16017” which follows the same way above

            Here we have an example of a 3-node cluster, A, B and C. Each node got 3 shared SCSI controller PKA, PKB and PKC, and are running on 3 different PC servers. Below shows how they are configured according the above rule. In OpenVMS cluster, the SCSI traffic will use LUN 0. In TruCluster, the SCSI traffic will use LUN 7.

Node A – IP address is 192.168.13.2

...

Node C – IP address is 192.168.13.4

Node A, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 7

...

set PKA port[500]=17015 host[500]="192.168.13.4:15017" <== point to node C
(use [607] and [507] if this is TruCluster)
:
:
load KZPBA PKB scsi_id=7

...

set PKB port[500]=17115 host[500]="192.168.13.4:15117" <== point to node C
(use [607] and [507] if this is TruCluster)
:
:
load KZPBA PKC scsi_id=7

...

set PKC port[500]=17215 host[500]="192.168.13.4:15217" <== point to node C
(use [607] and [507] if this is TruCluster)
:

Node B, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 6

...

set PKA port[500]=16015 host[500]="192.168.13.4:15016" <== point to node B
(use [707] and [507] if this is TruCluster)
:
:
load KZPBA PKB scsi_id=6

...

set PKB port[500]=16115 host[500]="192.168.13.4:15116" <== point to node B
(use [707] and [507] if this is TruCluster)
:
:
load KZPBA PKC scsi_id=6

...

set PKC port[500]=16215 host[500]="192.168.13.4:15216" <== point to node B
(use [707] and [507] if this is TruCluster)
:
:

Node C, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 5

...

set PKA port[600]=15016 host[600]="192.168.13.3:16015" <== point to node C
(use [707] and [607] if this is TruCluster)
:
:
load KZPBA PKB scsi_id=5

...

set PKB port[600]=15116 host[600]="192.168.13.3:16115" <== point to node C
(use [707] and [607] if this is TruCluster)
:
:
load KZPBA PKC scsi_id=5

...

set PKC port[600]=15216 host[600]="192.168.13.3:16215" <== point to node C
(use [707] and [607] if this is TruCluster)
:
:

            A picture will make this easy to understand.

 Image RemovedImage Added

Configuring the storage

In the configuration of single PC server multiple instances, the shared storage can be a locally attached physical drive, from iSCSI, Fibre Channel, and/or  also Charon virtual disks.

The key point to configure shared SCSI disks in this configuration is to make sure the same DK device on different nodes are pointing to the same container.

Node A –

set PKA container[0]="d:\vdisks\1.vdisk"
set PKA container[1]="d:\vdisks\2.vdisk"
set PKA container[2]=”\\.\PhysicalDrive2”

Node B –

set PKA container[0]="d:\vdisks\1.vdisk"
set PKA container[1]="d:\vdisks\2.vdisk"
set PKA container[2]=”\\.\PhysicalDrive2”

Node C –

set PKA container[0]="d:\vdisks\1.vdisk"
set PKA container[1]="d:\vdisks\2.vdisk"
set PKA container[2]=”\\.\PhysicalDrive2”

                        The configuration of multiple PC servers running Charon that use shared SCSI is a normal and close to reality configuration. It preserves high availability like OpenVMS cluster / TruCluster running on the original AlphaServer, and at the same time enjoys enjoy the flexibility of Charon. HoweverTherefore, we cannot CANNOT use Charon container files (vdisk) vdisk or locally attached physical drives as the shared SCSI device in this configuration. We can only use physical disks disk from either iSCSI or Fibre Channel.

            The key point to configure shared SCSI disks in this configuration is to make sure the same DK device on different nodes are pointing point to the same LUN.point to the same LUN. Note that when the disks are presented to PC servers, the PhysicalDrive number of the same LUN may not be the same among different PC servers. It must be careful on that. In above, DKA0 is LUN 7, DKA100 is LUN 8. This is the same across all three hosts even the PhysicalDrive number in PC server B is different from the other two.

            To make this easy to manage, it is highly recommended to persistent device naming.  Please reference this from Charon-AXP user manual.

Node A, on PC server A –

set PKA container[0]=”\\.\PhysicalDrive2”PhysicalDrive(DevID=6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)” <== LUN LUN 7
set PKA container[1100]=”\\.\PhysicalDrive3”PhysicalDrive(iScsiTarget=iqn.2008-04:iscsi.charon-target-test1,LUN= 8)” <== LUN LUN 8

Node B, on PC server B –

set PKA container[0]=”\\.\PhysicalDrive6”PhysicalDrive(DevID=6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)” <== LUN LUN 7
set PKA container[1100]=”\\.\PhysicalDrive7”PhysicalDrive(iScsiTarget=iqn.2008-04:iscsi.charon-target-test1,LUN= 8)” <== LUN 8

Node C, on PC server C –

set PKA container[0]=”\\.\PhysicalDrive2”PhysicalDrive(DevID=6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)” <== LUN LUN 7
set PKA container[1100]=”\\.\PhysicalDrive3”PhysicalDrive(iScsiTarget=iqn.2008-04:iscsi.charon-target-test1,LUN= 8)” <== LUN LUN 8

 

Note that when the disks are presented to PC servers, the PhysicalDrive number of the same LUN may not be the same among different PC servers. It must be careful on that. In the above, DKA0 is LUN 7, DKA100 is LUN 8. This is the same across all three hosts even but the PhysicalDrive number in PC server B is different from the other two.

To make this easy to manage, it is recommended to make the same PhysicalDrive number on different nodes point to the same LUN. Some simple guidelines are listed below:

  • All PC servers that participate in the shared SCSI configuration should have the same number of local disks, so that when the external LUN is first presented, all the PC servers will start with the same PhysicalDrive number
  • Present the external LUN one by one, and must do perform new device scanning after each LUN’s presentation to make sure they are in correct order
  • Present all permanent LUNs before you present temporary LUNs, so that when you decided to remove the temporary LUN in future, the permanent PhysicalDrive number will not change

Special note

After the configuration, the following (or similar) will be seen in the SRM console:

?ka600.6.0.1.1          ?KA600
?kb600.6.0.3.1          ?KB600
?kc600.6.0.4.1          ?KC600

 

The ?ka, ?kb and ?kc refer to cluster interconnect. This is to distinguish from other SCSI devices. In addition, if either PC server in the cluster configuration is not booted, some errors will be seen in the Charon log file like:

20201218:234941:ERROR:2:00000411:scsi_host.(2401):  (107) Transport endpoint is not connected:  PKA_6_0: Failed to connect to localhost:10167, port 10167

20201218:234955:INFO :0:00000413:qlogic_isp(4554):  PKA: Logical Unit 0 has been enabled for target mode operation with credit of up to 16 commands

These messages are normal and expected.             

Filter by label (Content by label)
showLabelsfalse
max5
spacesKBP
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "cluster" and type = "page" and space = "KBP"
labelscluster

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

Readers/approval