Электронное хранилище
LINSTOR - это инструмент для автоматизированного управления кластерами, который позволяет упростить управление DRBD и предлагает широкий спектр функций, включая резервирование и моментальные снимки.
LINSTOR - это программное обеспечение с открытым исходным кодом, предназначенное для управления блочными устройствами хранения в больших кластерах Linux серверов. Оно упрощает развертывание хранилища высокой доступности с помощью распределенного реплицированного блочного устройства версии 9 (DRBD 9), динамически резервирует хранилище и упрощает управление посредством интеграции с Kubernetes, Docker, OpenStack, OpenNebula, OpenShift и т.д. Кроме того, LINSTOR может обеспечивать высокую доступность с помощью DRBD. В этой статье я рассмотрю настройку и работу этого инструмента.
На первый взгляд, автоматизация хранения данных не кажется сложной задачей: уже давно создания, расширения и удаления томов хранилища не ограничиваются объемом отдельных устройств хранения или объемом и положением слоев или разделов, созданных на устройствах хранения. Такие технологии, как диспетчер логических томов (LVM) или файловая система Zetabyte (ZFS), уже давно позволяют управлять пулами хранения, в которых можно легко создавать или удалять практически неограниченное количество томов хранилища любых размеров.
Что трудного в том, чтобы автоматизировать такие рутинные задачи с помощью нескольких скриптов? Но дело в том, что при автоматизации необходимо уделять внимание мельчайшим деталям, поскольку этот процесс содержит много потенциальных ловушек для администратора. Какие-то мелкие моменты, которые могут быть не заметны при ручном администрировании, легко могут привести к проблемам в автоматизации – например, когда файлы устройств еще не существуют в файловой системе /dev, хотя соответствующая команда для создания тома уже сообщила о завершении, или если вы хотите удалить не смонтированные тома, которые используются подсистемой udev. Если дополнительно требуется централизованное управление целым кластером, а не только одной системой, становится ясно, что несколько готовых скриптов не справляются с этой задачей.