Использование XEN совместно с DRBD: особенности, производительность, преимущества и недостатки
Иван Семерник, РУП “Белтелеком”, г. Минск, ivan.semernik@dc.beltelecom.by
LVEE 2009
Сегодня практически перед каждым системным администратором ставятся задачи организовать надежную техническую площадку под различные проекты. Но в условиях тотальной экономии и секвестирования IT-бюджетов от специалистов требуют обеспечить не только организацию надежных инфраструктур, но и экономию денежных средств на этом. Один из способов построения бюджетной надежной инфраструктуры, которая может использоваться для организации практически любого проекта – использование системы виртуализации XEN 1 совместно с распределенным реплицируемым блочным устройством DRBD 2.
общая информация
Xen — монитор виртуальных машин (VMM), или гипервизор. Работает в паравиртуальном режиме и в режиме аппаратной виртуализации (HVM), использует аппаратные возможности процессоров, поэтому не имеет привязки к конкретной операционной системе и может быть установлен «поверх» только лишь аппаратного обеспечения. Способен поддерживать одновременную работу большого числа виртуальных машин на одной физической, при этом не тратя значительных вычислительных ресурсов 3.
DRBD (от англ. Distributed Replicated Block Device — «Распределенное Копируемое Блочное Устройство») — это блочное устройство, предназначенное для построения отказоустойчивых кластерных систем на операционной системе с ядром Linux. Вопреки распространненному мнению, DRBD не является ни кластерной, ни какой-либо другой файловой системой.
Рис. 1. Схема работы DRBD
DRBD позволяет создать общее для кластера зеркальное дисковое пространство (в сущности, RAID 1) между накопителями на разных машинах в сети. Когда на одной машине производится запись на диск, DRBD сразу синхронизирует с записанными данными диски других машин. Один из узлов при этом является основным (primary), остальные – резервными (secondary), и, соответственно, несколько узлов кластера не могут одновременно работать с таким диском. Начиная с версии 8 DRBD поддерживает режим, когда все узлы являются основными, однако при этом необходимо использовать специализированную кластерную файловую систему, например GFS, GFS2 или OCFS2, которая позволяет выполнять одновременную запись на нескольких узлах. Такое решение используется для создания отказоустойчивых кластеров. Также, начиная с восьмой версии, вышедшей в январе 2007 года, DRBD поддерживает балансировку нагрузки 4.
*тестирование *
Для настройки и тестирования рассмотренной выше схемы были выбраны два сервера с идентичной производительностью под управлением ОС Linux. Диски на серверах были объединены в RAID1 (зеркало) с помощью mdadm. Далее был настроен LVM-стек, выделены логические разделы для организации репликации данных по сети с помощью DRBD. Используемая версия XEN имеет встроенную поддержку DRBD, что позволило мигрировать виртуальные машины с одного физического сервера на другой без дополнительных настроек управляющего ПО.
В ходе работы по тестированию схемы было установлено, что виртуальная машина мигрирует с сервера на сервер 3-4 секунды, при этом происходит задержка в обслуживании (не отказ). Далее был проведен ряд экспериментов по эмуляции выхода из строя отдельных компонентов сервера, с целью выяснения, как поведут себя виртуальные машины и софт, работающий внутри их. Результаты экспериментов показали, что дисковая подсистема, от которой как правило ждут отказов, в данной схеме реализована достаточно надежно, и даже при полном отказе одного из серверов, виртуальные машины всегда могут быть запущены на другом. Замеры производительности дисковой подсистемы были проведены с использованием DRBD, без, и, в качестве базы для оценки, была взята измеренная производительность enterprise-решения на базе HP StorageWorks EVA8000 и двух серверов HP BL20p G3 с гипервизором от vmware. На данном фоне протестированная система выглядит более медленным, но и более дешевым решением.
источники