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