Author |
Message
|
belchman |
Posted: Wed Apr 06, 2011 10:34 am Post subject: Shared Channels and Using Sysplex Distributed w/dvipa |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
OK, now on to the fun stuff.
All please be advised that 99% of this stuff is new to me.
I am talking to a SysProg about using Sysplex Distributor to Round-Robin to 2 Queue Managers in a sysplex where each queue manager is on a different L-par.
Each queue manager has its own chin and each chin has its own port. In future refs, I will refer to this as host(port) where host = lpar hosting the chin and port is the port configured to the chin.
Ideally, all of the QSG participating remote nodes send data to a listener in the QSG and Sysplex Distributor intercepts it and sends it to the next available host(port). I don't know how to speak SysProgeze and i defn don't know how to speak dvipa ease.
In reading chapter 4 - DQM in WebSphere MQ for z/os, there is a blurb that says "If you are using Virtual IP Addressing, either with WLM/DNS or Sysplex Distributer and wish to listen on a specific addressm use the command:
+cpf START LSTR PORT(1555) INDISP(GROUP) IPADDR(mvsvipa)
What the?1 I say
My questions for you guys hopefully:
I can create and start a listener from my laptop because I can remote admin using Explorer. So I do not have to use SDSF unless I am feeling masochistic.
Yes, I spent several hours perusing manuals trying to find this stuff
q1:Is the port 1555 just an example or is that the port that a group listener MUST use?
q2:I assume the GROUP is my QSG name. True?
q3:IPADDR(mvsvipa), is that the DNS name that the SysProg gave me that logically represents the SysPlex?
q4: If I want to have a remote sender channel that connects to the QSG and the most available (or next chin based on WLM algorithm) CHIN will accept the connect, what do I put in the conname?
The SysProg sent me a string that may represent my qsg on the sysplex named ZOSTEST(2300). Could that be what I put in conname of sender?
I could go on and on here. I want to stop to see if anyone has the expertise and patience to throw me some bones here.
The z/OS queue manager already has a group TCP/IP listener (default I guess) but it is not running and it does not have a port _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
belchman |
Posted: Wed Apr 06, 2011 10:40 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
Right now, the only MQ requirement is that when a distributed MQ node connects to a z/OS node, the most available z/OS node accepts and services the connection. If that CHIN should die, then the surviving CHIN will take over. Inflight stuff is expendable.
I can make it more robust later _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
Toronto_MQ |
Posted: Wed Apr 06, 2011 11:55 am Post subject: Re: Shared Channels and Using Sysplex Distributed w/dvipa |
|
|
 Master
Joined: 10 Jul 2002 Posts: 263 Location: read my name
|
belchman wrote: |
q1:Is the port 1555 just an example or is that the port that a group listener MUST use?
q2:I assume the GROUP is my QSG name. True?
q3:IPADDR(mvsvipa), is that the DNS name that the SysProg gave me that logically represents the SysPlex?
q4: If I want to have a remote sender channel that connects to the QSG and the most available (or next chin based on WLM algorithm) CHIN will accept the connect, what do I put in the conname?
|
a1: it's just an example, use whatever port you and your sysprogs agree on
a2: no, GROUP should be GROUP
a3: yes, that is the SD address you get from your sysprog (we use the IP and not the hostname though I suppose either will do)
a4: put the SD address/hostname in the conname (ie. whatever you fill in to IPADDR in a3, with the port from a1) - ex. mqsdaddr.smth.com(1420)
belchman wrote: |
The SysProg sent me a string that may represent my qsg on the sysplex named ZOSTEST(2300). Could that be what I put in conname of sender?
|
Don't really understand what he's giving you here; is ZOSTEST the hostname he's assigned for your sysplex distributor address? Are they reserving port 2300 for you?
If so, then you're going to want:
+cpf START LSTR PORT(2300) INDISP(GROUP) IPADDR(ZOSTEST)
... though I would expect a FQDN for the hostname.
Let me know if you have any other questions. |
|
Back to top |
|
 |
Toronto_MQ |
Posted: Wed Apr 06, 2011 12:02 pm Post subject: |
|
|
 Master
Joined: 10 Jul 2002 Posts: 263 Location: read my name
|
belchman wrote: |
Right now, the only MQ requirement is that when a distributed MQ node connects to a z/OS node, the most available z/OS node accepts and services the connection. If that CHIN should die, then the surviving CHIN will take over. Inflight stuff is expendable.
I can make it more robust later |
You should understand that it's not seamless and won't just take over. You will get the usual channel failure and proper MQ retry logic will then attempt the SD address again and as one IP or listener won't be available, you'll be redirected to the one that is available. |
|
Back to top |
|
 |
belchman |
Posted: Wed Apr 06, 2011 12:03 pm Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
Thx again Toronto..
I assume that the answer to your questions are YES and YES
There are three strings he gave me:
ZOSPROD
ZOSTEST
ZOSDEV
where each of those strings represent a prod, test and sandbox sysplex respectively
He also have me three ports named PROD, USER,TEST
I am unsure of how the dvipa will know about the listening ports of the 2 MQ chins in each sysplex.. they have different ports... he says they need to be the same port to experience HA. _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
Toronto_MQ |
Posted: Wed Apr 06, 2011 12:11 pm Post subject: |
|
|
 Master
