cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1082
Views
10
Helpful
4
Replies

QOS IF Failover Occurs

ksbolton1
Level 1
Level 1

Hello all.

Our HQ replicates traffic to our DR daily. We have replicas of our Windows hosts and our internal apps (IA) at the DR. There are two ISP WAN connections, ISP A and ISP B. We currently use A link to transmit Windows replication and B link to transmit IA replication via route-maps (i.e. set ip next-hop verify-availability...) so that works fine.

 

If A or B fail, I know the track will prevent the set ip next-hop from working and so RIB will be used. If A fails, all traffic goes to B and vice versa. I want to put QOS in place to guarantee that the Windows and IA replication traffic will play nice and evenly share the remaining link thus not leaving either starved, only delayed at worst. I've thought about it but I cannot see where this QoS would come into play ONLY if one of the links fail. Can anyone offer any suggestions? 

 

 

1 Accepted Solution

Accepted Solutions

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Ksbolton1,

your understanding is correct:

you need to configure QoS on each link.

The configuration of QoS is permanent, that is it is present all times.

The way you configure the QoS is that of thinking of the failover scenario.

You will need three traffic classes:

class-map WINDOWS

 

class-map IA-TRAFFIC

and the class class-default.

 

Note: in order to be able to separate the Windows replication traffic from IA replication traffic you need to use extended ACLs referrring to source and destination subnets and to TCP ports in use.

Either you have Windows hosts in different IP subnets either the TCP ports used must be different.

If your windows servers are not in separate IP subnets and both file transfers use the same TCP ports you would need to configure the two ACLs specifying the hosts involved in each replication.

 

The policy-map should use the bandwidth command that provides a minimum bandwidth when the link is congested. This is a CBWFQ scheduler. It is elastic if the link is free the traffic can be more then the stated bandwidth.

policy-map QOS

class WINDOWS

bandwidth percent 25

class IA-TRAFFIC

bandwitdth percent 25

class class-default

fair-queue

 

interface gix/y

service-policy output QOS

 

Hope to help

Giuseppe

 

 

View solution in original post

4 Replies 4

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Ksbolton1,

your understanding is correct:

you need to configure QoS on each link.

The configuration of QoS is permanent, that is it is present all times.

The way you configure the QoS is that of thinking of the failover scenario.

You will need three traffic classes:

class-map WINDOWS

 

class-map IA-TRAFFIC

and the class class-default.

 

Note: in order to be able to separate the Windows replication traffic from IA replication traffic you need to use extended ACLs referrring to source and destination subnets and to TCP ports in use.

Either you have Windows hosts in different IP subnets either the TCP ports used must be different.

If your windows servers are not in separate IP subnets and both file transfers use the same TCP ports you would need to configure the two ACLs specifying the hosts involved in each replication.

 

The policy-map should use the bandwidth command that provides a minimum bandwidth when the link is congested. This is a CBWFQ scheduler. It is elastic if the link is free the traffic can be more then the stated bandwidth.

policy-map QOS

class WINDOWS

bandwidth percent 25

class IA-TRAFFIC

bandwitdth percent 25

class class-default

fair-queue

 

interface gix/y

service-policy output QOS

 

Hope to help

Giuseppe

 

 

Wow. Thank you for your super quick and informative response. This will definitely suffice as I had not considered using CBWFQ (I'll need to do further reading and testing there).

My Windows and IA hosts are in the same subnet but I've already created necessary ACLs using host keyword to differentiate between the two types of traffic. I'll just need to implement the QoS as described here to ensure they don't deny each other precious bandwidth in cases of link failure. Thank you again.

Joseph W. Doherty
Hall of Fame
Hall of Fame
". . . I cannot see where this QoS would come into play ONLY if one of the links fail."

Yes that would be correct if you only had those two classes of traffic and all you cared about was sharing the bandwidth between those two classes. If you have other traffic, it would go into the class-default class. (BTW, Giuseppe doesn't explicitly define bandwidth for class default but I suggest you do so if there is traffic sent to that class you would know how it would obtain bandwidth relative to your other two defined classes.)

In addition to what Giuseppe shows, if you only have those two classes of traffic (or very little traffic not of those class), you could eliminate one class and allow the undefined class to use class-default. Further, as Giuseppe's example uses FQ in class-default, you might be fine just using class-default, with FQ, for all your traffic may work well for your needs. Also, later IOS versions support FQ in other than the class-default so you might also add it to the defined classed too.

Thank you for this additional information, Joseph. It's started my needed reading into CWBFQ.