Андрей Хожемпо

vFS для LTO

Виртуальная файловая система на LTO магнитных лентах (LTO 1-4) с отказоустойчивостью и кешированием.

catdoor

Реализация

Полноценная файловая система на ленточных носителях появилась только к стандарту LTO-5. До этого (стандарты от 1 до 4) данные сохраняются на ленту в виде пакетов.

Данная программа создает виртуальный диск (папку) с которой можно работать как с обычным. Программа осуществляет распределение файлов среди носителей и их чтение с носителя или кеша. Файлы собираются в пакеты определенного размера, что облегчает их загрузку и последующий поиск и выгрузку с кассеты.

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

Ввиду особенностей реализации программа функционирует только в Unix среде (ubuntu, debian и др.)

В качестве базы данных используется mysql. Виртуальная файловая система реализована с применением fuse (bazil.org/fuse).

    Особенности реализации:
  • Конфигурационный файл в формате json (github.com/hjson/hjson-go).
  • Есть обработчик нажатия Ctrl-C для штатного прекращения работы и размонтирования виртуального диска (папки).

Стэк

GO
MySQL
Linux