Назад | Перейти на главную страницу

Бесплатная автоматизация многоуровневого хранилища в Linux?

У меня есть пара виртуальных файловых серверов, работающих в QEMU / KVM на ProxmoxVE.

Физический хост имеет 4 уровня хранения со значительными различиями в производительности. Они прикреплены как локально, так и через NFS.

Они будут предоставляться файловым серверам в виде локальных дисков, разделенных на пулы и обрабатывающих несколько потоков данных для сети. Моя цель состоит в том, чтобы этот уровень абстракции разумно объединял уровни.

На сайте есть похожий пост: Создавайте домашние автоматические многоуровневые системы хранения с Linux? (Память -> SSD -> HDD -> удаленное хранилище) в котором принятый ответ был предложением отказаться от решения Linux для NexentaStor.

Мне нравится идея запустить NexentaStor. Это почти отвечает всем требованиям.

NexentaStor предоставляет гибридные пулы хранения, и мне нравится идея контрольных сумм. 16 ТБ без лицензионных сборов - тоже огромный плюс. После расходов на оборудование бесплатное - это почти все, на что способен мой бюджет.

Я не знаю, являются ли пулы zfs адаптивными или динамически распределяемыми в зависимости от нагрузки, но это становится неактуальным, поскольку NexentaStor не поддерживает сетевые или блочные драйверы virtio, что является обязательным в моей среде.

Затем я увидел коммерческое решение под названием SmartMove: http://www.enigmadata.com/smartmove.html

И это похоже на шаг в правильном направлении, но я настолько разорен, что трачу их время даже на то, чтобы спросить цитату, поэтому я ищу другой вариант.

Мне нужна реализация Linux, поддерживающая драйверы virtio, и я не понимаю, какое программное обеспечение подходит для этого.

Вы можете попробовать расширить этот экспериментальный проект на github: https://github.com/tomato42/lvmts

Он содержит демон, который обнаруживает, что экстенты lvm используются чаще всего, и перемещает эти экстенты вверх по многоуровневой цепочке хранения.

Один из способов получить это на сервере Linux - использовать модуль ядра flashcache. Это действительно дает вам только один уровень, скажем, SSD поверх Drobo и / или локальных дисков. Я экспериментально использовал это в течение последних нескольких недель здесь, дома, с диском SATA на 500 ГБ и твердотельным накопителем X25-E, чтобы обеспечить LVM, который я затем разрезаю и обслуживаю через iSCSI. Пока все работает очень хорошо.

В FlashCache доступны два метода: сквозная запись и обратная запись. Кэш с обратной записью записывает, но также имеет конструктивный недостаток, который они еще не исправили, что может привести к серьезному сбою системы с неправильным сохранением некоторых данных. Сквозная запись не имеет такой проблемы, но записи всегда сбрасываются на опорный диск.

Я не думаю, что это было бы подходящим для наслоения поверх NFS.

Несколько замечаний о Flashcache: в настоящее время вам нужно создать его с нуля, вам нужно запустить 64-битное ядро ​​(32-битное просто не загружает модуль должным образом), и в моем тестировании до сих пор он работал отлично. Опять же, это было всего неделю или две.