Управление локальным общим хранилищем
В основу платформы виртуализации OpenStack заложен принцип предоставления референсной абстрактной модели IaaS. Все компоненты платформы построены по этому принципу и, если один из компонентов имеет возможность не выполнять какие-либо действия, то он не будет ничего выполнять фактически, кроме предоставления API. Все рабочие механизмы реализуются через плагины к модулям платформы, и реальная работа с инфраструктурой, в частности, организация сетевых тоннелей или подключение диска виртуальной машины, реализовываются подключаемыми драйверами и расширениями, которые создаются, как правило, различными вендорами. Это приводит к следующим последствиям:
скрытие механизмов работы за драйверами и расширениями модулей;
отсутствие гибкости в случае мультивендорной инфраструктуры;
необоснованное программное переусложнение модулей;
конфликты плагинов к модулям, например, невозможно завести под один Cinder backend СХД EMC и NetApp;
серьезная потеря гибкости и функциональности в угоду универсальности интерфейсов.
Реализованная в рамках CloudManager утилита для работы с локальным общим хранилищем позволяет:
получить абстракцию от вендорских СХД;
объединять СХД разных вендоров в один общий Cinder backend;
выводить вендорские СХД в режим обслуживания без прерывания сервиса для клиентов платформы виртуализации;
избавиться от проблем вендорских драйверов, связанных с их недоработкой.