Проекты или пакеты для эмуляции стримера с бэкэндом, совместимым с 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, поэтому продукты для резервного копирования могут работать без изменений. Не знаю о поддержке.