LINUX.ORG.RU

API Для работы с ленточными библиотеками


0

1

А нет ли здесь кого-нибудь, кто имел дело с этим чудом техники? Интересует возможность программного доступа к данным с ленточки. А то админы организации-подрядчика утверждают, что они могут только каким-то сторонним по слить на ленту образ вмваревской виртуалки и поднять с ленты этот образ. А больше по их словам ничего сделать с ней невозможно, во что верится очень с трудом. Если что хранилище - IBM TS 3310. Интересует принципиальная возможность общаться с этим девайсом (посредством драйвера или даже стандартными средствами ос), прежде чем погружаться в грызение многокиллометровых ИБМ-овских спецификаций.

★★★★

Если что, ПО из которого хочется общаться с устройством написано на яве, но есть возможность дергать сишные библиотеки, да и просто исполнять комманды операционки.

Nagwal ★★★★ ()

Если я правильно понял, то man dump, man restore, man tar, man dd — всё это изначально работало и разрабатывалось именно для ленточных устройств. (Кроме последнего — оно ещё древнее, из до-unix-эры.)

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1 )
Ответ на: комментарий от beastie

Да, что старые ленты работали с помощью обычного tar и dd я в курсе. А вот как с этим у современных устройств? Они так-же все это поддерживают? И что с работой по сети? Эта штука умеет только физически подключаться к серверу приложений, или с ней можно работать по сети?

Nagwal ★★★★ ()

то есть в гугл вы не ходили?

anonymous ()

в ОС должен быть драйвер, который создает файл устройства, и с ним уже можно работать через обычный read()/write()/ioctl() (для перемотки и смены кассеты например). вообще удобнее через какой-нибудь нормальный софт для бекапов, скажем, Netbackup.

а что именно ты хочешь сделать?

val-amart ★★★★★ ()

мы в свое время использовали amanda как высокоуровневое API для того чтобы достать/положить файлы на ленты, было очень удобно, не забывайте только учитывать количество перемоток покассетно, оно очень небольшое (пара сотен) и этот ресурс стоит беречь :)

redbaron ★★ ()

Интересует возможность программного доступа к данным с ленточки

man mt

А само устройство доступно как символьный scsi девайс.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1 )
Ответ на: комментарий от val-amart

Ага, примерно понятно, спасибо.

а что именно ты хочешь сделать?

У нас очень много данных набегать должно, порядка терабайта в день (видео). Причем требоваться из него в дальнейшем будет дай бог 1% да и то не часто. Но что конкретно потребуется - я не знаю, поэтому хранить придется все.

Nagwal ★★★★ ()
Ответ на: комментарий от redbaron

Ага, спасибо. Но о перемотках заботиться смысла нет, громадное количество данных будет складироваться, но обрабатывать из них надо будет дай бог 1%, как я писал в комментарии выше.

Nagwal ★★★★ ()
Ответ на: комментарий от no-such-file

Ок, спасибо. Остается последняя проблема, софт крутится на виртуалке и надо будет либо пробрасывать в виртуалку как-то это устройство, либо рыть ibm-овские мануалы по поводу сетевого доступа.

Nagwal ★★★★ ()

Я работал с TS3310. Media-changer обычно виден как /dev/smc0, драйвы - как /dev/rmtX. Помимо mt у IBM есть свои утилитки (itdt, tapeutil) для работы с ними.
Еще у библиотеки есть веб-интерфейс и даже какой-то CLI на джаве (я его не юзал). Внутри там Linux на PPC =)

bigbit ★★★★★ ()
Ответ на: комментарий от robot12

Нужен для отсылки алярмов :) в системы мониторинга

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

bigbit ★★★★★ ()
Ответ на: комментарий от bigbit

Ага, ясно, спасибо. А она умеет все-таки работать по сети, или только как scsi устройство? Просто первый способ предпочтительней, поскольку наше приложение крутится в виртуальной среде. Т.е. понятно, что если по другому никак, то можно попробовать устройства в виртуалку прокинуть, либо подключить к отдельному серверу и написать демон, который будет транслировать комманды. Но если оно из коробки поддерживает какой-то апи, то это сильно удобнее.

Nagwal ★★★★ ()
Ответ на: комментарий от Nagwal

Какой-то сетевой API там есть - см. ссылку выше.
Но... допустим скажешь ты ей смонтировать ленточку из слота X в драйв A, и она ее смонтирует... Но все равно на ленту можно писать только как на блочное устройство.
Обычно для управления библиотекой ставят специальный софт, который держит в том числе базу данных баркодов (в библиотеке есть сканер бар-кодов, а все ленты маркируются)

bigbit ★★★★★ ()
Ответ на: комментарий от bigbit

Так мне и надо писть как на блочное устройство. Т.е. раз в сутки сливать данные недельной давности из субд на ленту, делать пометку в своей бд, что данные за период с и по храняться на ленте с номером Х. Как только лента забивается - ставим новую. Периодически к шкафу подходит специально обученный человек, вытаскивает заполненные ленты и вставляет новые. Заполненные при этом отправлются в архив. Очень сильно периодически приходит запрос данных, если по меткам в базе мы обнаруживаем, что они находятся не в оперативном хранилище, а на лентах, то (если лента все еще в шкафу) - мы ее монтируем и выгрызаем нужные данные (пока я представляю себе, что бекап базы поднимается на промежуточном сервере), а если ленты нет в шкафу и она уже в архиве, то этот же специально обученный человек идет туда, достает ленты и пихает в считывающее устройство.

Nagwal ★★★★ ()
Ответ на: комментарий от Nagwal

Но все равно на ленту можно писать только как на блочное устройство

Как на символьное устройство. Блочное устройство предполагает произвольный доступ.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

Как на символьное устройство.

Да, ты прав.

Блочное устройство предполагает произвольный доступ.

Зависит от самого устройства и ОС. В *nix (Solaris, AIX) у дисков есть символьные устройства с произвольным доступом.
Символьное устройство не предполагает буферизации.

bigbit ★★★★★ ()
Ответ на: комментарий от Nagwal

Присоединяюсь к уже данному здесь выше совету заюзать какое-нибудь высокоуровневое API (amanda? bacula?), чтобы самому не возиться с ленточками.

bigbit ★★★★★ ()
Ответ на: комментарий от bigbit

Символьное устройство не предполагает буферизации

Не совсем так, символьное устройство не предполагает буферизации через общесистемый блочный буфер. Буферизация на уровне драйвера вполне возможна, к тому же в некоторых юниксах есть стандартные механизмы для буферизации на символьных устройствах (типа STREAMS в SysV)

no-such-file ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.