cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
985
Views
2
Helpful
4
Replies

ACE and Oracle Web logic

bmcginn
Level 3
Level 3

Hi All,

I have here a 6509-E chassis with a Sup720 in it and an ACE module also in it.

Our enviornment is getting oracle web-logic virtual servers via OVM.  Our ERP team would like to be able to load-balance to the web servers located in the oracle OVM box.  The Oracle OVM stuff, as near as I can make out uses java processes to direct traffic once it hits the box to the virtual web servers it contains. The java processes listen on different ports, thereby meaning there can be loads of web servers on the one box assuming the physical box has enough resources.

That said, I currently have three web servers all sitting on the one physical box.

For example:

server1 = http://10.1.95.70:9999

server2 = http://10.1.95.70:9888

server3 = http://10.1.95.70:9777

The Company bought ACE modules a while ago and we'd like to be able to use them to load balance across the three servers (there are a lot more than three but this illustrates the point).

In the configuration of the ACE module, the rserver mode (real server) requires an IP to be assigned to the rserver, this is the real IP address of the actual server and is classes as 'serverside' I think:

eg

rserver host SVR_9999

  description Real Server 9999

  ip address 10.1.95.70

  inservice


As the second web server also resides on that same IP, should it not also have the same IP?  ie

rserver host SVR_9888

  description Real Server 9888

  ip address 10.1.95.70

  inservice

When I try to enter in the ip address however it errors out with a duplicate:

ACE1/TEST_CTX(config)# rserver host SVR_9888
ACE1/TEST_CTX(config-rserver-host)# ip address 10.1.95.70
Error: Duplicate IP address or subnet

My question is:  Is there a way I can use the ACE module to load balance to different web servers on the one IP address (assuming the rest of the configuration is fine)?   Something that would achieve the following eg?

rserver host SVR_9999

  description Real Server 9999

  ip address 10.1.95.70:9999

  inservice

rserver host SVR_9888

  description Real Server 9888

  ip address 10.1.95.70:9888

  inservice

Many thanks in advance.

Brad

1 Accepted Solution

Accepted Solutions

Hi Bmcqinn,

I understand from your diagram you have one server with one application on three different port and you want to one VIP to load balance between different ports not different real IPs, if this is the scenario off course you can do this.

create one rserver

creater one server server, define rserver with multiple port

-----Configuration starts------------------

rserver host SVR_1
  description Real Server
    ip address 10.1.95.70
    inservice

serverfarm host SRV_Web_logic
    rserver SVR_1 9999
      inservice

    rserver SVR_1 9808
       inservice
      
    rserver SVR_1 9806
       inservice

sticky ip-netmask 255.255.255.255 address both STICKY_Web_logic
  timeout 510
  replicate sticky
  serverfarm SRV_Web_logic

class-map match-all VIP_Web_logic
  2 match virtual-address 10.1.103.10 tcp eq 80

policy-map type loadbalance first-match SLB_Web_logic
  class class-default
    sticky-serverfarm STICKY_Web_logic

policy-map multi-match ORACLE
  class VIP_Web_logic
    loadbalance vip inservice
    loadbalance policy SLB_Web_logic
    loadbalance vip icmp-reply

interface vlan 203
   ip address 10.1.103.1 255.255.255.0
     service-policy input  ORACLE

-----Configuration Ends------------------

View solution in original post

4 Replies 4

vashdevt
Level 1
Level 1

Hi

You need to create one rserver and multipul serverfams with port number as follow.

rserver host SVR_1

  description Real Server

    ip address 10.1.95.70

  inservice

rserver host SVR_2

  description Real Server

    ip address 10.1.95.70

  inservice

serverfarm host SRV_9999

    rserver SVR_1 9999
      inservice

    rserver SVR_2 9999
       inservice

serverfarm host SRV_9888

    rserver SVR_1 9888
       inservice

    rserver SVR_2 9888
       inservice

serverfarm host SRV_9777

    rserver SVR_1 9777
       inservice

    rserver SVR_2 9777
       inservice

sticky ip-netmask 255.255.255.255 address both STICKY_9999

  timeout 510
  replicate sticky
  serverfarm SRV_9999

sticky ip-netmask 255.255.255.255 address both STICKY_9888

  timeout 510
   replicate sticky
   serverfarm SRV_9888

sticky ip-netmask 255.255.255.255 address both STICKY_9777

  timeout 510
   replicate sticky
   serverfarm SRV_9777

class-map match-all VIP_9999
  2 match virtual-address xxx.xxx.xxx.xxx tcp eq 9999

class-map match-all VIP_9888
   2 match virtual-address xxx.xxx.xxx.xxx tcp eq 9888

class-map match-all VIP_9777
   2 match virtual-address xxx.xxx.xxx.xxx tcp eq 9777

policy-map type loadbalance first-match SLB_ORACLE_9999
  class class-default
    sticky-serverfarm SRV_9999

policy-map type loadbalance first-match SLB_ORACLE_9888
   class class-default
     sticky-serverfarm SRV_9888

policy-map type loadbalance first-match SLB_ORACLE_9777
   class class-default
     sticky-serverfarm SRV_9777

policy-map multi-match ORACLE

  class VIP_9999

    loadbalance vip inservice
    loadbalance policy SLB_ORACLE_9999
    loadbalance vip icmp-reply

  class VIP_9888

    loadbalance vip inservice

    loadbalance policy SLB_ORACLE_9888

    loadbalance vip icmp-reply

  class VIP_9777

    loadbalance vip inservice

    loadbalance policy SLB_ORACLE_9777

    loadbalance vip icmp-reply

interface vlan xx

   ip address yyy.yyy.yyy.yyy 255.255.255.0

     service-policy input  ORACLE

Regards,

Vashdev

Hi Vashdev,

Thanks for the reply!

I should have mentioned that I'm trying to get the load balancing working one one specific VIP.  I've attached a diagram which will hopefully shed a bit more light.

If the ACE can't do this, does any Cisco person in the CSC have any idea if it will be anytime soon?

Brad

Hi Bmcqinn,

I understand from your diagram you have one server with one application on three different port and you want to one VIP to load balance between different ports not different real IPs, if this is the scenario off course you can do this.

create one rserver

creater one server server, define rserver with multiple port

-----Configuration starts------------------

rserver host SVR_1
  description Real Server
    ip address 10.1.95.70
    inservice

serverfarm host SRV_Web_logic
    rserver SVR_1 9999
      inservice

    rserver SVR_1 9808
       inservice
      
    rserver SVR_1 9806
       inservice

sticky ip-netmask 255.255.255.255 address both STICKY_Web_logic
  timeout 510
  replicate sticky
  serverfarm SRV_Web_logic

class-map match-all VIP_Web_logic
  2 match virtual-address 10.1.103.10 tcp eq 80

policy-map type loadbalance first-match SLB_Web_logic
  class class-default
    sticky-serverfarm STICKY_Web_logic

policy-map multi-match ORACLE
  class VIP_Web_logic
    loadbalance vip inservice
    loadbalance policy SLB_Web_logic
    loadbalance vip icmp-reply

interface vlan 203
   ip address 10.1.103.1 255.255.255.0
     service-policy input  ORACLE

-----Configuration Ends------------------

Vashdev,

Mate you're a champion.  It looks to be working now.

Thanks very much for your help, I appreciate it greatly!

Brad

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: