Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Description

AlphaServer supports up to a 3-nodes shared SCSI cluster for either OpenVMS cluster or TruCluster. That is, up to 3 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, 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:

  • A true shared storage, for example iSCSI or Fibre Channel. Local attached disks and vdisks cannot be shared
  • An additional network port for the virtual SCSI traffic
  • That additional network ports of all the systems are connected to form a small network with their own IP like 192.168.13.3, 192.168.13.4 and 192.168.13.5

            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 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
port[600] <== The device using SCSI id 6 is another SCSI controller
=17016 <== The local port of PKA on this server that talk to SCSI id 6, 17=SCSI id 7, 0=PKA, 16=SCSI id 6 of the remote system
host[600] <== This is to configure the IP socket of remote system which use SCSI id 6

=”192.168.13.3 <== The remote system is at 192.168.13.3. If it is a single PC server multiple instances configuration, we can use “localhost”

: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.

Node A – IP address is 192.168.13.2

Node B – IP address is 192.168.13.3

Node C – IP address is 192.168.13.4

Node A, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 7
load KZPBA PKA scsi_id=7
set PKA port[600]=17016 host[600]="192.168.13.3:16017" <== point to node B
set PKA port[500]=17015 host[500]="192.168.13.4:15017" <== point to node C
:
:
load KZPBA PKB scsi_id=7
set PKB port[600]=17116 host[600]="192.168.13.3:16117" <== point to node B
set PKB port[500]=17115 host[500]="192.168.13.4:15117" <== point to node C
:
:
load KZPBA PKC scsi_id=7
set PKC port[600]=17216 host[600]="192.168.13.3:16217" <== point to node B
set PKC port[500]=17215 host[500]="192.168.13.4:15217" <== point to node C
:

Node B, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 6
load KZPBA PKA scsi_id=6
set PKA port[700]=16017 host[700]="192.168.13.2:17016" <== point to node A
set PKA port[500]=16015 host[500]="192.168.13.4:15016" <== point to node B
:
:
load KZPBA PKB scsi_id=6
set PKB port[700]=16117 host[700]="192.168.13.2:17116" <== point to node A
set PKB port[500]=16115 host[500]="192.168.13.4:15116" <== point to node B
:
:
load KZPBA PKC scsi_id=6
set PKC port[700]=16217 host[700]="192.168.13.2:17216" <== point to node A
set PKC port[500]=16215 host[500]="192.168.13.4:15216" <== point to node B
:
:

Node C, SCSI controller configuration

  • SCSI ids of the emulated SCSI controller are all 5
load KZPBA PKA scsi_id=5
set PKA port[700]=15017 host[700]="192.168.13.2:17015" <== point to node A
set PKA port[600]=15016 host[600]="192.168.13.3:16015" <== point to node C
:
:
load KZPBA PKB scsi_id=5
set PKB port[700]=15117 host[700]="192.168.13.2:17115" <== point to node A
set PKB port[600]=15116 host[600]="192.168.13.3:16115" <== point to node C
:
:
load KZPBA PKC scsi_id=5
set PKC port[700]=15217 host[700]="192.168.13.2:17215" <== point to node A
set PKC port[600]=15216 host[600]="192.168.13.3:16215" <== point to node C
:
:

            A picture will make this easy to understand.

 

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 the flexibility of Charon. However, we cannot use Charon container files (vdisk) as the shared SCSI device in this configuration. We can only use physical disks 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.

Node A, on PC server A –

set PKA container[0]=”\\.\PhysicalDrive2” <== LUN 7
set PKA container[1]=”\\.\PhysicalDrive3” <== LUN 8

Node B, on PC server B –

set PKA container[0]=”\\.\PhysicalDrive6” <== LUN 7
set PKA container[1]=”\\.\PhysicalDrive7” <== LUN 8

Node C, on PC server C –

set PKA container[0]=”\\.\PhysicalDrive2” <== LUN 7
set PKA container[1]=”\\.\PhysicalDrive3” <== 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

 

Readers/approval

  • No labels