Стандартная схема включения нескольких SCE 2020, согласно документации Cisco выглядит так (1):
Но, как обычно, в связи с нехваткой портов на 6500 было решено включать SCE между сервером и каталистом.
Для корректной работы функционала DPI (определение протоколов, http перенаправления), необходимо обеспечить симметричное прохождение трафика через SCE, т.е., пакеты конкретного пользователя всегда должны проходить в обе стороны через один и тот же порт и, соответственно, одну и туже SCE. Со стороны Cisco 6500 проблема решается коммандой «port-channel load-balance src-ip» (2), после чего пакеты от одного и того же источника всегда попадают в один и тот же порт.
Соответственно, со стороны сервера требовалось включить балансировку трафика по IP адресу получателя. Казалось бы, такой простейший тип балансировки должен быть реализован в bonding модуле ядра linux, однако, после изучения документации, мы обнаружили что это не так. В результате чего родился маленький патч к ядру 2.6.32 (3), который добавляет режимы балансировки по адресу источника или назначения.
После применения патча, для использования этих типов балансировки необходимо включать bonding с параметром bond_mode=2 (Mode of operation: balance-xor), а в параметре xmit_hash_policy выбрать необходимый тип балансировки: 3 для балансировки по IP адресу получателя или 4 для балансировки по IP адресу отправителя.
1) «10 Gigabit and Multi-Gigabit Solution» www.cisco.com/en/US/prod/collateral/ps7045/ps6129/ps6133/ps6151/product_data_sheet0900aecd801d8574.html
2) Configuring EtherChannel Load Balancing www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/channel.html#wp1020804
3) Патч для ядра 2.6.32 pastebin.com/5YPNZBiy
ссылка на оригинал статьи http://habrahabr.ru/post/172897/
Добавить комментарий