Joined: 10 Jul 2002 Posts: 263 Location: read my name
|
belchman wrote: |
Thx again Toronto..
I assume that the answer to your questions are YES and YES
There are three strings he gave me:
ZOSPROD
ZOSTEST
ZOSDEV
where each of those strings represent a prod, test and sandbox sysplex respectively
He also have me three ports named PROD, USER,TEST
I am unsure of how the dvipa will know about the listening ports of the 2 MQ chins in each sysplex.. they have different ports... he says they need to be the same port to experience HA. |
That's correct. You need to start a group listener on each qmgr in your QSG in the plex on the same address and port to make this work.
Where's the confusion regarding the dvipa knowing the ports? He gave you an address and a port to use, use those in your START LSTR commands for the GROUP listener and you're off to the races. Don't confuse this with your existing listener (assuming you have one). You will have a GROUP listener on one port on your SD address, and a "private" listener on another port (maybe 1414) on the IP/hostname of that LPAR in the plex, for each qmgr that requires it.
So, essentially, run:
+cpf START LSTR PORT(TEST) INDISP(GROUP) IPADDR(ZOSTEST)
- on each LPAR in the "test" QSG.
Make sense? |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 3:46 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
Makes perfect sense. Thank you very much. It is much more concerting to here the advice of someone who has done it instead of hoping you translate the manual properly. _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 3:56 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
Toronto,
Being that this listener will be in the QSG, is there any advantage/disadvantage for me to starting one on both qmgrs in the group? _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 4:26 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
For the next person trying this...
I had difficulty creating the SYSTEM.QSG.CHANNEL.SYNCQ which is required by the listener, else it wont start.
When I tried to create it, I kept getting AMQ4178. To finally get it created, I copied the existing SYSTEM.CHANNEL.SYNCQ, renaming it. I added it as shared and indicated what structure I wanted it in. _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 07, 2011 5:04 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
All of the definitions required for qsg's are included in the SCSQPROC dataset.
Have you visited the WMQ for z/OS System Setup Guide for details on setting up a qsg? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 5:31 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
Yes Bruce, thats where I got direction on how to get the DBAs to create my database and the Storage folks to create my CPF structures.
Ths for reminding me that I could have gotten an MQSC command for SYSTEM.QSG.CHANNEL.SYNCQ from scsqproc. I forgot about that. Since this is not a new build, I didn't even think of that.
Now that I am here, I have another situation...
When I first issued ...
START LSTR PORT(myPort) INDISP(GROUP) IPADDR(myDNS)
I received an error because the network folks had not created myDNS yet. So I am using the IP until that is done. So I stopped the listener I created using the myDNS and it did not display as running.
But when I started the new listener using ipAddress, both the ipAddress listener and the dnsListener display with the dnsListener in retrying state and the ipAddressListener in running state.
If I try to stop the dnsListener now i am returned...
1) are you sure you want to stop the object named '118/4/3/2300/'
2) and when I say yes it reports An unexpected error (3228) has occurred. (AMQ4999)
When it is time to go back to using the dnsListener (which is what I have in my "inpx"), I assume the just go to running state because the DNS will be there. However, I will have to worry about how to remove the ipAddress listener, assuming it will present the same challenges.
Wordy, but I hope my point is made. In short, how do I remove the retrying listener? _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 07, 2011 5:46 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I will have to worry about how to remove the ipAddress listener, assuming it will present the same challenges. |
Worry? Look at the WMQ Script Command Reference (MQSC) manual. Look for DELETE.
You need to take IBMs WM300 WebSphere MQ for z/OS System Administration class. Both you and your organization will benefit greatly from training you. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 5:59 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
There is no 'X' in the z/OS column of the table on page 295 of the MQSC for v7 guide. This makes me assume the DELETE LSTR command is not valid for z/OS queue managers.
I have had the WM300 class, 2 times in fact. It is just that I manage MQ for Linux x86, MQ for AIX, MQ for zLinux and MQ for z/OS. The z/OS stuff is so infrequently modified (it is only 5% of what I do), I do not stay as sharp as I should be with it.
And, as much as possible, I manage all flavors of nodes using MQ Explorer v7. And MQ Explorer reports the mentioned errors in my last post.
On the SDSF cmd line, and in CSQOREXX, I have had no luck in removing/stopping the listeners.
I will figure it out.
Thx _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 07, 2011 6:03 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
On the SDSF cmd line, and in CSQOREXX, I have had no luck in removing/stopping the listeners. |
Exactly what happens when you issue the MQSC command STOP LISTENER(listenername) ? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
belchman |
Posted: Thu Apr 07, 2011 6:21 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
to resolve my issue I issued:
STOP LSTR PORT(2300) IPADDR(myIP)
STOP LSTR PORT(2300) INDISP(GROUP)
Then I saw no running GROUP listeners
Then I issued :
START LSTR PORT(2300) INDISP(GROUP) IPADDR(myIP)
and I only see 1 running GROUP listener and no retrying listeners
Thx to all _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
|