DRDB в асинхронном режиме. Маленькие админские шалости
Вячеслав Бочаров, Минск, Belarus
LVEE 2012
The effect on the speed of access to the disk subsystem for the use of different communication protocols “A” “B” “C” in the construction of a failover cluster based on DRBD.
При проектировании ИТ инфраструктуры все чаще возникает задача создания резервного датацентра, чтобы обеспечить непрерывность оказания услуг, даже в случае полного выхода из строя основного датацентра.
Основной и резервный датацентр принято размещать на территориально разнесенных площадках. И одна из основных задач это репликация данных между ними. Эту задачу позволяет реализовать технология DRBD, (Копирование удаленных блочных устройств).
Но зачастую каналы связи между основным и резервным датацентром не обладают достаточной пропускной способность, что вызывает замедление в доступе к предоставляемым сервисам на основной площадке.
Асинхронный доступ позволяет избежать задержек при копировании данных на резервную систему, за счет того что не ожидает подтверждения о доставки данных и их записи. Существует еще промежуточный протокол позволяющий получить подтвержение о доставки данных но не ожидать подтверждения о записи, его использование так же позволит избежать задержек, но является более надежным.
Описание протоколов.
Технология DRDB использует 3 типа протоколов:
Протокол “А” – асинхронный. Запись считается завершенной после записи данных на локальный диск и факта отправки данных на удаленный сервер.
Протокол “С” – синхронный. Запись считается завершенной в момент получения подтверждения от удаленной системы о завершении записи на диск.
Протокол “В” – промежуточный. Запись считается завершенной после записи данных на локальный диск и получения подтверждения о приеме (но не записи) данных удаленной системой.
2. Преимущества и недостатки синхронного, асинхронного и промежуточного протокола обмена данными.
Основные риски при удаленном копировании, это нарушение целостности данных, снижение скорости обмена с дисковой подсистемой при синхронном протоколе “С” при нахождении второй дисковой подсистемы на удаленной площадке дата-центра.
Как видно из описания протоколов, самым медленным является протокол “С” , самым быстрым – протокол “А”.
Практических во всех обзорах указывается использование синхронного протокола, что вполне естественно для обеспечения целостности данных.
Что произойдет, если использовать асинхронный протокол «А» либо промежуточный протокол «В» , как это повлияет на скорость доступа? Действительно ли это снижает надежность файлового кластера.
3. Результаты тестов кластера при применении различных протоколов.
Тесты проводились на системе из двух серверов, находящихся в разнесенных дата-центрах на расстоянии 60 километров. Связь между ними осуществляется по оптоволоконному каналу на скорости 12 Мб.
Для построения кластера использовалась технология Heartbeat DRBD на базе дистрибутива CentOS. Диски SATA Maxtor & Seagate, файловая система ext4. Контрольные результаты тестирования доступа к локальной дисковой подсистеме 127 – 130 IOPS, что является нормой для таких дисков.
Результаты тестов скорости доступа к дисковой подсистеме при использовании протокола “С” – высокая надежность, невысокая скорость.
Скорость доступа примерно равна 30 – 40 IOPS, проблемы с целостностью данных не наблюдается.
Результаты тестов доступа к дисковой подсистеме при использовании протокола “В” – достаточный уровень надежности, средняя скорость.
Скорость повышается до 43 – 55 IOPS, что в принципе достаточно для не нагруженных файловых сервисов, хранилища виртуальных машин, для критичных сервисов очень даже неплохо.
Результаты тестов доступа к дисковой подсистеме при использовании протокола “A” – низкий уровень надежности, высокая скорость.
Скорость доступа еще повышается до 50 – 57 IOPS, что в принципе тоже неплохо. В боевом режиме сбоев не наблюдается, но при искусственном стресс-тестировании (моделирование отказа обоих серверов одновременно с последовательным восстановлением) понадобилось ручное восстановление данных.
4. Выводы
Как показывает практика, использование промежуточного протокола “B” дает выигрыш в скорости обращения к дисковой подсистеме и не оказывает существенного влияния на надежность, что позволяет рекомендовать его для организации кластеров высокой доступности.
В тоже время репликация по протоколу “А” хотя и дает выигрыш в производительности, но оставляет высокими риски, связанные с потерями данных, а при использовании низкоскоростных соединений в случае “расщепления разума” («split-brain») может привести к отказу системы. Данная технология отлично подходит для разнесения на основной и резервный дата-центр сервисов, связанных с хранением данных, для повышения отказоустойчивости.
Применение промежуточного протокола оправдана, когда невозможно получить высокоскоростные линии связи.
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.