linux bonding 時のnicの偏りを調整する

nicが偏って困ってたらniceなentry見つけた。さすがrx7さん。

linux bonding mode=2 (balance-xor), mode=4 (802.3ad) 利用時にはdefaultでは送信元、宛先mac アドレスのxorの計算で決まる。なので、例えばbondingしているserverの宛先のほとんどがL3 router越しのclientだったりすると、宛先macアドレスはrouterの1つに固定されるのでtrafficが分散されない。

というようなときにxmit_hash_policy をdefaultの0(layer2) から2(layer2+3) に変更すると、madアドレス + ipアドレスで計算されるのでdefaultよりかは適当に分散されてとても幸せになれる。