Организация LTFS
Модератор: Bizdelnick
-
- Сообщения: 98
- ОС: centos/ubuntu
Организация LTFS
Доброго времени суток.
Задача: на сервер с CentOS 6.6 и библиотекой HP ML2024 поставить поддержку LTFS.
Так как библиотека от HP первым делом полез на их сайт разведывать возможности.
Да, от HP есть приложение HP StoreOpen and Linear Tape File System. Скачивается, приступаю к установке.
Ругается на неразрешенные зависимости:
fuse >= 2.8.4
libicudata.so.50()(64bit)
libicui18n.so.50()(64bit)
libicuuc.so.50()(64bit)
Поискал, какому пакету принадлежат библиотеки (rpmfind.net). Найдено только под 7 CentOS.
С пакетом fuse то же самое. Для 6 CentOS он максимум версии 2.8.3.
Просьба подсказать, как можно решить эти зависимости.
Так же, может быть кто-то посоветует другие варианты организации ltfs?
Сам я пока что откопал только http://www.quantum.com/serviceandsupport/s...ltfs/index.aspx
а так же Oracle и IBM. Плотно про двоих последних не читал, так как библиоткеи все же от HP.
Задача: на сервер с CentOS 6.6 и библиотекой HP ML2024 поставить поддержку LTFS.
Так как библиотека от HP первым делом полез на их сайт разведывать возможности.
Да, от HP есть приложение HP StoreOpen and Linear Tape File System. Скачивается, приступаю к установке.
Ругается на неразрешенные зависимости:
fuse >= 2.8.4
libicudata.so.50()(64bit)
libicui18n.so.50()(64bit)
libicuuc.so.50()(64bit)
Поискал, какому пакету принадлежат библиотеки (rpmfind.net). Найдено только под 7 CentOS.
С пакетом fuse то же самое. Для 6 CentOS он максимум версии 2.8.3.
Просьба подсказать, как можно решить эти зависимости.
Так же, может быть кто-то посоветует другие варианты организации ltfs?
Сам я пока что откопал только http://www.quantum.com/serviceandsupport/s...ltfs/index.aspx
а так же Oracle и IBM. Плотно про двоих последних не читал, так как библиоткеи все же от HP.
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
Можно попробовать пересобрать необходимые пакеты требуемых версий для CentOS 6.
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
И дай ссылку, откуда скачиваешь ПО. Вроде бы там есть специальная версия для RHEL 6.
-
- Модератор
- Сообщения: 21245
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Организация LTFS
Кто ругается? Команду установки покажите.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
Кто ругается? Команду установки покажите.
rpm и yum
Код: Выделить всё
[root@server]# ll
итого 556
-rwxr--r-- 1 root smbuser 26536 Фев 4 14:46 COPYING.LIB
-rwxr--r-- 1 root smbuser 506060 Фев 4 14:46 hp-soa-3.0.1-62.x86_64.rpm
-rwxr--r-- 1 root smbuser 3215 Фев 4 14:55 INSTALLING.linux
-rwxr--r-- 1 root smbuser 26178 Фев 12 08:35 README
[root@server]# rpm -ivh hp-soa-3.0.1-62.x86_64.rpm
ошибка: Неудовлетворенные зависимости:
fuse >= 2.8.4 нужен для hp-soa-3.0.1-62.x86_64
libicudata.so.50()(64bit) нужен для hp-soa-3.0.1-62.x86_64
libicui18n.so.50()(64bit) нужен для hp-soa-3.0.1-62.x86_64
libicuuc.so.50()(64bit) нужен для hp-soa-3.0.1-62.x86_64
[root@server]# yum install hp-soa-3.0.1-62.x86_64.rpm
Загружены модули: fastestmirror, refresh-packagekit, security
Подготовка к установке
Проверка hp-soa-3.0.1-62.x86_64.rpm: hp-soa-3.0.1-62.x86_64
hp-soa-3.0.1-62.x86_64.rpm отмечен для установки
Loading mirror speeds from cached hostfile
c6-media | 2.9 kB 00:00 ...
Разрешение зависимостей
--> Проверка сценария
---> Package hp-soa.x86_64 0:3.0.1-62 will be для установки
--> Обработка зависимостей: fuse >= 2.8.4 для пакета: hp-soa-3.0.1-62.x86_64
--> Обработка зависимостей: libicudata.so.50()(64bit) для пакета: hp-soa-3.0.1-62.x86_64
--> Обработка зависимостей: libicui18n.so.50()(64bit) для пакета: hp-soa-3.0.1-62.x86_64
--> Обработка зависимостей: libicuuc.so.50()(64bit) для пакета: hp-soa-3.0.1-62.x86_64
--> Проверка зависимостей окончена
Ошибка: Пакет: hp-soa-3.0.1-62.x86_64 (/hp-soa-3.0.1-62.x86_64)
Необходимо: libicui18n.so.50()(64bit)
Ошибка: Пакет: hp-soa-3.0.1-62.x86_64 (/hp-soa-3.0.1-62.x86_64)
Необходимо: fuse >= 2.8.4
Установлено: fuse-2.8.3-4.el6.x86_64 (@anaconda-CentOS-201410241409.x86_64/6.6)
fuse = 2.8.3-4.el6
Ошибка: Пакет: hp-soa-3.0.1-62.x86_64 (/hp-soa-3.0.1-62.x86_64)
Необходимо: libicudata.so.50()(64bit)
Ошибка: Пакет: hp-soa-3.0.1-62.x86_64 (/hp-soa-3.0.1-62.x86_64)
Необходимо: libicuuc.so.50()(64bit)
Вы можете попробовать --skip-broken чтобы обойти проблему
Вы можете попробовать запустить: rpm -Va --nofiles --nodigest
Можно попробовать пересобрать необходимые пакеты требуемых версий для CentOS 6.
Этим вчера вечером занимался, сейчас вот. Пока нет результата.
Есть так же исходники этой утилиты. Но у них в требованиях так же заявлен fuse не менее 2.8.4
И дай ссылку, откуда скачиваешь ПО. Вроде бы там есть специальная версия для RHEL 6.
http://h20566.www2.hpe.com/hpsc/swd/public...ng=en&cc=us
Для RHEL6 есть, безусловно. Но требует fuse именно этой версии. А максимальная только 2.8.3
Скорее всего при скачивании попросит залогиниться.
Так же зашел на гитхаб fuse. Качнул иходники, думаю собрать rpm нужной версии. Но, что-то как-то мудрено со SPEC-файлом.
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
А что значит "нет результата" в сборке требуемого fuse и icu?
Не надо ни на какой гитхаб ходить, просто возьми src.rpm пакеты от федоры и сделай rpmbuild --rebuild. Парой команд пакеты пересобираются же.
Не надо ни на какой гитхаб ходить, просто возьми src.rpm пакеты от федоры и сделай rpmbuild --rebuild. Парой команд пакеты пересобираются же.
-
- Сообщения: 98
- ОС: centos/ubuntu
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
Гляди, скачай вот эти пакеты
https://kojipkgs.fedoraproject.org//package...12.fc20.src.rpm
https://kojipkgs.fedoraproject.org//package...-2.fc17.src.rpm
и сделай (от пользователя) с ними rpmbuild --rebuild icu-50.1.2-12.fc20.src.rpm
Собранные пакеты установи в свою систему.
Если для сборки не хватает зависимостей, то выполни от рута yum-builddep icu-50.1.2-12.fc20.src.rpm
https://kojipkgs.fedoraproject.org//package...12.fc20.src.rpm
https://kojipkgs.fedoraproject.org//package...-2.fc17.src.rpm
и сделай (от пользователя) с ними rpmbuild --rebuild icu-50.1.2-12.fc20.src.rpm
Собранные пакеты установи в свою систему.
Если для сборки не хватает зависимостей, то выполни от рута yum-builddep icu-50.1.2-12.fc20.src.rpm
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
О, спасибо.
Я к тому времени уже пошел схожим путем. SRC качал с http://rpm.pbone.net/index.php3?stat=26&...-1.fc12.src.rpm
У меня вот только вопросы появились:
После ребайлда fuse в папке rpmbuild/RPMS образовалсь не один а несколько файлов
И после ребайлда icu такая же картина:
Почему так? остальные пакеты тоже ставить?
И еще - в общем-то, rpmbuild --rebuild позволяет взять исходники от пакета для другого дистрибутива, и перекомпилировать их уже своими компиляторами под нужный дистрибутив,верно?
Сервер удаленный, сегодня я на него не попаду, так что вопросы чисто академические.
Я к тому времени уже пошел схожим путем. SRC качал с http://rpm.pbone.net/index.php3?stat=26&...-1.fc12.src.rpm
У меня вот только вопросы появились:
После ребайлда fuse в папке rpmbuild/RPMS образовалсь не один а несколько файлов
Код: Выделить всё
fuse-2.8.7-2.el6.x86_64.rpm
fuse-debuginfo-2.8.7-2.el6.x86_64.rpm
fuse-devel-2.8.7-2.el6.x86_64.rpm
fuse-libs-2.8.7-2.el6.x86_64.rpm
И после ребайлда icu такая же картина:
Код: Выделить всё
noarch:
libicu-doc-50.1.2-12.el6.noarch.rpm
x86_64:
icu-50.1.2-12.el6.x86_64.rpm
icu-debuginfo-50.1.2-12.el6.x86_64.rpm
libicu-50.1.2-12.el6.x86_64.rpm
libicu-devel-50.1.2-12.el6.x86_64.rpm
Почему так? остальные пакеты тоже ставить?
И еще - в общем-то, rpmbuild --rebuild позволяет взять исходники от пакета для другого дистрибутива, и перекомпилировать их уже своими компиляторами под нужный дистрибутив,верно?
Сервер удаленный, сегодня я на него не попаду, так что вопросы чисто академические.
-
- Модератор
- Сообщения: 21245
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Организация LTFS
Ставить надо те пакеты, которых не хватает для удовлетворения зависимостей. От остальных толку ноль, хотя и мешать они не будут.
Если исходники от сильно другого дистрибутива, то пакет запросто может не собраться, а может собраться, но установиться некоррректно, или установиться, но не работать. Можно брать только от близкородственных дистрибутивов (или заведомо кроссдистрибутивные, но это редкость).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
Всё верно.
Добавлю лишь, что кроссдистрибутивные пакеты не только редкость, но и зло. Их сложно поддерживать, они могут не отвечать требованиям одного или нескольких дистрибутивов, их спеки малочитаемы.
Добавлю лишь, что кроссдистрибутивные пакеты не только редкость, но и зло. Их сложно поддерживать, они могут не отвечать требованиям одного или нескольких дистрибутивов, их спеки малочитаемы.
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
С icu вроде все хорошо прошло. А вот при установке fuse получился такой конфликт.
Rpmfind показывает, что filesystem 3 уже для 7 Centos.
И про кроссдистрибутивность - это понятно. Я имел ввиду такие как например RedHat-Centos, Ubuntu-Debian.
root@server
# yum install fuse-2.8.7-2.el6.x86_64.rpm
Загружены модули: fastestmirror, refresh-packagekit, security
Подготовка к установке
Проверка fuse-2.8.7-2.el6.x86_64.rpm: fuse-2.8.7-2.el6.x86_64
fuse-2.8.7-2.el6.x86_64.rpm отмечен как обновление для fuse-2.8.3-4.el6.x86_64
Loading mirror speeds from cached hostfile
Разрешение зависимостей
--> Проверка сценария
---> Package fuse.x86_64 0:2.8.3-4.el6 will be для обновления
---> Package fuse.x86_64 0:2.8.7-2.el6 will be an update
--> Обработка конфликта: fuse-2.8.7-2.el6.x86_64 конфликтует с filesystem < 3
--> Проверка зависимостей окончена
Ошибка: fuse conflicts with filesystem-2.4.30-3.el6.x86_64
Вы можете попробовать --skip-broken чтобы обойти проблему
# rpm -qa| grep filesystem
boost-filesystem-1.41.0-25.el6.x86_64
filesystem-2.4.30-3.el6.x86_64
foomatic-db-filesystem-4.0-7.20091126.el6.noarch
kde-filesystem-4-30.1.el6.noarch
control-center-filesystem-2.28.1-39.el6.x86_64
mesa-dri-filesystem-10.1.2-2.el6.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
mesa-dri-filesystem-10.1.2-2.el6.i686
mozilla-filesystem-1.9-5.1.el6.x86_64
Rpmfind показывает, что filesystem 3 уже для 7 Centos.
И про кроссдистрибутивность - это понятно. Я имел ввиду такие как например RedHat-Centos, Ubuntu-Debian.
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
Для fuse пересобери вот этот пакет https://kojipkgs.fedoraproject.org//package...-5.fc16.src.rpm
Там нет данного конфликта.
Там нет данного конфликта.
Спасибо сказали:
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
Спасибо! Все поставилось.
Объясните, где как ищутся такие нюансы? Положим, на jkoji я попал, нашел эти пакеты:
http://koji.fedoraproject.org/koji/buildinfo?buildID=363618
http://koji.fedoraproject.org/koji/buildinfo?buildID=231784
И каким образом вы определили что требований к filesystem не будет? Только по тому, что версии Fedora разные (16,17)?
Объясните, где как ищутся такие нюансы? Положим, на jkoji я попал, нашел эти пакеты:
http://koji.fedoraproject.org/koji/buildinfo?buildID=363618
http://koji.fedoraproject.org/koji/buildinfo?buildID=231784
И каким образом вы определили что требований к filesystem не будет? Только по тому, что версии Fedora разные (16,17)?
-
- Сообщения: 1699
- ОС: Fedora 32
Re: Организация LTFS
Пожалуйста 
По приведённым тобой ссылкам есть собранные пакеты, возле них есть ссылка "info", по которой можно узнать всё о зависимостях и содержимом пакета.
Так для 2.8.7 http://koji.fedoraproject.org/koji/rpminfo?rpmID=3454319 видим Conflicts filesystem < 3
А для 2.8.5 http://koji.fedoraproject.org/koji/rpminfo?rpmID=2439345 такого конфликта нет.

