В мае мы успешно произвели работы по замене коммутатора на 7 кластере. Многие из вас проявили интерес к опубликованным фотографиям и описанию проводимых работ, поэтому мы решили подробнее рассказать о предпосылках, а также результатах, которые были достигнуты благодаря их реализации.
Всё началось с того, что мы обратили внимание на ряд факторов, которые указывали на необходимость оптимизацию программного коммутатора и замену аппаратного. Среди них можно выделить следующие обстоятельства:
- Было выявлено появление жалоб на «квакание» от клиентов, которые использовали «Teamspeak», «Asterisk» и другие приложения, в основе которых лежит передача голосового трафика. Наличие данной проблемы свидетельствовало о потере полезных пакетов на сети. Появление эффекта можно объяснить тем, что IP-телефония для передачи данных использует протокол UDP. В данном протоколе отсутствует сценарий, по которому происходит повтор передачи потерянного пакета заново, в следствии этого, голосовое сообщение доходит до получателя в искажённом виде.
- Было зафиксировано, что обращения, которые касались работы VDS и не были связаны с потерей пакетов трафика, по статистике протокола TCP, выделялись высокими значениями счётчика Retransmit. Его показатели свидетельствуют о необходимости передачи потерянных пакетов.
- В показателях статистики compute-нод были зафиксированы высокие показатели счётчиков rxfifo_error, которые также свидетельствуют о дропах пакетов по различным причинам.
- Большие показатели счётчиков discard.
В рамках оптимизации стека было осуществлено вертикальное расширение. В ходе его реализации мы произвели следующие улучшения:
- Осуществили переход на jumbo-frame, что увеличило показатель MTU до 9000. Это позволило увеличить миграцию и процесс создания новых VDS, а также утилизировать полную пропускную способность интерфейса.
- Провели оптимизацию программного коммутатора на compute-нодах (bridge).
- Провели оптимизацию настроек сетевых карт compute-нод. Начало работы над оптимизацией сетевого стека указало на необходимость замены коммутатора.
Расскажем, почему же понадобилась его замена:
- Каждый коммутатор обладает буфером передачи данных, который почти всегда используется при переходе между интерфейсами с разными скоростями. Замена позволит увеличить буфер передачи до 1 Gb.
- Новый, более мощный коммутатор необходим для возможности горизонтального расширения сетевого кластера. Нами был выбран коммутатор HР 5830.
- Миграции, DDoS атаки, осуществляемые мелкими пакетами, а также повышенное потребление трафика может приводить к исчерпанию лимита буфера передачи данных, что влечёт замедление передачи данных на всех нодах. В качестве основного сигнала можно выделить появление множества уведомлений, свидетельствующих о наличии проблемы с исчерпанием лимита.
После успешного проведения оптимизации сетевого стека нами были проведены работы по замене коммутатора на 7 кластере. В ходе их реализации было сделано следующее:
- Извлечение коммутатора IPMI;
- Перенос основного коммутатора;
- Установка нового коммутатора;
- Переключение внешних портов на новый коммутатор;
- Организация двух воздуховодов для нового коммутатора;
- Упорядоченное переключение серверов;
- Осуществление процедур по наведению порядка и проверке корректности работы коммутатора. Замена коммутатора позволила увеличить скорость передачи данных на всех нодах.