How to redundant a direct TCP link? - Veritas Cluster Server

This is a discussion on How to redundant a direct TCP link? - Veritas Cluster Server ; Greetings, I have two servers, and I use VCS 3.5 to cluster the two server. Between the two servers, I want to have a intranet, and I don't want to use HUB or switch, so I link the two server ...

+ Reply to Thread
Results 1 to 9 of 9

Thread: How to redundant a direct TCP link?

  1. How to redundant a direct TCP link?


    Greetings,

    I have two servers, and I use VCS 3.5 to cluster the two server. Between
    the two servers, I want to have a intranet, and I don't want to use HUB or
    switch, so I link the two server with two ethernet cables. On server1, I
    configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on server2, I
    configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With ifconfig -a
    command, all ports are up and running, but from server1, I can only ping
    192.168.0.3; and from server2, I can only ping 192.168.0.1. So it seems my
    design is wrong.

    I still want to just use direct two link cables(active-standby) between the
    two servers to build a intranet. How to implement this with VCS.

    Thanks in advance!
    Evan

  2. Re: How to redundant a direct TCP link?

    Evan

    The fact that you can only ping certain addresses, does not mean your design
    is wrong, it means your routing is wrong.

    check routing with "netstat -rn"

    I bet all your routing for network 192.168.0.0 happens through the first
    interface plumbed up (the qfe2 interface)


    If you want to ping, do the following:

    ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    ping -i 192.168.0.4 192.168.0.2 (on the second machine)

    if you're using Solaris 8 or above, you can even do:

    ping -i qfe3 192.168.0.4
    ping -i qfe3 192.168.0.4


    (All that is pure Solaris, no VCS yet)

    To do this via VCS , you must specify the IP addresses as resources
    (although you need to plumb up something on the interfaces before VCS kicks
    in)




    "Evan" wrote in message news:403ae1de@ROSASTDMZ05....
    >
    > Greetings,
    >
    > I have two servers, and I use VCS 3.5 to cluster the two server. Between
    > the two servers, I want to have a intranet, and I don't want to use HUB or
    > switch, so I link the two server with two ethernet cables. On server1, I
    > configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on server2, I
    > configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With ifconfig -a
    > command, all ports are up and running, but from server1, I can only ping
    > 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it seems my
    > design is wrong.
    >
    > I still want to just use direct two link cables(active-standby) between

    the
    > two servers to build a intranet. How to implement this with VCS.
    >
    > Thanks in advance!
    > Evan




  3. Re: How to redundant a direct TCP link?


    Hi, Me,

    Thank you very much for your answer. Now, I am really in the jungle.

    I just want to use two cables to connect the two servers directy without
    hub or switch (of course there are another two cables for VCS heartbeat),
    so that the two servers act as a small intranet, and the two cables act as
    active and standby. An oracle database runs on server1 and my application
    which depends on databas run on server2. So there are following cases:

    1. One cable or one network port fault, then connection fail over to the
    other cable.
    2. Oracle data down or server1 down, then oracle database fail over to server2.
    3. The application down or server2 down, then application fail over to server1.

    How to design VCS service group and resource for this problem? Any idea will
    be greatly appricaited.

    Thanks again.
    Evan

    "Me" wrote:
    >Evan
    >
    >The fact that you can only ping certain addresses, does not mean your design
    >is wrong, it means your routing is wrong.
    >
    >check routing with "netstat -rn"
    >
    >I bet all your routing for network 192.168.0.0 happens through the first
    >interface plumbed up (the qfe2 interface)
    >
    >
    >If you want to ping, do the following:
    >
    >ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    >ping -i 192.168.0.4 192.168.0.2 (on the second machine)
    >
    >if you're using Solaris 8 or above, you can even do:
    >
    >ping -i qfe3 192.168.0.4
    >ping -i qfe3 192.168.0.4
    >
    >
    >(All that is pure Solaris, no VCS yet)
    >
    >To do this via VCS , you must specify the IP addresses as resources
    >(although you need to plumb up something on the interfaces before VCS kicks
    >in)
    >
    >
    >
    >
    >"Evan" wrote in message news:403ae1de@ROSASTDMZ05....
    >>
    >> Greetings,
    >>
    >> I have two servers, and I use VCS 3.5 to cluster the two server. Between
    >> the two servers, I want to have a intranet, and I don't want to use HUB

    or
    >> switch, so I link the two server with two ethernet cables. On server1,

    I
    >> configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on server2,

    I
    >> configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With ifconfig

    -a
    >> command, all ports are up and running, but from server1, I can only ping
    >> 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it seems

    my
    >> design is wrong.
    >>
    >> I still want to just use direct two link cables(active-standby) between

    >the
    >> two servers to build a intranet. How to implement this with VCS.
    >>
    >> Thanks in advance!
    >> Evan

    >
    >



  4. Re: How to redundant a direct TCP link?

    Evan


    What I suggest it the following:

    1. for the IP (fail-over links)

    Plumb al l interfaces on boot up (create the /etc/hostname.qe? files)
    Create a resource of type MultiNICB that runs in parallel on the 2 nodes
    (This will take care of the fail-over between the interfaces)
    Create a IPMultiNICB resource for the "floating" IP address that will be
    the "live" connection between the 2 nodes.
    (Note that MultiNICB and IPMultiNICB is only available on VCS 3.5 -
    earlier versions, you have to use the MultiNICA resource)

    2. for the Oracle and Application (on different nodes)
    Create a service group and put your Oracle resource and all other
    resources needed by Oracle in this service group. (This might include the
    floating IP as explained above, the Sqlnet or listener resource, some
    disk/volume/diskgroup resources)
    Create another service group and put your application in this service
    group and any other resources that the application might need.
    (By default, these service groups will be fail-over, and thus take care
    of your problems).


    The Admin Guide contains a lot of examples of creating Service Groups and
    the Bundeled Agents guide contains some examples of configuring the
    different resources.

    If you still get stuck after that, I might help you with all the commands to
    create the stuff (provided you supply me all the information)


    That should be it !!


    "Evan" wrote in message news:403b4e80@ROSASTDMZ05....
    >
    > Hi, Me,
    >
    > Thank you very much for your answer. Now, I am really in the jungle.
    >
    > I just want to use two cables to connect the two servers directy without
    > hub or switch (of course there are another two cables for VCS heartbeat),
    > so that the two servers act as a small intranet, and the two cables act as
    > active and standby. An oracle database runs on server1 and my application
    > which depends on databas run on server2. So there are following cases:
    >
    > 1. One cable or one network port fault, then connection fail over to the
    > other cable.
    > 2. Oracle data down or server1 down, then oracle database fail over to

    server2.
    > 3. The application down or server2 down, then application fail over to

    server1.
    >
    > How to design VCS service group and resource for this problem? Any idea

    will
    > be greatly appricaited.
    >
    > Thanks again.
    > Evan
    >
    > "Me" wrote:
    > >Evan
    > >
    > >The fact that you can only ping certain addresses, does not mean your

    design
    > >is wrong, it means your routing is wrong.
    > >
    > >check routing with "netstat -rn"
    > >
    > >I bet all your routing for network 192.168.0.0 happens through the first
    > >interface plumbed up (the qfe2 interface)
    > >
    > >
    > >If you want to ping, do the following:
    > >
    > >ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    > >ping -i 192.168.0.4 192.168.0.2 (on the second machine)
    > >
    > >if you're using Solaris 8 or above, you can even do:
    > >
    > >ping -i qfe3 192.168.0.4
    > >ping -i qfe3 192.168.0.4
    > >
    > >
    > >(All that is pure Solaris, no VCS yet)
    > >
    > >To do this via VCS , you must specify the IP addresses as resources
    > >(although you need to plumb up something on the interfaces before VCS

    kicks
    > >in)
    > >
    > >
    > >
    > >
    > >"Evan" wrote in message news:403ae1de@ROSASTDMZ05....
    > >>
    > >> Greetings,
    > >>
    > >> I have two servers, and I use VCS 3.5 to cluster the two server.

    Between
    > >> the two servers, I want to have a intranet, and I don't want to use HUB

    > or
    > >> switch, so I link the two server with two ethernet cables. On server1,

    > I
    > >> configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on server2,

    > I
    > >> configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With ifconfig

    > -a
    > >> command, all ports are up and running, but from server1, I can only

    ping
    > >> 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it seems

    > my
    > >> design is wrong.
    > >>
    > >> I still want to just use direct two link cables(active-standby) between

    > >the
    > >> two servers to build a intranet. How to implement this with VCS.
    > >>
    > >> Thanks in advance!
    > >> Evan

    > >
    > >

    >




  5. Re: How to redundant a direct TCP link? Hi, Me, I am waiting for you...


    Hi, Me,

    I am using VCS 3.5, so the MultiNICB is available. Since I can use hagui,
    it's very easy to create service group and resource, I might not need you
    to help write down detailed commands. But I am very very need you help me
    to make the solution clear.

    To simplify the problem, let use a socket server and a socket client program
    to replace oracle and my application. Socket server program can be see as
    oracle, and socket client program can be seen as my application. So that
    we can eliminate other resources such as diskgroup, volumn, ...

    Please clarify if my understanding on your solution is right. Suppose the
    two servers' names are server1 and server2. Server1 will run socket server
    program (oracle), and server2 will run socket client program (my application).

    Create two server groups as following:

    =====================
    group dbgrp (

    SystemList = { server1 = 0, server2 = 1 ]
    AutoStartList = { server1, server2 }
    )

    MultiNICB svr_nic (
    Device@server1 = {qfe2, qfe3}
    Device@server2 = {qfe2, qfe3}
    )

    IPMultiNICB svr_ip (
    BaseResName = svr_nic
    Address = "192.168.0.1"
    NetMask = "255.255.255.0"
    )

    Application svr_app (
    .....
    )

    svr_app requires svr_ip
    svr_ip requires svr_nic

    group appgrp (
    SystemList = { server2 = 0, server1 = 1 }
    AutoStartList = { server2, server1 }
    )

    Application clnt_app (
    ...
    )

    appgrp requires dbgrp online global firm

    ===============================

    1. Is my design right? Is there anything need to be modified?
    2. Since the two servers are linked directly, they don't have other connections,
    I cannot specify a NetworkHosts attribute for svr_nic resource, is it OK?
    3. I am puzzling that if server2 is down, then qfe2 and qfe3 down. In this
    case, will svr_nic resource fault? My consideration is that (according to
    Agent Guide) there are two criteria to determine if an interface is working,
    one is status reported by interface drive, the other is by ICMP echo. The
    first criteria will be no problem, but for the second, if server2 is down,
    then there will be no ICMP response for request sent from both qfe2 and qfe2
    on server1.

    Thank you again.
    Evan



    "Me" wrote:
    >Evan
    >
    >
    >What I suggest it the following:
    >
    >1. for the IP (fail-over links)
    >
    > Plumb al l interfaces on boot up (create the /etc/hostname.qe? files)
    > Create a resource of type MultiNICB that runs in parallel on the 2 nodes
    >(This will take care of the fail-over between the interfaces)
    > Create a IPMultiNICB resource for the "floating" IP address that will

    be
    >the "live" connection between the 2 nodes.
    > (Note that MultiNICB and IPMultiNICB is only available on VCS 3.5 -
    >earlier versions, you have to use the MultiNICA resource)
    >
    >2. for the Oracle and Application (on different nodes)
    > Create a service group and put your Oracle resource and all other
    >resources needed by Oracle in this service group. (This might include the
    >floating IP as explained above, the Sqlnet or listener resource, some
    >disk/volume/diskgroup resources)
    > Create another service group and put your application in this service
    >group and any other resources that the application might need.
    > (By default, these service groups will be fail-over, and thus take care
    >of your problems).
    >
    >
    >The Admin Guide contains a lot of examples of creating Service Groups and
    >the Bundeled Agents guide contains some examples of configuring the
    >different resources.
    >
    >If you still get stuck after that, I might help you with all the commands

    to
    >create the stuff (provided you supply me all the information)
    >
    >
    >That should be it !!
    >
    >
    >"Evan" wrote in message news:403b4e80@ROSASTDMZ05....
    >>
    >> Hi, Me,
    >>
    >> Thank you very much for your answer. Now, I am really in the jungle.
    >>
    >> I just want to use two cables to connect the two servers directy without
    >> hub or switch (of course there are another two cables for VCS heartbeat),
    >> so that the two servers act as a small intranet, and the two cables act

    as
    >> active and standby. An oracle database runs on server1 and my application
    >> which depends on databas run on server2. So there are following cases:
    >>
    >> 1. One cable or one network port fault, then connection fail over to the
    >> other cable.
    >> 2. Oracle data down or server1 down, then oracle database fail over to

    >server2.
    >> 3. The application down or server2 down, then application fail over to

    >server1.
    >>
    >> How to design VCS service group and resource for this problem? Any idea

    >will
    >> be greatly appricaited.
    >>
    >> Thanks again.
    >> Evan
    >>
    >> "Me" wrote:
    >> >Evan
    >> >
    >> >The fact that you can only ping certain addresses, does not mean your

    >design
    >> >is wrong, it means your routing is wrong.
    >> >
    >> >check routing with "netstat -rn"
    >> >
    >> >I bet all your routing for network 192.168.0.0 happens through the first
    >> >interface plumbed up (the qfe2 interface)
    >> >
    >> >
    >> >If you want to ping, do the following:
    >> >
    >> >ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    >> >ping -i 192.168.0.4 192.168.0.2 (on the second machine)
    >> >
    >> >if you're using Solaris 8 or above, you can even do:
    >> >
    >> >ping -i qfe3 192.168.0.4
    >> >ping -i qfe3 192.168.0.4
    >> >
    >> >
    >> >(All that is pure Solaris, no VCS yet)
    >> >
    >> >To do this via VCS , you must specify the IP addresses as resources
    >> >(although you need to plumb up something on the interfaces before VCS

    >kicks
    >> >in)
    >> >
    >> >
    >> >
    >> >
    >> >"Evan" wrote in message news:403ae1de@ROSASTDMZ05....
    >> >>
    >> >> Greetings,
    >> >>
    >> >> I have two servers, and I use VCS 3.5 to cluster the two server.

    >Between
    >> >> the two servers, I want to have a intranet, and I don't want to use

    HUB
    >> or
    >> >> switch, so I link the two server with two ethernet cables. On server1,

    >> I
    >> >> configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on server2,

    >> I
    >> >> configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With ifconfig

    >> -a
    >> >> command, all ports are up and running, but from server1, I can only

    >ping
    >> >> 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it seems

    >> my
    >> >> design is wrong.
    >> >>
    >> >> I still want to just use direct two link cables(active-standby) between
    >> >the
    >> >> two servers to build a intranet. How to implement this with VCS.
    >> >>
    >> >> Thanks in advance!
    >> >> Evan
    >> >
    >> >

    >>

    >
    >



  6. Re: How to redundant a direct TCP link? Hi, Me, I am waiting for you...

    Evan

    In answer to your questions:

    1. Your design is perfect !
    2. If you do not specify any network hosts, broadcast will be used VCS will
    actually do an ARP count
    3. You're right again about the agent. The agent does 2 tests. A link test
    (this status is from the driver) and an ICMP echo test (VCS uses the
    "/opt/VRTSvcs/bin/haping" utility for this). You are also right in saying
    that if 1 nodes dies, the other one will fail the IPMultiNICB and the
    MultiNICB resources.

    What I do suggest is to make the resources non-critical (Critical = 0). If
    the one server dies, the heartbeat should die with it and the service group
    should fail over. If the IP and the MultiNICB resources come up on the only
    running server, they will fail as well, but it will not take the rest of the
    resources down (the Oracle and the Application).

    What you need to do, is to use triggers (specifically the offline trigger)
    to take care of the IP address or the application. You have a couple of
    options:

    a) plumb the IP address on another interface and restart the application and
    the listener. If you do this, you need to have a pre-online trigger as well
    to check that the IP address is not already plumbed up (or unplumb it)

    b) Change the listener and the application to work on the loopback address
    (127.0.0.1). Again, you will need a pre-online trigger to make sure that the
    listener and the application actually uses the floating IP (this might
    involve copying correct startup scripts for the Application and the
    listener.ora file)

    Remember that the Service Groups must be set to run the pre-online triggers
    and the resource offline trigger must be copied into the
    /opt/VRTSvcs/bin/triggers directory



    Hope that helps


    "Evan" wrote in message news:403c9d1e@ROSASTDMZ05....
    >
    > Hi, Me,
    >
    > I am using VCS 3.5, so the MultiNICB is available. Since I can use hagui,
    > it's very easy to create service group and resource, I might not need you
    > to help write down detailed commands. But I am very very need you help me
    > to make the solution clear.
    >
    > To simplify the problem, let use a socket server and a socket client

    program
    > to replace oracle and my application. Socket server program can be see as
    > oracle, and socket client program can be seen as my application. So that
    > we can eliminate other resources such as diskgroup, volumn, ...
    >
    > Please clarify if my understanding on your solution is right. Suppose the
    > two servers' names are server1 and server2. Server1 will run socket server
    > program (oracle), and server2 will run socket client program (my

    application).
    >
    > Create two server groups as following:
    >
    > =====================
    > group dbgrp (
    >
    > SystemList = { server1 = 0, server2 = 1 ]
    > AutoStartList = { server1, server2 }
    > )
    >
    > MultiNICB svr_nic (
    > Device@server1 = {qfe2, qfe3}
    > Device@server2 = {qfe2, qfe3}
    > )
    >
    > IPMultiNICB svr_ip (
    > BaseResName = svr_nic
    > Address = "192.168.0.1"
    > NetMask = "255.255.255.0"
    > )
    >
    > Application svr_app (
    > .....
    > )
    >
    > svr_app requires svr_ip
    > svr_ip requires svr_nic
    >
    > group appgrp (
    > SystemList = { server2 = 0, server1 = 1 }
    > AutoStartList = { server2, server1 }
    > )
    >
    > Application clnt_app (
    > ...
    > )
    >
    > appgrp requires dbgrp online global firm
    >
    > ===============================
    >
    > 1. Is my design right? Is there anything need to be modified?
    > 2. Since the two servers are linked directly, they don't have other

    connections,
    > I cannot specify a NetworkHosts attribute for svr_nic resource, is it OK?
    > 3. I am puzzling that if server2 is down, then qfe2 and qfe3 down. In this
    > case, will svr_nic resource fault? My consideration is that (according to
    > Agent Guide) there are two criteria to determine if an interface is

    working,
    > one is status reported by interface drive, the other is by ICMP echo. The
    > first criteria will be no problem, but for the second, if server2 is down,
    > then there will be no ICMP response for request sent from both qfe2 and

    qfe2
    > on server1.
    >
    > Thank you again.
    > Evan
    >
    >
    >
    > "Me" wrote:
    > >Evan
    > >
    > >
    > >What I suggest it the following:
    > >
    > >1. for the IP (fail-over links)
    > >
    > > Plumb al l interfaces on boot up (create the /etc/hostname.qe? files)
    > > Create a resource of type MultiNICB that runs in parallel on the 2

    nodes
    > >(This will take care of the fail-over between the interfaces)
    > > Create a IPMultiNICB resource for the "floating" IP address that will

    > be
    > >the "live" connection between the 2 nodes.
    > > (Note that MultiNICB and IPMultiNICB is only available on VCS 3.5 -
    > >earlier versions, you have to use the MultiNICA resource)
    > >
    > >2. for the Oracle and Application (on different nodes)
    > > Create a service group and put your Oracle resource and all other
    > >resources needed by Oracle in this service group. (This might include the
    > >floating IP as explained above, the Sqlnet or listener resource, some
    > >disk/volume/diskgroup resources)
    > > Create another service group and put your application in this service
    > >group and any other resources that the application might need.
    > > (By default, these service groups will be fail-over, and thus take

    care
    > >of your problems).
    > >
    > >
    > >The Admin Guide contains a lot of examples of creating Service Groups and
    > >the Bundeled Agents guide contains some examples of configuring the
    > >different resources.
    > >
    > >If you still get stuck after that, I might help you with all the commands

    > to
    > >create the stuff (provided you supply me all the information)
    > >
    > >
    > >That should be it !!
    > >
    > >
    > >"Evan" wrote in message news:403b4e80@ROSASTDMZ05....
    > >>
    > >> Hi, Me,
    > >>
    > >> Thank you very much for your answer. Now, I am really in the jungle.
    > >>
    > >> I just want to use two cables to connect the two servers directy

    without
    > >> hub or switch (of course there are another two cables for VCS

    heartbeat),
    > >> so that the two servers act as a small intranet, and the two cables act

    > as
    > >> active and standby. An oracle database runs on server1 and my

    application
    > >> which depends on databas run on server2. So there are following cases:
    > >>
    > >> 1. One cable or one network port fault, then connection fail over to

    the
    > >> other cable.
    > >> 2. Oracle data down or server1 down, then oracle database fail over to

    > >server2.
    > >> 3. The application down or server2 down, then application fail over to

    > >server1.
    > >>
    > >> How to design VCS service group and resource for this problem? Any idea

    > >will
    > >> be greatly appricaited.
    > >>
    > >> Thanks again.
    > >> Evan
    > >>
    > >> "Me" wrote:
    > >> >Evan
    > >> >
    > >> >The fact that you can only ping certain addresses, does not mean your

    > >design
    > >> >is wrong, it means your routing is wrong.
    > >> >
    > >> >check routing with "netstat -rn"
    > >> >
    > >> >I bet all your routing for network 192.168.0.0 happens through the

    first
    > >> >interface plumbed up (the qfe2 interface)
    > >> >
    > >> >
    > >> >If you want to ping, do the following:
    > >> >
    > >> >ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    > >> >ping -i 192.168.0.4 192.168.0.2 (on the second machine)
    > >> >
    > >> >if you're using Solaris 8 or above, you can even do:
    > >> >
    > >> >ping -i qfe3 192.168.0.4
    > >> >ping -i qfe3 192.168.0.4
    > >> >
    > >> >
    > >> >(All that is pure Solaris, no VCS yet)
    > >> >
    > >> >To do this via VCS , you must specify the IP addresses as resources
    > >> >(although you need to plumb up something on the interfaces before VCS

    > >kicks
    > >> >in)
    > >> >
    > >> >
    > >> >
    > >> >
    > >> >"Evan" wrote in message

    news:403ae1de@ROSASTDMZ05....
    > >> >>
    > >> >> Greetings,
    > >> >>
    > >> >> I have two servers, and I use VCS 3.5 to cluster the two server.

    > >Between
    > >> >> the two servers, I want to have a intranet, and I don't want to use

    > HUB
    > >> or
    > >> >> switch, so I link the two server with two ethernet cables. On

    server1,
    > >> I
    > >> >> configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on

    server2,
    > >> I
    > >> >> configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With

    ifconfig
    > >> -a
    > >> >> command, all ports are up and running, but from server1, I can only

    > >ping
    > >> >> 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it

    seems
    > >> my
    > >> >> design is wrong.
    > >> >>
    > >> >> I still want to just use direct two link cables(active-standby)

    between
    > >> >the
    > >> >> two servers to build a intranet. How to implement this with VCS.
    > >> >>
    > >> >> Thanks in advance!
    > >> >> Evan
    > >> >
    > >> >
    > >>

    > >
    > >

    >




  7. One more question


    Me,

    I know you will show up soon. So I have one more question.

    I have two servers, server1 and server2. And I have grp1 runs on server2
    and can fail-over to server1, grp2 only runs on server2 and grp3 runs only
    on server1.

    Grp1 local depends on grp2 and grp1 remote depends on grp3. Are they possible
    that
    1. when grp2 fault, grp1 fail-over to server1, and then no dependancy on
    grp2 and grp3.
    2. When server2 down, grp1 fail-over to server1, and then no dependancy on
    grp2 and grp3.

    Thanks,
    Evan


    And I define a remote dependancy on two groups, grp1 depend on grp2, and
    grp1. Grp2 can runs on server2 and can fail-over to server1, and grp2 only
    runs on server1, cannot fail-over.

  8. Re: One more question

    Evan


    If you want to change the dependancies on the fly, again use pre-online
    triggers and do the following inside the script:

    haconf makerw
    hagrp -link grp1 grp2 online global firm
    haconf -dump -makero




    And for the others as well.

    The trigger scripts allow you to see the Service Group Name, the system it
    fails to or from. This mens that you can build a lot of "smarts" into your
    trigger scripts. (Will help if you know Perl, but you can call any shell
    script from the triggers)

    You might need to do "hastatus -sum" and grep fro output to find out where
    the other Service Groups are running, or do "hagrp -display" and then grep
    again to find out.


    Sounds like you're planning a monster here !!!

    Good luck !



    "Evan" wrote in message news:403de0bf@ROSASTDMZ05....
    >
    > Me,
    >
    > I know you will show up soon. So I have one more question.
    >
    > I have two servers, server1 and server2. And I have grp1 runs on server2
    > and can fail-over to server1, grp2 only runs on server2 and grp3 runs only
    > on server1.
    >
    > Grp1 local depends on grp2 and grp1 remote depends on grp3. Are they

    possible
    > that
    > 1. when grp2 fault, grp1 fail-over to server1, and then no dependancy on
    > grp2 and grp3.
    > 2. When server2 down, grp1 fail-over to server1, and then no dependancy on
    > grp2 and grp3.
    >
    > Thanks,
    > Evan
    >
    >
    > And I define a remote dependancy on two groups, grp1 depend on grp2, and
    > grp1. Grp2 can runs on server2 and can fail-over to server1, and grp2 only
    > runs on server1, cannot fail-over.




  9. Re: How to redundant a direct TCP link?


    Hi, Me,

    Today, I did some test on real environment. To make things easy, I didn't
    use oracle data and my real application, instead, as previous mentioned,
    I just only sockset server to simulator oracle db and socket client for my
    real application.

    I use solaris 2.8 and VCS 3.5.

    Firstly, I plumbs all four network port (two on each server), on server1,
    I use qfe2 192.168.0.1 and qfe3 192.168.0.2; on server2, I use qfe2 192.168.0.3
    and qfe3 192.168.0.4.

    Just as prevously mentioned, from server1, I can only ping 0.3, from server2,
    I can only ping 0.1. Even I specify interface as you suggested:
    ping -i qfe3 192.168.0.4
    It still failed. I used "snoop -d qfe3" to monitor qfe3 port, and I saw ICMP
    request from 0.2 to 0.4, and no reply from 0.4 to 0.2, so ping failed. I
    am very confused, could you explain this?

    Then I create a MultiNICB resource in parrel on both server, and use the
    four ports as device, and a IPMultiNICB resource with IP 192.168.0.10. I
    onlined these resources on server1, and from ifconfig command, I saw new
    floating was created. But from server2, I could not ping 0.10. Strange again.

    Next, I tried unplus cable from qfe2 on which the float IP reside. I expected
    the floating IP fail-over to qfe3, but it failed over to server2's qfe2.
    That's not what I wanted.

    After test and long time thinking, I design a solution. I just want to see
    if you have any comments on it:

    The solution includes four service group:

    1 dbgrp: which will includes oracle and releated resources, such as diskgroup,
    volumn and mount... Whose server list is server1 and server2.
    2. appgrp: which will include my application. Whose server list is server2
    and server1.
    3. net1grp: whose server list is server1. It includes a MultiNICB with qfe2
    and qfe3, and IPMultiNICB with floating ip 192.168.1.1 (different network
    segment).
    4. net2grp: whose server list is server2. It's same as net1grp, the floating
    ip is 192.168.1.2.

    (I tested net1grp and net2grp, after bring them online, I could successfully
    ping 1.2 from server1 and ping 1.1 from server2.)

    Let appgrp global, online and firm depends on dbgrp, that make sure dbgrp
    start prior to appgrp.

    Define pre-online trigger for appgrp. As argument, I can get on which server
    it's been bring online. And since dbgrp must have been online aready, I can
    use "hagrp -state dbgrp" to know on which server dbgrp is running.

    On each server, I put several tnsnames.ora files, for examples, on server2,
    in tnsnames.ora.server2_server1, I define ip = 192.168.1.1, in tnsnames.or.server2_server2,
    I define ip = localhost, etc.

    In appgrp's pre-online trigger, according server names on which it will online
    and dbgrp is online, link tnsnames.ora to a corresponding one.

    That's my high level design. Is there something I leaked?

    Thank you so much! Have a nice weekend.

    Evan


    "Me" wrote:
    >Evan
    >
    >In answer to your questions:
    >
    >1. Your design is perfect !
    >2. If you do not specify any network hosts, broadcast will be used VCS

    will
    >actually do an ARP count
    >3. You're right again about the agent. The agent does 2 tests. A link test
    >(this status is from the driver) and an ICMP echo test (VCS uses the
    >"/opt/VRTSvcs/bin/haping" utility for this). You are also right in saying
    >that if 1 nodes dies, the other one will fail the IPMultiNICB and the
    >MultiNICB resources.
    >
    >What I do suggest is to make the resources non-critical (Critical = 0).

    If
    >the one server dies, the heartbeat should die with it and the service group
    >should fail over. If the IP and the MultiNICB resources come up on the only
    >running server, they will fail as well, but it will not take the rest of

    the
    >resources down (the Oracle and the Application).
    >
    >What you need to do, is to use triggers (specifically the offline trigger)
    >to take care of the IP address or the application. You have a couple of
    >options:
    >
    >a) plumb the IP address on another interface and restart the application

    and
    >the listener. If you do this, you need to have a pre-online trigger as well
    >to check that the IP address is not already plumbed up (or unplumb it)
    >
    >b) Change the listener and the application to work on the loopback address
    >(127.0.0.1). Again, you will need a pre-online trigger to make sure that

    the
    >listener and the application actually uses the floating IP (this might
    >involve copying correct startup scripts for the Application and the
    >listener.ora file)
    >
    >Remember that the Service Groups must be set to run the pre-online triggers
    >and the resource offline trigger must be copied into the
    >/opt/VRTSvcs/bin/triggers directory
    >
    >
    >
    >Hope that helps
    >
    >
    >"Evan" wrote in message news:403c9d1e@ROSASTDMZ05....
    >>
    >> Hi, Me,
    >>
    >> I am using VCS 3.5, so the MultiNICB is available. Since I can use hagui,
    >> it's very easy to create service group and resource, I might not need

    you
    >> to help write down detailed commands. But I am very very need you help

    me
    >> to make the solution clear.
    >>
    >> To simplify the problem, let use a socket server and a socket client

    >program
    >> to replace oracle and my application. Socket server program can be see

    as
    >> oracle, and socket client program can be seen as my application. So that
    >> we can eliminate other resources such as diskgroup, volumn, ...
    >>
    >> Please clarify if my understanding on your solution is right. Suppose

    the
    >> two servers' names are server1 and server2. Server1 will run socket server
    >> program (oracle), and server2 will run socket client program (my

    >application).
    >>
    >> Create two server groups as following:
    >>
    >> =====================
    >> group dbgrp (
    >>
    >> SystemList = { server1 = 0, server2 = 1 ]
    >> AutoStartList = { server1, server2 }
    >> )
    >>
    >> MultiNICB svr_nic (
    >> Device@server1 = {qfe2, qfe3}
    >> Device@server2 = {qfe2, qfe3}
    >> )
    >>
    >> IPMultiNICB svr_ip (
    >> BaseResName = svr_nic
    >> Address = "192.168.0.1"
    >> NetMask = "255.255.255.0"
    >> )
    >>
    >> Application svr_app (
    >> .....
    >> )
    >>
    >> svr_app requires svr_ip
    >> svr_ip requires svr_nic
    >>
    >> group appgrp (
    >> SystemList = { server2 = 0, server1 = 1 }
    >> AutoStartList = { server2, server1 }
    >> )
    >>
    >> Application clnt_app (
    >> ...
    >> )
    >>
    >> appgrp requires dbgrp online global firm
    >>
    >> ===============================
    >>
    >> 1. Is my design right? Is there anything need to be modified?
    >> 2. Since the two servers are linked directly, they don't have other

    >connections,
    >> I cannot specify a NetworkHosts attribute for svr_nic resource, is it

    OK?
    >> 3. I am puzzling that if server2 is down, then qfe2 and qfe3 down. In

    this
    >> case, will svr_nic resource fault? My consideration is that (according

    to
    >> Agent Guide) there are two criteria to determine if an interface is

    >working,
    >> one is status reported by interface drive, the other is by ICMP echo.

    The
    >> first criteria will be no problem, but for the second, if server2 is down,
    >> then there will be no ICMP response for request sent from both qfe2 and

    >qfe2
    >> on server1.
    >>
    >> Thank you again.
    >> Evan
    >>
    >>
    >>
    >> "Me" wrote:
    >> >Evan
    >> >
    >> >
    >> >What I suggest it the following:
    >> >
    >> >1. for the IP (fail-over links)
    >> >
    >> > Plumb al l interfaces on boot up (create the /etc/hostname.qe? files)
    >> > Create a resource of type MultiNICB that runs in parallel on the

    2
    >nodes
    >> >(This will take care of the fail-over between the interfaces)
    >> > Create a IPMultiNICB resource for the "floating" IP address that

    will
    >> be
    >> >the "live" connection between the 2 nodes.
    >> > (Note that MultiNICB and IPMultiNICB is only available on VCS 3.5

    -
    >> >earlier versions, you have to use the MultiNICA resource)
    >> >
    >> >2. for the Oracle and Application (on different nodes)
    >> > Create a service group and put your Oracle resource and all other
    >> >resources needed by Oracle in this service group. (This might include

    the
    >> >floating IP as explained above, the Sqlnet or listener resource, some
    >> >disk/volume/diskgroup resources)
    >> > Create another service group and put your application in this service
    >> >group and any other resources that the application might need.
    >> > (By default, these service groups will be fail-over, and thus take

    >care
    >> >of your problems).
    >> >
    >> >
    >> >The Admin Guide contains a lot of examples of creating Service Groups

    and
    >> >the Bundeled Agents guide contains some examples of configuring the
    >> >different resources.
    >> >
    >> >If you still get stuck after that, I might help you with all the commands

    >> to
    >> >create the stuff (provided you supply me all the information)
    >> >
    >> >
    >> >That should be it !!
    >> >
    >> >
    >> >"Evan" wrote in message news:403b4e80@ROSASTDMZ05....
    >> >>
    >> >> Hi, Me,
    >> >>
    >> >> Thank you very much for your answer. Now, I am really in the jungle.
    >> >>
    >> >> I just want to use two cables to connect the two servers directy

    >without
    >> >> hub or switch (of course there are another two cables for VCS

    >heartbeat),
    >> >> so that the two servers act as a small intranet, and the two cables

    act
    >> as
    >> >> active and standby. An oracle database runs on server1 and my

    >application
    >> >> which depends on databas run on server2. So there are following cases:
    >> >>
    >> >> 1. One cable or one network port fault, then connection fail over to

    >the
    >> >> other cable.
    >> >> 2. Oracle data down or server1 down, then oracle database fail over

    to
    >> >server2.
    >> >> 3. The application down or server2 down, then application fail over

    to
    >> >server1.
    >> >>
    >> >> How to design VCS service group and resource for this problem? Any

    idea
    >> >will
    >> >> be greatly appricaited.
    >> >>
    >> >> Thanks again.
    >> >> Evan
    >> >>
    >> >> "Me" wrote:
    >> >> >Evan
    >> >> >
    >> >> >The fact that you can only ping certain addresses, does not mean your
    >> >design
    >> >> >is wrong, it means your routing is wrong.
    >> >> >
    >> >> >check routing with "netstat -rn"
    >> >> >
    >> >> >I bet all your routing for network 192.168.0.0 happens through the

    >first
    >> >> >interface plumbed up (the qfe2 interface)
    >> >> >
    >> >> >
    >> >> >If you want to ping, do the following:
    >> >> >
    >> >> >ping -i 192.168.0.2 192.168.0.4 (on the first machine) and
    >> >> >ping -i 192.168.0.4 192.168.0.2 (on the second machine)
    >> >> >
    >> >> >if you're using Solaris 8 or above, you can even do:
    >> >> >
    >> >> >ping -i qfe3 192.168.0.4
    >> >> >ping -i qfe3 192.168.0.4
    >> >> >
    >> >> >
    >> >> >(All that is pure Solaris, no VCS yet)
    >> >> >
    >> >> >To do this via VCS , you must specify the IP addresses as resources
    >> >> >(although you need to plumb up something on the interfaces before

    VCS
    >> >kicks
    >> >> >in)
    >> >> >
    >> >> >
    >> >> >
    >> >> >
    >> >> >"Evan" wrote in message

    >news:403ae1de@ROSASTDMZ05....
    >> >> >>
    >> >> >> Greetings,
    >> >> >>
    >> >> >> I have two servers, and I use VCS 3.5 to cluster the two server.
    >> >Between
    >> >> >> the two servers, I want to have a intranet, and I don't want to

    use
    >> HUB
    >> >> or
    >> >> >> switch, so I link the two server with two ethernet cables. On

    >server1,
    >> >> I
    >> >> >> configures qfe2 as 192.168.0.1 and qfe3 as 192.168.0.2; and on

    >server2,
    >> >> I
    >> >> >> configures qfe2 as 192.168.0.3 and qfe3 as 192.168.0.4. With

    >ifconfig
    >> >> -a
    >> >> >> command, all ports are up and running, but from server1, I can only
    >> >ping
    >> >> >> 192.168.0.3; and from server2, I can only ping 192.168.0.1. So it

    >seems
    >> >> my
    >> >> >> design is wrong.
    >> >> >>
    >> >> >> I still want to just use direct two link cables(active-standby)

    >between
    >> >> >the
    >> >> >> two servers to build a intranet. How to implement this with VCS.
    >> >> >>
    >> >> >> Thanks in advance!
    >> >> >> Evan
    >> >> >
    >> >> >
    >> >>
    >> >
    >> >

    >>

    >
    >



+ Reply to Thread