[Info-vax] Error using fibre channel target on FreeBSD from OpenVMS

chris chris-nospam at tridac.net
Sun Apr 24 08:29:18 EDT 2022


On 04/24/22 07:18, Matthew R. Wilson wrote:
> This could be a long shot, but I'm hoping to experiment with OpenVMS
> clustering using a shared system disk over fibre channel.
>
> My two VMS systems are Integrity rx1600s. I'm trying to use a system
> running FreeBSD as the target. After much experimentation and
> troubleshooting, I've gotten pretty far, but the volumes are still stuck
> "offline" in OpenVMS.
>
> I just got the latest hobbyist kit from VSI and installed a fresh copy
> of OpenVMS IA64 V8.4-2L3 on the server's internal hard drive.
>
> In the two rx1600 servers, I'm using fibre channel HBAs with the QLogic
> QLA2342 chip. From the EFI shell I've installed the latest EFI driver
> and RISC firmware I could find:
>
> <https://support.hpe.com/connect/s/softwaredetails?language=en_US&softwa
> reId=ux_36358_2>
>
> The card appears to be working properly from OpenVMS:
>
>    $ show dev /full fga0
>
>    Device FGA0:, device type QLogic ISP23xx FibreChannel, is online, shareable,
>      error logging is enabled.
>
>      Error count                    0    Operations completed                 12
>      Owner process                 ""    Owner UIC                      [SYSTEM]
>      Owner process ID        00000000    Dev Prot              S:RWPL,O:RWPL,G,W
>      Reference count                0    Default buffer size                   0
>      Current preferred CPU Id       1    Fastpath                              1
>      Current Interrupt CPU Id       1
>      FC Port Name 2100-00E0-8B09-B261    FC Node Name        2100-00E0-8B09-B261
>
> I've been able to set up the target LUNs in FreeBSD with the "device-id"
> option, which seems to satisfy OpenVMS's need for the UDID value; e.g.
> if I set the device-id to 0x00000001, the device shows up as $1$DGA1 in
> VMS, if I set it so 0x00000002, it shows up as $1$DGA2, etc.
>
> The two LUNs appears as follows:
>
> $ show dev dga
>
> Device                  Device           Error   Volume          Free  Trans Mnt
>   Name                   Status           Count    Label         Blocks Count Cnt
> $1$DGA1:       (IVMS1)  Offline              1
> $1$DGA2:       (IVMS1)  Offline              1
>
> Or one of them in more detail:
>
> $ show dev /full dga1
>
> Disk $1$DGA1: (IVMS1), device type unknown, is offline, file-oriented device,
>      shareable, available to cluster, error logging is enabled.
>
>      Error count                    1    Operations completed                  0
>      Owner process                 ""    Owner UIC                      [SYSTEM]
>      Owner process ID        00000000    Dev Prot            S:RWPL,O:RWPL,G:R,W
>      Reference count                0    Default buffer size                 512
>      WWID   01000010:6008-05F3-0012-00F0-0000-0000-0375-0000
>      Allocation class               1
>
> So VMS knows the LUNs are there, but something still seems to be missing
> to make VMS happy, and the devices just stay "Offline" with 1 in the
> Error Count.
>
> For lack of knowing what else to do, I ended up "faking" MSA1000
> volumes, in case VMS was sensitive to particular devices. But I don't
> think VMS really cares what the devices identify themselves as.
>
> In any case, SYS$ETC:FIBRE_SCAN doesn't reveal any errors or problems.
> The target and LUNs show up as I'd expect:
>
> $ run sys$etc:fibre_scan
>   [...]
> Probing Target 1 ==========================================================
>
> Port WWID:   5001-4380-28CC-9A38
> Node WWID:   5001-4380-28CC-9A38
>
> Target = 1. LUN = 0.
> ----------------------
> Devname:     $1$DGA1:
> Vendor ID:   COMPAQ
> Product ID:  MSA1000 VOLUME
> Devtype:     0 (Disk)
> Rev Level:   4.32
> WWID:        01000010:6008-05F3-0012-00F0-0000-0000-0375-0000
>
> Reported LUN count = 2. at target 1.
>
> Target = 1. LUN = 1.
> ----------------------
> Devname:     $1$DGA2:
> Vendor ID:   COMPAQ
> Product ID:  MSA1000 VOLUME
> Devtype:     0 (Disk)
> Rev Level:   4.32
> WWID:        01000010:6008-05F3-0012-00F0-0000-0000-0375-0001
>   [...]
>
> Here's an example of how I have one of the LUNs configure on the FreeBSD
> side. Mostly made-up/faked values for the serial, vendor, product,
> revision, just based on some working system in the wild in case there is
> anything magical about needing to be a "COMPAQ" vendor or something. The
> ident_info seems to be the magic that maps to UDID:
>
>      lun 0 {
>              backend block
>              device-id "600805f3001200f00000000003750000"
>              serial "MGKSERIAL0000"
>              option vendor "COMPAQ"
>              option product "MSA1000 VOLUME"
>              option revision "4.32"
>              option scsiname "0001"
>              option ident_info 0x00000001
>              option naa 600805f3001200f00000000003750000
>              path /dev/zvol/zroot/fc/vms00
>      }
>
> Obviously this isn't a supported configuration by any means, but I'm
> wondering if anyone has gone down this path before, or has any hints as
> to determine what the error is, or if there's anything in the above
> setup that looks like it might cause a problem?
>
> Thanks,
> Matthew
>

Perhaps the first thing to verify is that the drives under vms can
be mounted, then verify that data can be written to and read back.
Then perhaps export the drives using  nfs and verify that they
can be mounted,  written to and read back at the FreeBSD end.
That would prove that the hardware and os interface is working,
then go on from there...

Chris




More information about the Info-vax mailing list