Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Volume shadowing under OpenVMS

SOLVED
Go to solution
Paolo_c
Advisor

Volume shadowing under OpenVMS

Good morning, 

 

We're looking to implement volume shadowing on a number of our systems as part of an exerise to migrate from existing SAN xp240 onto an XP7. I'm unfamiliar with volume shadowing under OpenvVMS (as have previously always used RAID mirroring for disk redundancy), . Although I've started to rread through the documentation , I was hoping that somone might be able to provide me with answers to the following issues which I've enountered already. 

I have mounted 2 drives : dga1 (presented from existing Xp2400 SAN() and dga10 , (presented from new XP7 SAN)  into the following shadowset 

$ mount/system DSA1 /shadow-($1$dga1:, $1$dga10:)  DB_xxx 

$Sh dev DSA1

DSA1: Mounted 0 DB_VOL 337958208 1 1
$1$DGA1: (PBYIA2) ShadowSetMember 0 (member of DSA1:)
$1$DGA10: (PBYIA2) ShadowSetMember 0 (member of DSA1:)

The shadowset is now built above,. If i dismount it (using dismount/sys DSA1)  and reboot the system, will it get mounted as a shadowset (if i place the following command in startup file). ? Or will i also need to include  a (concealed)?)  logical definition in ssystem startup files, so that the system recognises it as existing shadowset and  doesnt try to rebuild it from scratch ? 

$mount/system DSA1 /shadow=($1$dga1:, $1$dga10:)  db_vol

After mounting /creating the shadowset above,  I attempted to defined a concealed logical as follows 

$ define/sys/exec /tran=(concealed,terminal) dsa1 $!$dga1:

 However if I then issue the command dir dsa1:[000000]  (or dir $1$dga1:[000000]  it returns the followng error  

%DIRECT-E-OPENIN, error opening DSA1:[000000]*.*;* as input
-RMS-E-DNR, device not ready, not mounted, or unavailable

Could someone please confirm the correct syntax to use  above .

 

kind regards

Paul 

 

 

 

 

 

 

 

 

 

 

 

6 REPLIES
Ruslan R. Laishev
Super Advisor

Re: Volume shadowing under OpenVMS

Hi !

$ define/sys/exec /tran=(concealed,terminal) dsa1 $!$dga1:

It's looks like a wrong "!" symbol in the device name.

 

Paolo_c
Advisor

Re: Volume shadowing under OpenVMS

$ define/sys/exec /tran=(concealed,terminal) dsa1 $!$dga1:

It's looks like a wrong "!" symbol in the device name.

 

thanks for the feedback, 

With regards to the above. I think I must have inserted a typo when posting , as I did enter the correct string on the VMS server but receive the followiing error when trying to clist directory contents using any of the associated device names 

dir $1$dga1:[000000] , $1$dga10::[000000] , dir dsa1:[000000]

%DIRECT-E-OPENIN, error opening DSA1:[000000]*.*;* as input
-RMS-E-DNR, device not ready, not mounted, or unavailable

Also need some advice re: dismounting /remoiunting shadowsets. When I manually dismounted DSA1 from command line and rebooted system., when I tried to mount the shadowset again using the following command,  it rerbuilt the shadowset members using mini-copy , so presume that this was because logical for DSA1 was not defined within the associated system tsart-up file ?.  

$mount/system/ DSA1 /shadow=($1$dga1:, $1$dga10:)  db_vol 

 

Regards

Paul 

Hoff
Honored Contributor

Re: Volume shadowing under OpenVMS

Shadowsets are not particularly different than other disks on OpenVMS, at least around what's necessary in the local system startup procedures.  Only the system disk is automatically mounted.   Other disks must be mounted in SYSTARTUP_VMS.COM or one of the other startup procedures, either directly via MOUNT commands edited into those procedures, or via invoking something akin to a locally-modified version of the SYS$EXAMPLES:MSCPMOUNT.COM command procedure and mounting the volume(s) there.

There's usually no need to create a logical name DSA1 to reference a device that's named DSA1:.  That probably won't do what you want here, either — it looks like you're trying to use a logical name to reference a member volume, and that won't work.  You want a MOUNT/SHADOW command here.

On the topic of logical names, MOUNT will automatically create a logical name DISK$DB_xxx for this volume, if you do need a logical name.   You can specify a different logical name on the MOUNT command (via one of the parameters), or you can use a DEFINE command and create one yourself.   But again, once the volume is mounted, you'll have a DSA1: device and don't need a DSA1 logical name.   But this question is centrally around a MOUNT /SHADOW command, and not a DEFINE command and a logical name.

Once part of a shadowset, the member volumes — including $1$DGA1:, in your case — are not accessible directly, and you should not reference those via a DSA1 logical name.   Use the DSA1: device name to reference those; the device that will be created by the MOUNT /SHADOW command.

If you've not already done so, consider skimming the OpenVMS user's manual and the system manager's manuals, as those can help understand OpenVMS commands and OpenVMS commands used for system management such as the MOUNT command, and with how logical names are used, and with the terminology used by OpenVMS and DCL, such as parameters and qualifiers, and logical names and symbols and device names.   http://www.hp.com/go/openvms/doc   Alternatively, consider getting yourself an escalation and support path, as OpenVMS is not without its wrinkles and (for instance) there are MOUNT commands that can clobber the contents of disks.

Hoff
Honored Contributor
Solution

Re: Volume shadowing under OpenVMS

p.s. A clean volume dismount will not trigger any extra overhead on the next remount of the shadowset, beyond the MOUNT processing.  No merges and no copies will be required.   A forced dismount, a system crash, or a member volume that's been removed (and to be later re-added), or a system shutdown with applications active on the shadowset volume will require some extra processing at the next mount of the shadowset device (or when the member volume is re-added back into the shadowset, if you're adding and removing member volumes).

Usual preference here is to write some code to scan for and/or to cause all application processes and specifically those with I/O channels open to the shadowset DS volume to exit and/or otherwise to close all open channels to the volume prior to the volume dismount, and to have that and related processing present in SYSHUTDWN or (if you're running a a sufficiently recent OpenVMS version) SYSHUTDWN_0010 procedures; in the site-specific shutdown command procedures.

This dismount-related topic should be mentioned in the shadowing manual, but it does trip up folks.

abrsvc
Respected Contributor

Re: Volume shadowing under OpenVMS

Hoff has it right.

As a summary, your command:    ==>   $mount/system DSA1 /shadow=($1$dga1:, $1$dga10:)  db_vol

should be in the startup command file and will mount the shadowset device (DSA1) and create a logical name DISK$DB_VOL which can be used to access the device.  As stated by Hoff, once the shadowset has been created , access is by using the device DSA1 or DISK$DB_VOL.  Access to the member drives is NOT allowed.

DO NOT create a logical name called DSA1, access the shadowset just as you would a "normal" device.  Without the logical name created (or DEASSIGN DSA1 on the system mentioned in the original posting), access to the device as shown below should work as expected:

DIR DSA1:[000000]

The bottom line here is that the shadowsets can be accessed just like any other disk.

Dan

Paolo_c
Advisor

Re: Volume shadowing under OpenVMS

Thanks to everyone for your valued feedback