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

Как записать на ленту с помощью аппаратного сжатия в Linux?

У меня есть лента LTO-4, подключенная к хосту Linux, и Linux создает все обычные устройства для этой ленты следующим образом:

/dev/nst0
/dev/nst0a
/dev/nst0l
/dev/nst0m
/dev/st0
/dev/st0a
/dev/st0l
/dev/st0m

Я обычно использую /dev/st0 и /dev/nst0 устройства для записи на ленту, но теперь я хочу попробовать аппаратное сжатие. Я предполагал, что мне просто нужно использовать одно из других устройств, но вот вопрос - какое? Я прочитал документацию и даже посмотрел исходный код драйвера, но не смог найти однозначного ответа.

Вам необходимо получить другую версию mt, которая поддерживает сжатие. Канонический Linux mt является mt-st. Вот источник для мт-ст.

Вот инструкция с хорошими информация об использовании ленточных накопителей в Linux.

Ты можешь использовать mt status чтобы определить, включено ли сжатие для конкретного устройства.

После некоторого чтения выясняется, что правильный способ сделать это - создать /etc/stinit.def файл, определите режимы 1-4, а затем запустите stinit. Это настроит соответствующие устройства на основе настроек из файла. В st драйвер предоставит некоторые разумные значения по умолчанию для событий ленточных устройств без этого файла, но, по-видимому, нет способа узнать, что это такое. В /etc/stinit.def это хорошее место для их явного определения. SLES11 поставляется с версией 0.9b st-mt пакет, и у него нет сценария инициализации для запуска во время загрузки, поэтому требуется несколько ручных сценариев. Похоже, что с последней версией 1.1 mt-st package сценарий инициализации уже включен, поэтому необходим только файл конфигурации.

Обновить: Вот ссылка на stinit.def файл https://wiki.debian.org/StinitDef

Вероятно, вы можете просто установить атрибут COMPRESSION, используя команду linux «mt». А утилита tapeinfo проверит, что сжатие включено.

Вот места, где можно прочитать подробности:

http://linux.die.net/man/1/tapeinfo

http://linux.die.net/man/1/mt