Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Accessing Private Queue that is Clustered on Windows Server 2008

1,045 views
Skip to first unread message

Steve987

unread,
Sep 11, 2009, 10:51:02 AM9/11/09
to
Our setup is:
- Failover cluster using Windows Server 2008
- 2 nodes, active/passive arrangment
- cluster has an MSMQ resource with a network name and disk storage added
- .NET Client application on Windows XP trying to access private queue that
is clustered

For discussion lets call the machine for Node 1 Server1, and the machine for
Node 2 Server2. The cluster is Server3. From documentation we should be
able to simply add an MSMQ resource to the cluster and have it use a network
name and disk storage, and MSMQ clients can reference the cluster server name
for use in the queue path.

For the private queue, the queue path is then:
FormatName:DIRECT=OS:Server3\private$\my_queue

The queue cannot be accessed. Has anyone been able to write to a private
queue
using failover clustering in Windows Server 2008?


John Breakwell

unread,
Sep 14, 2009, 7:54:46 AM9/14/09
to
Hi Steve,

When you ran the "High Availability Wizard" to create the clustered MSMQ
resource, what did you enter for the Name on the Cliant Access point page?
This the network name to be used by the MSMQ resource.
By default, it won't be the same as the network name used by the cluster
that appears as the root in the Failover Cluster Management snap-in.

Also, you don't say how you are trying to access the private queue?
Are you sending messages to the cluster or receiving messages from the
cluster?
If "receiving" then you will have access problems as Windows Server 2008
will have locked things down, such as port 135 for RPC traffic.
http://blogs.msdn.com/johnbreakwell/archive/2008/07/10/getting-msmq-messages-out-of-windows-server-2008.aspx

What error message do you see?

Cheers
John Breakwell (MSFT)


"Steve987" <Stev...@discussions.microsoft.com> wrote in message
news:5A428051-D31B-472F...@microsoft.com...

Steve987

unread,
Sep 14, 2009, 9:27:01 AM9/14/09
to
After adding an MSMQ resource, then opening Properties, I know that a disk
drive was added and a "Name" was added, i.e. the name of the cluster was
added.
That name is Server3. On Server1 and Server2 we created the private queue
on each server, with the same properties. So in the MSMQ client app the
queue path uses the server called Server3. I am not sure what you mean
exactly by Client Access point page. For our architecture, the msmq client
is on another machine, and it is to send messages to the clustered queue, and
the receiving app is on another machine.

Steve987

unread,
Sep 14, 2009, 9:36:01 AM9/14/09
to
We see no error messages, all is silient as if the queue does not exist.
The msmq does use some acknowledgment, and we know that acknowledgment never
occurs, meaning that the client keeps the outgoing message in the outgoing
queue. The acknowledgment code does work because when in the queue path
the Server2 is referenced instead, that queue works. Also all our testing
using queues not on a cluster has worked perfectly.

John Breakwell

unread,
Sep 15, 2009, 8:03:29 AM9/15/09
to
Hi Steve

It is normal for the clustered MSMQ resource to have a network name that is
different from the one being used for the cluster.
Are you sure your MSMQ resource is configured to use the SAME network name
as the cluster itself?
You can see the cluster network name in the Failover Cluster Management
snap-in. It is at the top of the tree in the left hand pane.
The network name used for MSMQ is found by clicking on the MSMQ resource
under "Service and Applications" in the left hand pane.

The "Client Access Point" page is part of the "High Availability Wizard"
which you probably used to create the MSMQ resource.

Cheers
John Breakwell (MSFT)

"Steve987" <Stev...@discussions.microsoft.com> wrote in message

news:190BAF3F-6154-4338...@microsoft.com...


> After adding an MSMQ resource, then opening Properties, I know that a disk
> drive was added and a "Name" was added, i.e. the name of the cluster was
> added.
> That name is Server3. On Server1 and Server2 we created the private queue
> on each server, with the same properties. So in the MSMQ client app the
> queue path uses the server called Server3. I am not sure what you mean
> exactly by Client Access point page. For our architecture, the msmq
> client
> is on another machine, and it is to send messages to the clustered queue,
> and
> the receiving app is on another machine.
>
> "John Breakwell" wrote:
>
>> Hi Steve,
>>
>> When you ran the "High Availability Wizard" to create the clustered MSMQ

>> resource, what did you enter for the Name on the Client Access point

Steve987

unread,
Sep 15, 2009, 9:25:02 AM9/15/09
to
I may have told you the wrong name in the cluster tree view.
In the Failover Cluster Management dialog, the very first node in the tree
view
is "Failover Cluster Management", and just below that the node
is "MyCluster.Lab" (not really that but just for discussion).
Just below that is "Services and Applications", and just below
that is "Server3". Below "Services and Applications" is "Nodes" and
below "Nodes" are the 2 nodes in the tree view.

Now when I added the msmq resource, over on the far right of the dialog
is "Actions". In Actions is a menu item called "Add a resource".
When I add the msmq resource, I never see anything that says
"High Availability Wizard". When adding a new msmq resource,
I added the disk space and "Name" in Properties-->Dependencies.

Sounds like some major differences in what we are saying, so I hope
that makes what I did more clear. This is Windows Server 2008 64-bit.

Steve987

unread,
Sep 15, 2009, 11:54:02 AM9/15/09
to
I am now thinking how we added the msmq resource is very different
from the way you are describing. When adding an msmq resource, we never
encountered the "High Availability Wizard", and now I see how you would
encounter this wizard. If one were to right-click "Services and
Applications",
they will see "Configure a Server or application" menu item, that launches
the "High Availability Wizard". The application or service that was created
here shows up as "Server3", and that is the server name used for
MSMQ in the queue path by the client app. Then for Server3, we added
resources and from then on there was no more "High Availability Wizard".
This may be a major clue about what we did versus what you are telling me so
far.

John Breakwell

unread,
Sep 16, 2009, 12:26:23 PM9/16/09
to
Hi,

Thanks for clarifying.
So "MyCluster.Lab" is the network name for the cluster
and "Server3" is the network name for the MSMQ resource.

(32-bit or 64-bit won't make a difference).

The address looks fine:


FormatName:DIRECT=OS:Server3\private$\my_queue

You said "the client keeps the outgoing message in the outgoing queue."
What's the state of the outgoing queue on the client - connected, waiting to
connect, inactive?
Does the next hop show the correct IP address for Server3?
Can you use PING at the command prompt to get a response from Server3?

The default permissions for queues on Windows 2008 are not as open as in
previous versions.
Does the logged in user on the client have Sebnd permissions to the queue?

Cheers
John Breakwell (MSFT)

"Steve987" <Stev...@discussions.microsoft.com> wrote in message

news:FED0CE3B-EF32-49B8...@microsoft.com...

0 new messages