Red Hat Bugzilla – Bug 568164
RFE add udpu communication transport to avoid requirement for multicast
Last modified: 2016-04-26 12:50:35 EDT
Description of problem:
Some customer environments are not capable of changing their network configuration to enable multicast.
Version-Release number of selected component (if applicable):
Engineering has a concept for a transport called udpu. Essentially udpu simulates multicast by using UDP unicast to communicate to all the potential cluster members in the system. Because the replication of packets occurs in the OS rather then the hardware switch, the performance is slower. Customers desiring plock usage from gfs2 will not be satisfied with the performance of the udpu transport. MRG customers would also not be satisified. However, in many use cases such as normal pacemaker operation and small scale clusters (8 nodes or less) that don't require MRG operation or plock operation, the performance should be acceptable.
udpu: uses only UDP unicast - available in all network environments - low performance
udp: uses UDP unicast and UDP multicast - requires network configuration - high performance
iba: uses IBA multicast - IBA switches support multicast in a standard fashion - very high performance
This feature request did not get resolved in time for Feature Freeze
for the current Red Hat Enterprise Linux release and has now been
denied. You may re-open your request by requesting your support
representative to propose it for the next release.
sdake, can you provide some information on how udpu would be configured in Corosync and used? This will give us a better idea of what other areas (aside from Luci) need integration work. Example config files would help here I think.
For example, will we need to expose udpu configuration as part of cluster.conf? That will mean cloning this bug for cluster component as well and making sure we update the schema.
Bug #657041 is the cman bugzilla related to this RFE. The patch has been merged into stable31 to support this feature.
From corosync.conf man page:
member This specifies a member on the interface and used with the udpu
transport only. Every node that should be a member of the mem-
bership should be specified as a separate member directive.
Within the member directive there is a parameter memberaddr
which specifies the ip address of one of the nodes.
An example corosync.conf showing 16 nodes is attached to this bugzilla.
In the case of cman, the "transport" should be changed to "udpu". Honza will provide necessary information to make that work in Bug #657041.
Created attachment 462725 [details]
example configuration file for those that configure udpu via corosync.conf (and not using the cman service engine)
Created attachment 464333 [details]
patch 1 to add udpu support
Created attachment 464334 [details]
patch 2 to add udpu support
Created attachment 464335 [details]
patch 3 for udpu support
Created attachment 464336 [details]
patch 4 to add udpu support
*** Bug 681269 has been marked as a duplicate of this bug. ***
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.