Simulating a DC move with tc

high card poker Elefsína I would first like to warn you that I am not a tc expert. In fact, I consider TC to be a form of black magic. That said I will do my best to explain to you what little I know – mostly because I know I will need this information in the future so it is important to write it down 😉

What is TC

Nyahururu site de relacionamento depois dos 40 anos tc is a way to interface with kernel level traffic control settings. You can shape incoming or outgoing traffic, however, incoming traffic shaping is very primitive and thus most of what I will show you is shaping traffic leaving your server destined for some other server

Why use TC

http://clbabogados.com/1304-cs99547-lightning-link-online-pokies.html Simulate network lag, congestion, or other issues.
Personally, I have a situation where, for one of my products, the primary data center is just a few miles from the redundant data center. This worked out well, however, we just built a new shiny data center across the country and the space we are leasing so this product can be redundant has been deemed unnecessary. I can totally see this. However…

  • The product has app servers in each data center.
  • These app servers write to a common database in one datacenter
  • These app servers will occasional read from the master – no matter what DC houses it
  • These app servers will other wise read things they wrote from their own data center.

biescas conocer a gente Itaí This means when we add some speed of light issues we may have trouble. So how do we test this and correct these troubles https://diabetesfrees.com/maxolon-review-all-you-need-to-know-before-buying-a-product/ before we move?

Basic shaping examples

https://smg-pfalz.de/3977-dde14930-freunde-finden-kostenlos-facebook.html tc qdisc add dev bond0 handle 1: root htb
tc class add dev bond0 parent 1:1 classid 1:11 htb rate 1000Mbps
tc class add dev bond0 parent 1:1 classid 1:12 htb rate 1000Mbps
tc qdisc add dev bond0 parent 1:11 handle 10: netem delay 200ms 100ms distribution normal
tc qdisc add dev bond0 parent 1:12 handle 20: netem loss 3%
tc filter add dev bond0 protocol ip prio 1 u32 match ip dst 10.10.208.0/21 flowid 1:11
tc filter add dev bond0 protocol ip prio 1 u32 match ip dst 10.10.208.0/21 flowid 1:12

ivermectin for humans cancer São João dos Patos In the above…

Viewing and deleting existing rules

Viewing

When viewing existing rules we will use tc -s {qdisc|class} ls for list. Show also works instead of ls depending on how you prefer to remember such things. The -s indicates show and you can just as easily do something like tc -s qdisc show dev eth0

[root@devsrv04 STG boneal]# tc -s qdisc ls
qdisc pfifo_fast 0: dev eth0 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
..Sent 3233631430439 bytes 1623041258 pkt (dropped 0, overlimits 0 requeues 0)
..rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 1: dev bond0 r2q 10 default 0 direct_packets_stat 401748689
..Sent 991209608724 bytes 983293850 pkt (dropped 19860, overlimits 542341718 requeues 0)
..rate 0bit 0pps backlog 0b 5p requeues 0
qdisc netem 10: dev bond0 parent 1:11 limit 1000 delay 200.0ms  100.0ms
..Sent 35467782723 bytes 78783479 pkt (dropped 0, overlimits 0 requeues 0)
..rate 0bit 0pps backlog 0b 5p requeues 0
qdisc netem 20: dev bond0 parent 1:12 limit 1000 loss 3%
..Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
..rate 0bit 0pps backlog 0b 0p requeues 0

Deleting

Just use the del command, so tc qdisc del {root|ingress} dev {device}
You can also just delete all rules on a disk by issuing tc qdisk del

tc qdisc del root dev eth0

Class Vs Classless

I have to admit that I am uncertain about this. But i do know that for more complex layered filters you seem to either need to apply them to a class, or, layer them on a virtual interface.

In the end I need to do more research and testing on this

Structures

Again, I need to do more research here – come back for updates

Some links I found useful

http://tldp.org/HOWTO/Traffic-Control-HOWTO/

https://wiki.archlinux.org/index.php/Advanced_traffic_control

https://omf.mytestbed.net/projects/omf/wiki/NetEM_examples_of_rules

https://wiki.linuxfoundation.org/networking/netem#how_can_i_use_netem_on_incoming_traffic3f

reverting queu change

https://serverfault.com/questions/457354/resetting-a-queue-discipline-back-to-the-default-pfifo-fast-one

Visualization

http://ze.phyr.us/visualizing-linux-traffic-control-setup/

Appliance

http://wanem.sourceforge.net/

This post is dedicated to prior planning and finding out problems when you can roll back and fix at leisure. Instead of finding out problems when you have no choices. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *