В дерево исходных текстов Qemu принят код с реализацией драйвера для работы в качестве клиента с распределенным хранилищем Sheepdog. Это первый драйвер, который позволяет организовать выполнение виртуальных окружений в Qemu поверх распределенного на несколько машин высоконадежного хранилища.
Проект Sheepdog разработан с целью организации хранилищ для инфраструктуры виртуальных серверов с оглядкой на возможность масштабирования на тысячи узлов (линейная масштабируемость) и напоминает по своим возможностям Amazon EBS (Elastic Block Storage). Sheepdog работает на уровне блочного устройства, независящего от типа используемой файловой системы. Выход из строя определенного узла не сказывается на работоспособности хранилища благодаря многократному дублированию хранимых блоков данных. В простейшем случае, Sheepdog можно использовать для создания высоконадежного RAID-подобного хранилища, разнесенного на несколько машин в сети.
Sheepdog поддерживает такие возможности как создание снапшотов, клонирование разделов, обеспечение работы тонких клиентов. В списке ближайших планов значится обеспечение возможности live-миграции гостевых окружений с одного узла кластера на другой, разработка механизмов для балансировки нагрузки, создание совместимого с Amazon EBS API, поддержка отличных от X86_64 аппаратных платформ, разработка средств для восстановления данных и т.д.
Архитектура проекта основана на трех частях: менеджер дискового ввода/вывода, кластерный менеджер и клиентская часть в виде модифицированного qemu/kvm драйвера блочных устройств. Каждый VDI-образ виртуальной машины разбивается по умолчанию на блоки, размером 4 Мб, которые распределяются по узлам кластера. Система очень проста с точки зрения администрирования, достаточно запустить на машине необходимое ПО и Sheepdog автоматически сконфигурирует данную систему в качестве нового узла кластера.
Перевод руководства по настройке Sheepdog в Fedora Linux можно посмотреть в данной заметке.
|