[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference smurf::ase

Title:ase
Moderator:SMURF::GROSSO
Created:Thu Jul 29 1993
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2114
Total number of notes:7347

1957.0. "multiple networks w/o routing" by ARAFAT::SANDGREN (It's always too early to give up!) Tue Mar 18 1997 13:18

Failover between interfaces w/o routing...

We have a case where ASEROUTING can't be used (easily).
We've done some basic testing w/o ASE and finally want this to work:

                                 ----------
                                 | Client |
                                 ----------
                                      | DAS
                                     / \
                                    / c \
                                   /     \
                                  /       \
                        -------------    -------------
                        |GigaSwitch1|--- |GigaSwitch2|
                        -------------    -------------
                             |    \        /     |
                             |     \b  a+c/      |
                             |      \    /       |
                             |       \  /        |
                             |b       \/         | a+c
                             |        /\         |
                             |       /  \        |
                             |      /    \       |ASE-c
                             |SAS  /SAS   \SAS-b |SAS-a
                          -----------    -----------
                          | Member1 |    | Nember2 |
                          -----------    -----------

The ASE servers will be DB servers running Oracle + SAP the "Clients" are
Application Servers running SAP. There are also real clients out there,
how the should interact we haven't though of/bothered with yet.

Some background:
There initially was just one subnet a, we were "forced" to use two SAS
interfaces on the ASE servers instead of DAS as in the Clients introducing
subnet b. Since there is no router - or rather we don't really want to route
since then the GigaSwitches aren't of any use - we can't use ASEROUTING.

Our tests so far is done at home with only with one member ie no cluster and 
no GigaSwitches ie this is our testbed:

                    First try                 Second try
                   ----------                 ----------
                   | Client |                 | Client |
                   ----------                 ----------
                        | a                       | c
                        |                         |
                        |                         |
                   -----------                -----------
                   | "Cloud" |                | "Cloud" |
                   -----------                -----------
                      |    |                    |    |
                      |    |                    |    |
                      |    |                    |    |
                      |    |                    |    |
                      |    |                    |    |
                      |b   |a IP-a              |b   |a IP-c
                    ----------                ----------
                    | Server |                | Server |
                    ----------                ----------


First try. Just subnets a and b
We have a "service" i.e. an IP-alias called IP-a. The Client is in subnet-a.
We unplug subnet-a, move the IP-alias IP-a from subnet a to b
The client could still access the Server but the Server couldn't connect to the
Client. It still tried to go out via the "broken" disconnected a subnet.

Is there someway to get this to work? It seams the routing layer in
dUNIX (still) can't handle multiple interfaces on same subnet. Our
could some correct/clever routing commands be issued so a-traffic goes
out via the b-interface

Second try. subnet c is introduced.
The client is now on subnet-c, with interface-routes to subnets a and b.
(route add -net subnet-x-net my-c-ip-addr -interface ;with x being both a and b)
We unplug subnet-a, move IP-c from a to b and lo and behold the Client can
now access the Server and vice versa. :-) :-)

The tricky questions now is how will SAP and Oracle react to this, do we
have to stop and restart the service or is it enough to just switch the
IP-address. Where ie in witch script(s) to put this to make it work
automagicly. AND will any of this be "supported"

Any inputs welcome, especially if someone have a better idea to solve our
problem(s)

/Cheers Claes
PS while trying do reproduce everything, just to be accurate in my description
I wasn't able to reproduce case 1, BUT I got it working instead
on client side:
route add -net subnet-b my-a-ip-addr -interface
on the server side:
move IP-a from a to b and then
route delete -net subnet-a my-a-ip-addr
route add -net subnet-a my-b-ip-addr -interface
And now it works. I don't know if this is better than introducing the c-subnet..
As I said earlier comments are very much welcome
T.RTitleUserPersonal
Name
DateLines
1957.1It works for me at a customer site.BACHUS::DEVOSManu Devos DEC/SI Brussels 856-7539Fri Mar 21 1997 08:2035
    Claes,
    
    What you describe at the very end of your note is what I used now since
    2 months with Success at one of my customer sites.
    
    	1) route delete -interface -net NET-A
    	2) route add    -interface -net NET-A IP-ADDRESS-IF-B
    	3) remove alias from interface IP-ADDRESS-IF-A
    	4) add    alias to   interface IP-ADDRESS-IF-B
    
    My config is using 4 network interfaces on a common backbone. The
    clients are only using the IP alias to connect.
    
    I used the ni_status_awk script (that I changed in a ni_status_ksh for
    my convenience) to automate the whole process. Thus, if the interface 3
    is going down, all the IP aliases placed on that interface are moved to
    an UP interface and the network route of the interface 3 is deleted and
    added to the UP interface. SO I have  TWO networks on the same
    interface.
    
    The script is so effective that I can removed a network cable from one
    of the 4 interfaces and later replace it, WITHOUT aby interruption on
    the client side. The script is in fact faster than the TCP timeout
    protocol. 
    
    The complexity is more coming from the fact that you have to create a
    set of files to remember which alias is on which interface, which
    network is on whwich interface, and that you have to test the network
    status at the start of a service to place the aliases on the "live"
    interface. You should also at the service stop remove the aliases from
    the interface where finally they were attached.
    
    Then, your first solution is  possible.
    
    Manu.
1957.2Wait and see :-)BACHUS::DEVOSManu Devos DEC/SI Brussels 856-7539Tue Mar 25 1997 17:0211
    Hi
    
    I received several mails asking to see the scripts I used for this
    network failover. I am, for now, very busy at a customer site far from
    the office. So, I cannot share my scripts with you this week. Being on
    holidays next week, I will try to post the scripts here or to place
    them in the anonymous account of fscr44.bro.dec.com.
    
    Keep in touch, Manu.
    
    
1957.3see note 1970.0BACHUS::DEVOSManu Devos DEC/SI Brussels 856-7539Thu Mar 27 1997 09:221