I got tired of difficulties presented by QNTC and by QFileSvr.400 and
decided to explore using MOUNT instead. So far I'm impressed. I have one
more hurdle to jump though. Let me give you some setup information. I
have three lpars. Let's call them: PRIMARY, BACKUP and CLIENT. PRIMARY
is replicated to BACKUP by our HA software. CLIENT uses MOUNT to access
stream files in the IFS on the others.
For the sake of our example, let's say the IP address for PRIMARY is
10.10.1.23 and the IP address for BACKUP is 10.17.1.23. Let's say we've
created an additional DNS entry for TESTSWITCH and set it's IP address to
10.10.1.23, which is also currently the address for PRIMARY.

I'll go through some setup.

On PRIMARY I run the following:
STRNFSSVR *ALL
EXPORTFS OPTIONS('-I -O') DIR('/mydatadir')

On CLIENT I run the following:
md '/testswitch'
md '/testswitch/mydatadir'
MOUNT TYPE(*NFS) MFS('testswitch:/mydatadir')
MNTOVRDIR('/testswitch/mydatadir')
WRKLNK '/testswitch/mydatadir'
So far, great. I can see the contents of the mydatadir on PRIMARY.

Now I'll simulate a HA switch.
On PRIMARY I run:
EXPORTFS OPTIONS('-U FORCE -F') DIR('/mydatadir')

In the DNS I change TESTSWITCH from 10.10.1.23 to 10.17.1.23, which is
currently the IP address for BACKUP.

On BACKUP I run:
STRNFSSVR *ALL
EXPORTFS OPTIONS('-I -O') DIR('/mydatadir')

On CLIENT I run:
PING TESTSWITCH and it returns 10.17.1.23, the ip address for BACKUP.
WRKLNK '/testswitch/mydatadir/*'
Object handle rejected by file server. (CPFA0E6)
The message text alludes that I have a handle to an existing object that
is no longer valid and I need to close and reopen it.
I attempt to resolve it by a signoff and sign back on to CLIENT and try
again.
Nope. Same error.
UNMOUNT TYPE(*NFS) MNTOVRDIR('/testswitch/mydatadir')
MOUNT TYPE(*NFS) MFS('testswitch:/mydatadir')
MNTOVRDIR('/testswitch/mydatadir')
wrklnk '/testswitch/mydatadir/*'

Now it works. This presents a challenge. Not only do I need to do stuff
on the server, and on the dns; but I also need to perform actions on all
clients that access this server after the switch.
And, since the clients will include Domino servers running on both IBM i
and Linux, solutions utilizing remote command execution will have to be
tailored for each individual clients OS and local directory structure.
An alternative would be error trapping within Domino script to
unmount/mount. Concerns with that could include:
- Can the domino server script execute MOUNT commands or is that limited
to personnel with special authority?
- Does UNMOUNT and MOUNT have the same parameters on Linux as on IBM i?
For example if you try to run UNMOUNT TYPE(*NFS) on Linux I would expect
undesirable results due to the command structure itself.

I'm open to suggestions.


Rob Berendt




Return to Archive home page | Return to MIDRANGE.COM home page