Проекты или пакеты для эмуляции стримера с бэкэндом, совместимым с Amazon S3 или OpenStack Swift?

У меня есть некоторые данные, которые копируются на ленту через bacula, и в какой-то момент в скором времени мне нужно будет перейти на не ленточное хранилище.

Bacula поддерживает архивацию на диск, но мне пришло в голову, что если бы существовал какой-либо интерфейс виртуальной ленточной библиотеки для S3 или openstack Swift, или какой-либо другой службы хранилища объектов, я мог бы просто поменять конфигурации и сохранить существующее архивирование, старение и планирование конфигураций без проблем.

У меня был гугл, и я вижу, что Amanda (использующая Device Device) и куча продуктов для резервного копирования имеют серверные хранилища объектов S3, но я не вижу проектов, которые бы заменяли с помощью *nix /dev/st0 семантика интерфейса устройства.

Это может быть потому, что я понятия не имею, и что идея нелепа и невозможна, и т. Д., Однако мне было бы интересно узнать, пропустил ли я какие-либо очевидные вещи, прежде чем углубляться в какую-то взломанную замену.

Уточните параметры платформы - она ​​не размещена на AWS, и в настоящее время EBS не доступен, а целью является собственное хранилище объектов OpenStack Swift, совместимое с S3, поэтому затраты на пропускную способность и хранение являются внутренними.

3 ответа

Решение

Это более чем сомнительный подход ко всему, кто может рассмотреть резервное копирование, но вы должны попробовать. Первое, что вам нужно, это все, что представляет блок интерфейса поверх S3. Что-то вроде NBD-сервера с бэкэндом S3 - взгляните на это.

После того, как вы заработали эту работу, вам нужно что-то, что представляет файл поверх блочного устройства и предлагает целевой / виртуальный HBA SCSI вашей системе с чейнджером и стримером. Посмотрите на этот проект здесь.

См. Проект S3NBD (первая ссылка) для дополнительного обоснования того, почему запуск резервного копирования и восстановления с S3 может быть плохой идеей (при нынешней схеме ценообразования S3).

Недостаток эмуляции ленты в EC2 заключается в том, что для эмуляции ленты вы должны эмулировать все аспекты. Это включает в себя идею, что когда вы загружаете ленту и не планируете писать с самого начала, вы должны искать все эти данные.

Я считаю, что проще было бы подключить тома EBS как блочные устройства в Bacula.

Что может быть еще более простым способом действий будет использовать Media Type = Fifo и свяжите это с программой, которая пишет в EBS. Для восстановления вам нужно будет что-то придумать, но ваши данные будут перемещены.

Вы можете попробовать MHVTL, он эмулирует виртуальную ленточную библиотеку и использует файлы / каталоги в качестве хранилища. Вы можете использовать S3FS или другой механизм для эмуляции файлов / каталогов, в которых может находиться MHVTL. Вы также можете изменить MHTL так, чтобы он просто перемещал свои файлы в / из S3/Swift, как цель при монтировании / размонтировании. Это выглядит как / dev / tapedevice и scsi media changer, поэтому продукты для резервного копирования могут работать без изменений. Не знаю о поддержке.

Другие вопросы по тегам