From: MERC::"uunet!tron!clevax.dnet!jon" 29-AUG-1992 05:42:36.99 To: uunet!"everhart@raxco.com" CC: uunet!JON Subj: Multiple path served Virtual disks If the latest version of DISM32 is on the tapes, then I have it. Perhaps the version information in the output .mar file is not reflecting the real version. I am going to be sending some questions off to the macro32 list concerning CDDRIVER. As far as shadowing, what I would like to be able to do is to serve Host shadowed disks to NI satellites. Currently, DEC's product doesn't allow this. Perhaps I could mount/system/foreign bogus_label the shadow virtual units from the server nodes, use your mod's to VDDRIVER using the LBN mode and device of the shadow virtual unit, and set the VD allocation class to something other than the allocation class of the node (maybe just use zero). Then after VDDRIVER is loaded and the UCB's are all created on all the server nodes (i.e. nodes that have a "direct" connection to the device), then synchronize with the iodatabase and modify VDA's ddb$l_allocls to be the same as clu$gl_allocls, and finally set the VDA device/served on all server nodes. I believe the the effect would be to have the shadow drives available cluster wide as VD units, with automatic failover to another server node in the event a path is lost. The downside to all this is that there is no automatic way to handle the startup, (other than the limited help sysman provides) $ sysman set /env=(server1,server2...) ! assumption: alloclass same for all sysman> ! servers specified in /environment sysman> do mcr sysgen load dev:[direct]vddriver sysman> do mcr sysgen connect vda0: /noadapt /driver=vddriver sysman> ! assumes asnvdm6 is in def command table sysman> do asnvdm6 /assign/lbn=0/length=(size of dsa0: disk) vda0: dsa0: sysman> do change_allocls vda0: ! a program that sets the ddb$l_allocls to sysman> ! be that same as clu$gl_allocls sysman>!!! THIS MUST BE DONE PRIOR TO SETTING THE DEVICE SERVED !!! sysman> do set device/served vda0: ! create ucb's on satellite nodes sysman> ! note that the first server node to execute the set device/served sysman> ! will be the primary server for the vda0: unit. Any srvio will sysman> ! result it the shadowing operations being performed on the server sysman> ! node on behalf of the client. This should result is substantially sysman> ! less NI traffic, since shadowed writes won't be transmitted multiple sysman> ! times across the cluster. sysman> exit $ mount/cluster vda0: vdlabel What am I forgetting? It would be possible to get asnvd to do the changing of the allocation class and setting the device served (it would have to do whatever set device/served does). What DEC's product should do is serve the shadowed virtual unit to all nodes that don't have a direct connection to at least one member of the shadow set. I can't think of a technical advantage to the way they do it now (all nodes that have the device mounted issue multiple writes) except that the server nodes are required to do extra work when they are serving a shadowed device.) It the nodes don't have direct connections, the MSCP server is going to have to do work anyway. The current method put extra traffic on the ethernet when a Satellite writes to a shadowset, that would be more efficiently handled by a DSSI channel. Talk to you later, Jon jon@clevax.wec.com