From 292e9d91095e74a68349089575641fca835d6a3e Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Mon, 8 Oct 2007 14:05:22 +1000 Subject: add an initial test version of an ip multiplex tool that allows us to have one single public ip address for the entire cluster. this ip address is attached to lo on all nodes but only the recmaster will respond to arp requests for this address. the recmaster then runs an ipmux process that will pass any incoming packets to this ip address onto the other node sin the cluster based on the ip address of the client host to use this feature one must 1, have one fixed ip address in the customers network attached permanently attached to an interface 2, set CTDB_PUBLI_INTERFACE= to specify on which interface the clients attach to the node 3, CTDB_SINGLE_PUBLI_IP=ip-address to specify which ipaddress should be the "single public ip address" to test with only one single client, attach several ip addresses to the client and ping the public address from the client with different -I options. look in network trace to see to which node the packet is passed onto. (This used to be ctdb commit 50d648c95e4e6d7c2867a034c2b550086d853320) --- ctdb/Makefile.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ctdb/Makefile.in') diff --git a/ctdb/Makefile.in b/ctdb/Makefile.in index 05ab99a7ef..837c5339d1 100644 --- a/ctdb/Makefile.in +++ b/ctdb/Makefile.in @@ -54,7 +54,7 @@ CTDB_SERVER_OBJ = server/ctdbd.o server/ctdb_daemon.o server/ctdb_lockwait.o \ TEST_BINS=bin/ctdb_bench bin/ctdb_fetch bin/ctdb_store bin/ctdb_persistent bin/rb_test \ @INFINIBAND_BINS@ -BINS = bin/ctdb @CTDB_SCSI_IO@ bin/smnotify +BINS = bin/ctdb @CTDB_SCSI_IO@ @CTDB_IPMUX@ bin/smnotify SBINS = bin/ctdbd DIRS = lib bin @@ -84,6 +84,10 @@ bin/scsi_io: $(CTDB_CLIENT_OBJ) utils/scsi_io/scsi_io.o @echo Linking $@ @$(CC) $(CFLAGS) -o $@ utils/scsi_io/scsi_io.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS) +bin/ctdb_ipmux: $(CTDB_CLIENT_OBJ) utils/ipmux/ipmux.o + @echo Linking $@ + @$(CC) $(CFLAGS) -o $@ utils/ipmux/ipmux.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS) -lipq + bin/ctdb: $(CTDB_CLIENT_OBJ) tools/ctdb.o @echo Linking $@ @$(CC) $(CFLAGS) -o $@ tools/ctdb.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS) @@ -156,6 +160,7 @@ install: all mkdir -p $(DESTDIR)$(etcdir)/ctdb mkdir -p $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 bin/ctdb $(DESTDIR)$(bindir) + ${INSTALLCMD} -m 755 bin/ctdb_ipmux $(DESTDIR)$(bindir) ${INSTALLCMD} -m 755 bin/ctdbd $(DESTDIR)$(sbindir) ${INSTALLCMD} -m 755 bin/smnotify $(DESTDIR)$(bindir) ${INSTALLCMD} -m 644 include/ctdb.h $(DESTDIR)$(includedir) @@ -169,6 +174,7 @@ install: all ${INSTALLCMD} -m 755 config/events.d/50.samba $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 config/events.d/60.nfs $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 config/events.d/61.nfstickle $(DESTDIR)$(etcdir)/ctdb/events.d + ${INSTALLCMD} -m 755 config/events.d/90.ipmux $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 tools/ctdb_diagnostics $(DESTDIR)$(bindir) ${INSTALLCMD} -m 755 tools/onnode.ssh $(DESTDIR)$(bindir) ${INSTALLCMD} -m 755 tools/onnode.rsh $(DESTDIR)$(bindir) -- cgit