Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Балансировка
"на скорости проводов".
Без ASIC, без
ограничений
Андрей Домась, Одноклассники
Вячеслав Морозов, NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Кто мы такие?
АНДРЕЙ ДОМАСЬ
Ведущий cистемный администратор
ВЯЧЕСЛАВ МОРОЗОВ
Технический директор
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
О чем?
Балансировка в Одноклассниках
Проблема с SYN-flood
Решение от NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Балансировка в OK
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
Много дорабатывали
Баги
Плохо документирован
Однопоточные проверки (30-40 мин
если сломалось много серверов)
Настраивается из файла (сложно
автоматизировать)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
app-group1.cloud.local.
app-group1.cloud.local. 10 A 192.168.0.1
app-group1.cloud.local. 10 A 192.168.0.2
app-group1.cloud.local. 10 A 192.168.0.3
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS (SYN-flood)
Q1 2016 peaks: 120+ Mpps
https://www.incapsula.com/ddos-report/ddos-report-q1-2016.html
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты (ip_vs)
Connection Rate
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тонкое место
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Чем плох ip_vs
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Что решили попробовать
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
41.8
Mcps
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
Connections/secConnections/sec
x200ip_vs NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает (HA)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
NFWare Load Balancer
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Scalability
Pipeline
Better resource
utilization
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
SW RSS:
Поддержка
различных карт
Smart hash
Улучшение
использлования PCIe
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
Поиск существующих соединений в таблице
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице Создание новой сессии
● Поиск виртуального сервиса
● Применение правил шедулера
● Отправка пакета в сторону выбранного сервера
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
RCU
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
Срабатывание при создании сессии
Освобождение сессии в целевом hash bucket
Lock-free
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Преимущества
Бесшовная интеграция в существующую инфраструктуру
Увеличение производительности балансировки в 200 раз
Улучшение защиты от SYN-Flood
Сохранение функционала ip_vs: синхронизация сессий,
режимы (возможности балансировки)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
ВОПРОСЫ?
Андрей Домась
andrey.domas@corp.mail.ru
Вячеслав Морозов
vmorozov@nfware.com

More Related Content

Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare для Одноклассников / Андрей Домась, Вячеслав Морозов (Одноклассники)

  • 1. Балансировка "на скорости проводов". Без ASIC, без ограничений Андрей Домась, Одноклассники Вячеслав Морозов, NFWare
  • 2. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Кто мы такие? АНДРЕЙ ДОМАСЬ Ведущий cистемный администратор ВЯЧЕСЛАВ МОРОЗОВ Технический директор
  • 3. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений О чем? Балансировка в Одноклассниках Проблема с SYN-flood Решение от NFWare
  • 4. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Балансировка в OK
  • 5. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Когда-то давно
  • 6. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Когда-то давно Много дорабатывали Баги Плохо документирован Однопоточные проверки (30-40 мин если сломалось много серверов) Настраивается из файла (сложно автоматизировать)
  • 7. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно
  • 8. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 9. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 10. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 11. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Сейчас
  • 12. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Сейчас app-group1.cloud.local. app-group1.cloud.local. 10 A 192.168.0.1 app-group1.cloud.local. 10 A 192.168.0.2 app-group1.cloud.local. 10 A 192.168.0.3
  • 13. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS (SYN-flood) Q1 2016 peaks: 120+ Mpps https://www.incapsula.com/ddos-report/ddos-report-q1-2016.html
  • 14. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты (ip_vs) Connection Rate
  • 15. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тонкое место
  • 16. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Чем плох ip_vs
  • 17. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Что решили попробовать
  • 18. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты 6 x 10G, no LACP Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz Connections/sec
  • 19. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты 6 x 10G, no LACP Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz Connections/sec 41.8 Mcps
  • 20. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты Connections/secConnections/sec x200ip_vs NFWare
  • 21. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Как это работает
  • 22. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Как это работает (HA)
  • 23. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений NFWare Load Balancer
  • 24. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура
  • 25. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура
  • 26. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура Scalability Pipeline Better resource utilization
  • 27. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами
  • 28. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами
  • 29. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами SW RSS: Поддержка различных карт Smart hash Улучшение использлования PCIe
  • 30. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения Поиск существующих соединений в таблице
  • 31. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения ● Slow path: Новая сессия Поиск существующих соединений в таблице
  • 32. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения ● Slow path: Новая сессия Поиск существующих соединений в таблице Создание новой сессии ● Поиск виртуального сервиса ● Применение правил шедулера ● Отправка пакета в сторону выбранного сервера
  • 33. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS
  • 34. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS
  • 35. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS RCU
  • 36. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 37. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 38. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 39. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS Protection | Борьба с SYN-Flood Срабатывание по пороговому значению Освобождение произвольных сессий - в результате может не быть места в hash bucket Блокировка всей таблицы
  • 40. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS Protection | Борьба с SYN-Flood Срабатывание по пороговому значению Освобождение произвольных сессий - в результате может не быть места в hash bucket Блокировка всей таблицы Срабатывание при создании сессии Освобождение сессии в целевом hash bucket Lock-free
  • 41. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Преимущества Бесшовная интеграция в существующую инфраструктуру Увеличение производительности балансировки в 200 раз Улучшение защиты от SYN-Flood Сохранение функционала ip_vs: синхронизация сессий, режимы (возможности балансировки)
  • 42. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений ВОПРОСЫ? Андрей Домась andrey.domas@corp.mail.ru Вячеслав Морозов vmorozov@nfware.com