По приведённым тобой ссылкам есть собранные пакеты, возле них есть ссылка "info", по которой можно узнать всё о зависимостях и содержимом пакета.
Так для 2.8.7 http://koji.fedoraproject.org/koji/rpminfo?rpmID=3454319 видим Conflicts filesystem < 3
А для 2.8.5 http://koji.fedoraproject.org/koji/rpminfo?rpmID=2439345 такого конфликта нет.
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
Мда, я вдумчиво не читал.
В инфо заходил, поиском быстренько CTRL+F и "filesystem". Поиск ничего не нашел. Видимо, напечатал второпях неправильно.
Так вот, в продолжении сабжа собственно: интересный момент, русскоязычных материалов практически нет на тему управления и использования лент в Linux.
В основном, я так понял, все сидят на каких-то программных продуктах и вручную ничего особо не делают.
Толковые инструкции по mt и mtx только на англоязычных ресурсах.
В инфо заходил, поиском быстренько CTRL+F и "filesystem". Поиск ничего не нашел. Видимо, напечатал второпях неправильно.
Так вот, в продолжении сабжа собственно: интересный момент, русскоязычных материалов практически нет на тему управления и использования лент в Linux.
В основном, я так понял, все сидят на каких-то программных продуктах и вручную ничего особо не делают.
Толковые инструкции по mt и mtx только на англоязычных ресурсах.
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
Так, ну что я могу сказать. Все воркает как надо.
Vascom, Bizdelnick, еще раз спасибо за терпение и объяснения.
Кстати, пользуясь случаем - на моей памяти это второй форум, в котором настолько лояльное отношение к глупым вопросам новичков. Честно - удивлен. Первым был programmersforum.
На выходных немного заморочился, собрал всю инфу в кучу, упорядочил и написал небольшую заметку. Оформлю ее в следующем соощении. Размещаю ее тут, так как не знаю, куда будет правильнее - на усмотрение модераторов. Заметка - не копипаста. Но, использовалось несколько статей, в том числе и вики немного.
Все права на использование заметки передаю форуму (разве что, просьба, меня как автора указать).
Vascom, Bizdelnick, еще раз спасибо за терпение и объяснения.
Кстати, пользуясь случаем - на моей памяти это второй форум, в котором настолько лояльное отношение к глупым вопросам новичков. Честно - удивлен. Первым был programmersforum.
На выходных немного заморочился, собрал всю инфу в кучу, упорядочил и написал небольшую заметку. Оформлю ее в следующем соощении. Размещаю ее тут, так как не знаю, куда будет правильнее - на усмотрение модераторов. Заметка - не копипаста. Но, использовалось несколько статей, в том числе и вики немного.
Все права на использование заметки передаю форуму (разве что, просьба, меня как автора указать).
-
- Сообщения: 98
- ОС: centos/ubuntu
Re: Организация LTFS
Кратко о лентах и LTFS
Мое знакомство с ленточными системами хранения данных началось не тривиально. Конкретно в нашей серверной (под боком) не нашлось ни одного рабочего оборудования для лент. Ни библиотек, ни автозагрузчиков, ни драйвов. Только кассеты) Но поставлена задача разобраться, что к чему, и внедрить LTFS. Единственное что нашлось для обучения, это автозагрузчик HP MSL2024, находящийся за 2K километров, в чужой серверной и доступ только через TeamViewer на соседний с сервером ноутбук. Физические манипуляции с автозагрузчиком, а так же, ответы на вопросы (жужжит, не жужжит?), осуществлялсь другим человеком)
Все нижеописанное пришлось черпать из немногочисленных упоминанй на отечественных форумах, и кучи англоязычных ресурсов вместе с википедией.
Так что если я где-то что-то неверно изложил, поправляйте, не стесняйтесь)
Итак, в данной статье постараюсь создать у читателя краткое представление и порядок в иформации о ленточных накопителях, драйвах, библиотеках, роботах, автозагрузчиках, LTFS и работе с вышеназванными в среде Linux, если читатель попадет в такую же ситуацию как и я.
Сразу кратко перечень определений, используемых в статье. Ну и так, для общего понимания:
Ленточный накопитель, стример, картридж, кассета - сам носитель данных.
Драйв - устройство чтения/записи данных на ленточный накопитель.
Робот, дата-мувер - устройство для перемещения ленточных накопителей внутри автозагрузчика, библиотеки.
Mail-slot - отсек для загрузки/выгрузки ленты в автозагрузчик и из него. Используется оператором. Так же, можно использовать как буферный слот для ленточного накопителя (если, допустим, два накопителя нужно поменять местами).
Автозагрузчик - младший брат ленточной библиотеки. Характеризуется малым количеством лент во внутренних магазинах (порядка 24 и меньше), а так же, это важно, одним драйвом. Т.е. в один момент времени можно либо читать информацию с ленты, либо писать на нее.
Ленточная библиотека - автоматизированный комплекс по работе с большим количеством накопителей, и, что важно, несколькими драйвами. Поддерживает одновременное чтение/запись информации. Чуть более быстрый доступ к информации на лентах. Ленточные библиотеки могу достигать размеров серверных коммуникационых шкафов, объединяться в кластера и прочее. Это уже enterprise уровень. Много про них писать не буду, так как считаю, что те спецы, руководство которых покупает этих монстров - вполне могут себе позволить профильное обучение.
LTFS (Linear Tape File System) - файловая система для ленточных накопителей. Позволяет работаеть с ленточными накопителями как с другими блочныхми устрйствами типа флешек, hdd. О ней позже.
Администратор с ленточными накопителями может работать как минимум в трех вариантах:
1. Отдельный драйв. Напрямую подключается к серверу (рабочему компьютеру). Соответственно, картриджи вставляются/изымаются руками.
2. Автозагрузчик. В среднем, 1-2 юнитовый блок размером с типичный сервер. Подключается к серверу, так как находиться будет, думаю, в серверной из-за своего форм-фактора. Внутри пара магазинов с кассетами. Либо загружаем картриджи руками через mail-slot. Либо достаем магазины и загружаем сразу туда. Внутри себя имеет робота, который, как и драйв управляется софтово. Вполне вероятно что имеет web-интферфейс. Так же, имеет управление непосредственно у себя на front-panel.
3. Ленточная библиотека. Думаю, все аналогично автозагрузчику, только больше и серьезнее.
Далее статья будет основываться на работе с автозагрузчиком HP MSL2024 и сервером с CentOS 6.6 на борту, но, думаю, используя чуток логики и здравого смысла, все можно будет применить и к отдельным драйвам и к библиотекам и к другим дистрибутивам. Картриджи LTO-6. Автозагрузчик подключен по интерфейсу SCSI.
Итак, у вас есть готовый автозагручик, с как минимум одним загруженным картриджем. Как загрузить, чего куда нажимать - лучше смотрите в инструкции к оборудованию.
Лично мне первым делом всегда хочется узнать, с чем я работаю, и в каком оно состоянии.
Посмотреть что к чему с автозагрузчиком можно так:
Или так:
Первый вариант предпочтительнее, так как дает представление об именах устройств. Да, у меня два автозагрузчика. Один для моих опытов, другой в работе, его не трогаем.
Для работы будем использовать:
Уточнение:
к драйвам можно обращаться как /dev/st[0..N] так и /dev/nst[0..N]. Отличие в том, что после каждой операции с драйвом st он будет перематываться в начало. А nst - не будет. Судя по всему, st практически не используют.
Теперь посмотрим на состояния как драйва, так и всего автозагрузчика.
Для работы с лентами, драйвами и роботами в Linux используется набор утилит в пакетах mt-st и mtx.
mt - для работы с драйвами и лентами (перемотка, eject, запись, чтение и т.д.).
mtx - для работы с роботом (дата-мувером) внутри автозагрузчиков, библиотек.
Давайте посмотрим на состояние всего автозагрузчика:
И драйва в этой библиотеке:
Теперь видим, что у нас в драйве есть картридж, загруженный из 24 слота (mail-slot), что картридж перемотан в начало, на нем ничего нет и он готов к записи.
Ликбез по записи и хранению информации на носители.
Изначально, информация пишется и хранится на картриджах последовательно. Чаще всего записывают архивами tar'a. На некоторых ресурсах приведены схемы размещения. Приведу и свое понимание:
BOT{file mark 0}{#########}{file mark 1}{$$$$$$$$$$$}...{file mark N}{NNNNNNNNNN}EOT
{#########},{$$$$$$$$$$$},{NNNNNNNNNN} - блоки информации, записанные tar'ом. Т.е., грубо говоря, большие файлы.
{file mark 0..N} - предшествующие tar-файлам метки, по которым драйв осущствляет перемотку к тому или иному файлу на кассете.
BOT, EOT - физические конец и начало кассеты.
Кроме того, т.е. если вы записали на кассету 10 архивов, вам самостоятельно нужно знать и помнить, на какой позиции записан тот или иной архив. Так как на кассету пишется все тем же tar'ом, то можно либо на наклейке на кассете фиксировать информацию, либо с помощью самописных скриптов где-то в отдельно лежащем текстовом файлике.
Перемещаться между блоками информации можно командами fsf и bsf:
# mt -f /dev/nst1 fsf - на одну секцию вперед
# mt -f /dev/nst1 bsf - на одну секцию назад
Чтение и запись tar'ом делаются так:
tar cvf /dev/nst1 [что архивируем]
tar tvf /dev/nst1 -С [куда разархивируем]
Разумеется, перед чтением/записью кассету нужно перемотать к нужной метке. Все остальное многообразием команд по работе с mt и mtx читайте в манах к ним. Там более-менее понятно все.
Наверно вы уже подумали, что такой способ взаимодействия с кассетами дико неудобен. Именно по этой причине была придумана LTFS, о которой далее.
Так как у меня автозагрузчики от HP, то первым делом я полез к ним на сайт в поисках истины. Да, у них есть решение для организации LTFS, но оно у меня, к сожалению, не завелось. Даже после продолжительных плясок с бубном над установкой всех нужных зависимостей, для пакета HP StoreOpen Automation он так и не смог обнаружить у меня приводы и автозагрузчики.
Так же, есть решения от IBM и Oracle. IBM Linear Tape File System и StorageTek Linear Tape File System (LTFS) Open Edition соответственно.
Их я оставил на самый крайний случай, так как оборудование все же не от них.
Во второй раз выбор пал на QuantumLTFS.
Открытое ПО. Маны имеются. Файлы бесплатно скачиваются.
Что интересно, поставилось все сразу без проблем и волокиты. Скажу сразу, все нижеописанное есть в прекрасных манах к этому пакету (по-английски), но я приведу все кратко и по-русски.
Первым делом убеждаемся:
0. У нас картридж не ниже LTO-5 версии. Если ниже, то фокус не получится.
1. Картридж вставлен
2. Перемотан в начало
3. После его форматирования мы не получим по шапке, так как данные скорее всего потеряются (на этот счет у меня есть сомнения).
4. У нас в ядре загружен модуль fuse:
# lsmod | grep fuse
Если выдает пустоту, то:
# modprobe fuse
Устанавливаем скачанный пакет, попутно удовлетворив все зависимости.
Теперь у нас появились 4 новые утилиты:
ltfs - утилита для монтирования драйвов с системой LTFS.
mkltfs - из названия ясно, что она предназначена для создания LTFS на кассетах.
ltfsck - утилита для проверки, восстанавления и анализа LTFS.
unltfs - удалит LTFS с вашего носителя.
(на каждую из них есть man)
Создадим на кассете новую LTFS:
# mkltfs -d /dev/nst1
Создадим директорию, в которую вы будете монтировать накопитель с LTFS:
# mkdir /mnt/ltfs
Примонтируем накопитель с созданной LTFS к свежесозданной директории:
# ltfs -o devname=/dev/nst1 /mnt/ltfs
В общем-то все.
Теперь можете работать с кассетой через директорию /mnt/ltfs как с обычной флешкой или HDD.
df и du тоже работают. Хотя, df врет с определением свободного и занятого места.
Кассета вполне открывается файловыми менеджерами, можно копировать как tar так и rsync, cp и прочее. Никаких заморочек с линейной записью и метками архивов.
После работы для корректного извлечения кассеты из драйва, ее сначала нужно отмонтировать:
# umount /mnt/ltfs
А уже после ивзлекать из драйва, перемещать в другой слот и т.д.
Мое знакомство с ленточными системами хранения данных началось не тривиально. Конкретно в нашей серверной (под боком) не нашлось ни одного рабочего оборудования для лент. Ни библиотек, ни автозагрузчиков, ни драйвов. Только кассеты) Но поставлена задача разобраться, что к чему, и внедрить LTFS. Единственное что нашлось для обучения, это автозагрузчик HP MSL2024, находящийся за 2K километров, в чужой серверной и доступ только через TeamViewer на соседний с сервером ноутбук. Физические манипуляции с автозагрузчиком, а так же, ответы на вопросы (жужжит, не жужжит?), осуществлялсь другим человеком)
Все нижеописанное пришлось черпать из немногочисленных упоминанй на отечественных форумах, и кучи англоязычных ресурсов вместе с википедией.
Так что если я где-то что-то неверно изложил, поправляйте, не стесняйтесь)
Итак, в данной статье постараюсь создать у читателя краткое представление и порядок в иформации о ленточных накопителях, драйвах, библиотеках, роботах, автозагрузчиках, LTFS и работе с вышеназванными в среде Linux, если читатель попадет в такую же ситуацию как и я.
Сразу кратко перечень определений, используемых в статье. Ну и так, для общего понимания:
Ленточный накопитель, стример, картридж, кассета - сам носитель данных.
Драйв - устройство чтения/записи данных на ленточный накопитель.
Робот, дата-мувер - устройство для перемещения ленточных накопителей внутри автозагрузчика, библиотеки.
Mail-slot - отсек для загрузки/выгрузки ленты в автозагрузчик и из него. Используется оператором. Так же, можно использовать как буферный слот для ленточного накопителя (если, допустим, два накопителя нужно поменять местами).
Автозагрузчик - младший брат ленточной библиотеки. Характеризуется малым количеством лент во внутренних магазинах (порядка 24 и меньше), а так же, это важно, одним драйвом. Т.е. в один момент времени можно либо читать информацию с ленты, либо писать на нее.
Ленточная библиотека - автоматизированный комплекс по работе с большим количеством накопителей, и, что важно, несколькими драйвами. Поддерживает одновременное чтение/запись информации. Чуть более быстрый доступ к информации на лентах. Ленточные библиотеки могу достигать размеров серверных коммуникационых шкафов, объединяться в кластера и прочее. Это уже enterprise уровень. Много про них писать не буду, так как считаю, что те спецы, руководство которых покупает этих монстров - вполне могут себе позволить профильное обучение.
LTFS (Linear Tape File System) - файловая система для ленточных накопителей. Позволяет работаеть с ленточными накопителями как с другими блочныхми устрйствами типа флешек, hdd. О ней позже.
Администратор с ленточными накопителями может работать как минимум в трех вариантах:
1. Отдельный драйв. Напрямую подключается к серверу (рабочему компьютеру). Соответственно, картриджи вставляются/изымаются руками.
2. Автозагрузчик. В среднем, 1-2 юнитовый блок размером с типичный сервер. Подключается к серверу, так как находиться будет, думаю, в серверной из-за своего форм-фактора. Внутри пара магазинов с кассетами. Либо загружаем картриджи руками через mail-slot. Либо достаем магазины и загружаем сразу туда. Внутри себя имеет робота, который, как и драйв управляется софтово. Вполне вероятно что имеет web-интферфейс. Так же, имеет управление непосредственно у себя на front-panel.
3. Ленточная библиотека. Думаю, все аналогично автозагрузчику, только больше и серьезнее.
Далее статья будет основываться на работе с автозагрузчиком HP MSL2024 и сервером с CentOS 6.6 на борту, но, думаю, используя чуток логики и здравого смысла, все можно будет применить и к отдельным драйвам и к библиотекам и к другим дистрибутивам. Картриджи LTO-6. Автозагрузчик подключен по интерфейсу SCSI.
Итак, у вас есть готовый автозагручик, с как минимум одним загруженным картриджем. Как загрузить, чего куда нажимать - лучше смотрите в инструкции к оборудованию.
Лично мне первым делом всегда хочется узнать, с чем я работаю, и в каком оно состоянии.
Посмотреть что к чему с автозагрузчиком можно так:
root@server
# lsscsi -g
[0:2:0:0] disk DELL PERC H730 Mini 4.25 /dev/sda /dev/sg0
[0:2:1:0] disk DELL PERC H730 Mini 4.25 /dev/sdb /dev/sg1
[1:0:0:0] tape HP Ultrium 6-SCSI 253W /dev/st0 /dev/sg2
[1:0:0:1] mediumx HP MSL G3 Series 6.20 /dev/sch0 /dev/sg3
[3:0:0:0] tape HP Ultrium 6-SCSI 253W /dev/st1 /dev/sg4
[3:0:0:1] mediumx HP MSL G3 Series 6.20 /dev/sch1 /dev/sg5
Или так:
root@server
# cat /proc/scsi/sg/device_strs
DELL PERC H730 Mini 4.25
DELL PERC H730 Mini 4.25
HP Ultrium 6-SCSI 253W
HP MSL G3 Series 6.20
HP Ultrium 6-SCSI 253W
HP MSL G3 Series 6.20
Первый вариант предпочтительнее, так как дает представление об именах устройств. Да, у меня два автозагрузчика. Один для моих опытов, другой в работе, его не трогаем.
Для работы будем использовать:
root@server
[3:0:0:0] tape HP Ultrium 6-SCSI 253W /dev/st1 /dev/sg4
[3:0:0:1] mediumx HP MSL G3 Series 6.20 /dev/sch1 /dev/sg5
Уточнение:
к драйвам можно обращаться как /dev/st[0..N] так и /dev/nst[0..N]. Отличие в том, что после каждой операции с драйвом st он будет перематываться в начало. А nst - не будет. Судя по всему, st практически не используют.
Теперь посмотрим на состояния как драйва, так и всего автозагрузчика.
Для работы с лентами, драйвами и роботами в Linux используется набор утилит в пакетах mt-st и mtx.
mt - для работы с драйвами и лентами (перемотка, eject, запись, чтение и т.д.).
mtx - для работы с роботом (дата-мувером) внутри автозагрузчиков, библиотек.
Давайте посмотрим на состояние всего автозагрузчика:
root@server
# mtx -f /dev/sg5 status
Storage Changer /dev/sg5:1 Drives, 24 Slots ( 1 Import/Export )
Data Transfer Element 0:Full (Storage Element 24 Loaded)
Storage Element 1:Empty
Storage Element 2:Empty
Storage Element 3:Empty
Storage Element 4:Empty
Storage Element 5:Empty
Storage Element 6:Empty
Storage Element 7:Empty
Storage Element 8:Empty
Storage Element 9:Empty
Storage Element 10:Empty
Storage Element 11:Empty
Storage Element 12:Empty
Storage Element 13:Empty
Storage Element 14:Empty
Storage Element 15:Empty
Storage Element 16:Empty
Storage Element 17:Empty
Storage Element 18:Empty
Storage Element 19:Empty
Storage Element 20:Empty
Storage Element 21:Empty
Storage Element 22:Empty
Storage Element 23:Empty
Storage Element 24 IMPORT/EXPORT:Empty
И драйва в этой библиотеке:
root@server
# mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x5a (no translation).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
Теперь видим, что у нас в драйве есть картридж, загруженный из 24 слота (mail-slot), что картридж перемотан в начало, на нем ничего нет и он готов к записи.
Ликбез по записи и хранению информации на носители.
Изначально, информация пишется и хранится на картриджах последовательно. Чаще всего записывают архивами tar'a. На некоторых ресурсах приведены схемы размещения. Приведу и свое понимание:
BOT{file mark 0}{#########}{file mark 1}{$$$$$$$$$$$}...{file mark N}{NNNNNNNNNN}EOT
{#########},{$$$$$$$$$$$},{NNNNNNNNNN} - блоки информации, записанные tar'ом. Т.е., грубо говоря, большие файлы.
{file mark 0..N} - предшествующие tar-файлам метки, по которым драйв осущствляет перемотку к тому или иному файлу на кассете.
BOT, EOT - физические конец и начало кассеты.
Кроме того, т.е. если вы записали на кассету 10 архивов, вам самостоятельно нужно знать и помнить, на какой позиции записан тот или иной архив. Так как на кассету пишется все тем же tar'ом, то можно либо на наклейке на кассете фиксировать информацию, либо с помощью самописных скриптов где-то в отдельно лежащем текстовом файлике.
Перемещаться между блоками информации можно командами fsf и bsf:
# mt -f /dev/nst1 fsf - на одну секцию вперед
# mt -f /dev/nst1 bsf - на одну секцию назад
Чтение и запись tar'ом делаются так:
tar cvf /dev/nst1 [что архивируем]
tar tvf /dev/nst1 -С [куда разархивируем]
Разумеется, перед чтением/записью кассету нужно перемотать к нужной метке. Все остальное многообразием команд по работе с mt и mtx читайте в манах к ним. Там более-менее понятно все.
Наверно вы уже подумали, что такой способ взаимодействия с кассетами дико неудобен. Именно по этой причине была придумана LTFS, о которой далее.
Так как у меня автозагрузчики от HP, то первым делом я полез к ним на сайт в поисках истины. Да, у них есть решение для организации LTFS, но оно у меня, к сожалению, не завелось. Даже после продолжительных плясок с бубном над установкой всех нужных зависимостей, для пакета HP StoreOpen Automation он так и не смог обнаружить у меня приводы и автозагрузчики.
Так же, есть решения от IBM и Oracle. IBM Linear Tape File System и StorageTek Linear Tape File System (LTFS) Open Edition соответственно.
Их я оставил на самый крайний случай, так как оборудование все же не от них.
Во второй раз выбор пал на QuantumLTFS.
Открытое ПО. Маны имеются. Файлы бесплатно скачиваются.
Что интересно, поставилось все сразу без проблем и волокиты. Скажу сразу, все нижеописанное есть в прекрасных манах к этому пакету (по-английски), но я приведу все кратко и по-русски.
Первым делом убеждаемся:
0. У нас картридж не ниже LTO-5 версии. Если ниже, то фокус не получится.
1. Картридж вставлен
2. Перемотан в начало
3. После его форматирования мы не получим по шапке, так как данные скорее всего потеряются (на этот счет у меня есть сомнения).
4. У нас в ядре загружен модуль fuse:
# lsmod | grep fuse
Если выдает пустоту, то:
# modprobe fuse
Устанавливаем скачанный пакет, попутно удовлетворив все зависимости.
Теперь у нас появились 4 новые утилиты:
ltfs - утилита для монтирования драйвов с системой LTFS.
mkltfs - из названия ясно, что она предназначена для создания LTFS на кассетах.
ltfsck - утилита для проверки, восстанавления и анализа LTFS.
unltfs - удалит LTFS с вашего носителя.
(на каждую из них есть man)
Создадим на кассете новую LTFS:
# mkltfs -d /dev/nst1
Создадим директорию, в которую вы будете монтировать накопитель с LTFS:
# mkdir /mnt/ltfs
Примонтируем накопитель с созданной LTFS к свежесозданной директории:
# ltfs -o devname=/dev/nst1 /mnt/ltfs
В общем-то все.
Теперь можете работать с кассетой через директорию /mnt/ltfs как с обычной флешкой или HDD.
df и du тоже работают. Хотя, df врет с определением свободного и занятого места.
Кассета вполне открывается файловыми менеджерами, можно копировать как tar так и rsync, cp и прочее. Никаких заморочек с линейной записью и метками архивов.
После работы для корректного извлечения кассеты из драйва, ее сначала нужно отмонтировать:
# umount /mnt/ltfs
А уже после ивзлекать из драйва, перемещать в другой слот и т.д.
Спасибо сказали: