Ceph высокая задержка

Вопрос или проблема

Я ищу помощь с трудной проблемой, связанной с Ceph, которая значительно повлияла на компанию, в которой я работаю.

Наша компания управляет кластером из трех узлов, размещенным в дата-центре, более 10 лет. Эта производственная среда работает на Proxmox (версии 6.3.2) и Ceph (версии 14.2.15). С точки зрения производительности, наши приложения функционируют адекватно.

Чтобы удовлетворить новые бизнес-требования, такие как необходимость в дополнительных ресурсах для виртуальных машин (ВМ) и поддержка роста компании, мы развернули новый кластер в том же дата-центре. Новый кластер также состоит из трех узлов, но значительно более мощный, имеющий увеличенную память, вычислительную мощность и большую емкость хранения Ceph.

Целью этой новой среды является миграция ВМ с старого кластера на новый, чтобы обеспечить его способность справляться с растущими требованиями наших приложений. Эта новая настройка работает на более поздних версиях Proxmox (8.2.2) и Ceph (18.2.2), которые значительно отличаются от версий в старой среде.

Проблема
Во время постепенной миграции ВМ на новый кластер мы столкнулись с серьезными проблемами производительности в наших приложениях — проблемы, которые не возникали в старой среде. Эти проблемы с производительностью сделали нецелесообразным хранение ВМ в новом кластере.

Анализ задержки Ceph в новой среде выявил крайне высокую и непостоянную задержку, как показано на скриншоте ниже:
<<Скриншот задержки Ceph – новая среда>>
изображение новой среды

Чтобы смягчить операционные трудности, мы вернули все ВМ обратно в старую среду. Это решение устранило проблемы с производительностью, обеспечив функционирование наших приложений как ожидалось, без нарушения работы конечных пользователей. После этого отката задержка Ceph в старом кластере вернулась к стабильным и низким уровням:
<<Скриншот задержки Ceph – старая среда>>
изображение старой среды

С новым кластером, который теперь доступен для тестирования, нам нужно определить коренную причину высокой задержки Ceph, которая, как мы подозреваем, является основным фактором плохой производительности приложений.

Спецификации кластера

Старый кластер

Модель контроллера и прошивка:
pm1: Smart Array P420i Controller, версия прошивки 8.32
pm2: Smart Array P420i Controller, версия прошивки 8.32
pm3: Smart Array P420i Controller, версия прошивки 8.32

Диски:
pm1: KINGSTON SSD SCEKJ2.3 (1920 ГБ) x2, SCEKJ2.7 (960 ГБ) x2
pm2: KINGSTON SSD SCEKJ2.7 (1920 ГБ) x2
pm3: KINGSTON SSD SCEKJ2.7 (1920 ГБ) x2

Новый кластер

Модель контроллера и прошивка:
pmx1: Smart Array P440ar Controller, версия прошивки 7.20
pmx2: Smart Array P440ar Controller, версия прошивки 6.88
pmx3: Smart Array P440ar Controller, версия прошивки 6.88

Диски:
pmx1: KINGSTON SSD SCEKH3.6 (3840 ГБ) x4
pmx2: KINGSTON SSD SCEKH3.6 (3840 ГБ) x2
pmx3: KINGSTON SSD SCEKJ2.8 (3840 ГБ), SCEKJ2.7 (3840 ГБ)

Тесты, проведенные в новой среде

  • Удален Ceph OSD на узле 1. Ceph синхронизировался более 28 часов. Воссоздан OSD на узле 1.
  • Удален Ceph OSD на узле 2. Ceph также синхронизировался более 28 часов. Воссоздан OSD на узле 2.
  • Перемещены три ВМ на локальный резервный диск pmx1.
  • Уничтожен кластер Ceph.
  • Создан локальный объем на каждом сервере с использованием виртуального диска (RAID 0), который ранее использовался Ceph.
  • Мигрированы ВМ в новую среду и проведен стресс-тест для проверки проблем с диском.

Вопросы и просьбы о вводе

  • Есть ли дополнительные тесты, которые вы бы порекомендовали для лучшего понимания проблем с производительностью в новой среде?

  • Вы сталкивались с аналогичными проблемами с Ceph при переходе на более мощный кластер?

  • Могла ли эта проблема возникнуть из-за конфигурации Ceph?

  • Хранение Ceph в новом кластере больше, но интерфейс сети ограничен 1 Гбит/с. Могло ли это стать узким местом? Нужно ли обновлять интерфейс сети до 10 Гбит/с для больших объемов хранения Ceph?

  • Могут ли эти проблемы быть вызваны несовместимостями или изменениями в новых версиях Proxmox или Ceph?

  • Существует ли возможность аппаратных проблем? Обратите внимание, что аппаратные тесты в новой среде не выявили никаких проблем.

  • Учитывая различия в моделях SSD, типах контроллеров и версиях прошивки между старыми и новыми средами, могут ли эти факторы способствовать вопросам производительности и задержки, с которыми мы сталкиваемся с Ceph?

Ответ или решение

Ceph Высокая Задержка: Анализ и Рекомендации

Ваша проблема с высокой задержкой в новом кластере Ceph требует комплексного анализа. Давайте разберем ключевые аспекты, которые могут влиять на производительность и способы решения проблемы.

1. Проекция Загруженности на Сеть

Одной из причин высокой задержки может быть ограниченная пропускная способность сети. Вы упомянули, что сетевой интерфейс ограничен до 1 Гбит/с, что может стать узким местом, особенно при больших объемах данных, которые обрабатывают более мощные узлы нового кластера. Рекомендация: Рассмотрите возможность перехода на сетевые интерфейсы 10 Гбит/с, чтобы обеспечить достаточную пропускную способность.

2. Проблемы Конфигурации Ceph

Неправильная конфигурация Ceph в новом кластере также может быть источником высокой задержки. Убедитесь, что параметры, такие как filestore, max_bytes, и osd_replicas, правильно настроены на основании ваших потребностей. Рекомендация: Сравните конфигурацию нового кластера с работоспособной конфигурацией старого и протестируйте различные настройки.

3. Различия в Оборудовании

Вы привели примеры различий между контроллерами и SSD в старом и новом кластерах. Использование более современных компонентов с различной архитектурой может повлиять на производительность. Рекомендация: Проводите тесты производительности на уровне блока, чтобы увидеть, как оборудование реагирует на нагрузку. Это поможет в выявлении возможных узких мест.

4. Обновления Программного Обеспечения

Перемещение на более новые версии Proxmox и Ceph может вызвать несовместимости или проблемы с новыми возможностями. Проверьте совместимость используемых вами приложений с новыми версиями. Рекомендация: Протестируйте более раннюю версию Ceph на новом оборудовании, чтобы исключить вероятность конфликта между версиями.

5. Тестирование Производительности

Для дальнейшего анализа рекомендуется провести дополнительные тесты, включая:

  • Проведение нагрузочного тестирования на дисковом уровне с использованием инструментов типа fio для оценки IOPS и задержки.
  • Анализ сетевых задержек с помощью iperf для выявления потенциальных bottlenecks на сетевом уровне.
  • Мониторинг различных метрик Ceph с использованием таких инструментов, как ceph -s и ceph osd perf, чтобы детально увидеть поведение OSD.

6. Проверка Аппаратных Ошибок

Независимо от того, что тесты не показали проблемы с оборудованием, стоит проверить уровень температуры, работу вентиляторов и состояние кабелей. Эти факторы также могут влиять на стабильность кластера. Рекомендация: Регулярно выполняйте мониторинг показателей здоровья всех компонентов.

Заключение

Повышенная задержка в новом кластере Ceph, вероятнее всего, является результатом сочетания факторов, включая сетевые ограничения, конфигурацию и аппаратные отличия. Важно провести системный анализ и тестирование для понимания коренных причин проблемы.

Если проблемы продолжатся, может быть полезно привлечь внешних экспертов по Ceph для более глубокой диагностики и поиска решений.

Обновление вашей инфраструктуры и поиск причин задержки — это инвестиции в надежность и производительность ваших приложений в будущем.

Оцените материал
Добавить комментарий

Капча загружается...