habrahabr

Восстанавливаем данные с кассеты от старого стримера

  • воскресенье, 3 ноября 2024 г. в 00:00:12
https://habr.com/ru/companies/timeweb/articles/853608/
Приветствую всех!
Многие давно привыкли, что ленточные накопители — что-то высоконадёжное и предназначенное для долговременного использования. Но есть один стандарт, про который сказать так как-то не получается, и имя ему — QIC. Странная конструкция стримера и кассеты, не слишком уж долгий срок хранения — всё это про него.

Так получилось, что как-то раз ко мне попал стример такого типа и кассета к нему, на которой ещё оставались какие-то данные. Что же с ним можно сделать? Давайте разбираться.



Итак, в сегодняшней статье поговорим про стримеры стандарта QIC и miniQIC. Попутно разберёмся, как они работают и в чём их фатальный недостаток, попробуем восстановить данные с архива тридцатилетней давности и узнаем, почему нельзя пользоваться проприетарным софтом для резервного копирования.

❯ Суть такова


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



Вот для примера один из ранних стримеров QIC. Этот экземпляр девятидорожечный, работает с кассетами на 45 или 60 МБ.



Был помимо обычного формата и miniQIC, более дешёвый и чуть менее вместительный, нежели «большой» собрат.

❯ Обзор оборудования




Перво-наперво рассмотрим более древний экземпляр. Это Tandberg Data TDC 3820. С виду он очень похож на мобайл-рэк для жёсткого диска — такая же дверца, куда надо вставлять кассету.



Дверца открыта. Качество изготовления на очень высоком уровне, ничего не гремит и не болтается.



Сверху виден приводной мотор, на вал которого также насажена крыльчатка, охлаждающая его при работе.



С другой стороны нижняя часть двигателя и разъём подключения головки.



Подключается стример по интерфейсу SCSI. Наклейка недвусмысленно намекает на то, откуда он: из древней рабочей станции Siemens Nixdorf.



Кассета.



Обратная её сторона способна поставить в ступор обывателя: привычных отверстий для катушек там нет. Вместо них тут сплошная алюминиевая пластина, помимо корпуса выполняющая роль радиатора охлаждения: при перемотке ленты из-за трения кассета очень сильно нагревается.



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



А вот стример Conner. Он довольно простенький и с необычным по нашим меркам подключением — к флоппи-контроллеру.



Можно даже сказать, что девайс этот практически SOHO-сегмента: лёгкий пластмассовый корпус, очень дешёвая и простая конструкция, подключение, не требующее внешнего контроллера (были экземпляры с платой ISA для аппаратного сжатия, но таких я никогда не держал). Таких стримеров в первой половине девяностых выпускалось огромное количество. Все эти Colorado (основоположник такого интерфейса), Jumbo, Conner, Seagate Backup — по сути одно и то же.



Кассета к нему. Это тот же самый QIC с такой же лентой, просто в уменьшенного размера картридже (примерно так же, как VHS и VHS-C).



А вот для примера схема типичного стримера QIC (от Wangtek). Всего полтора десятка микросхем (большая часть которых — дискретная логика), по нынешним меркам непостижимо малое число.

❯ Другие QIC'образные


Помимо QIC существовало ещё несколько форматов, очень похожих на него. Все они либо были прямыми его последователями, либо базировались на некоторых его конструктивных решениях.



QIC-EX. Кассета несколько иной конструкции.



Travan. По сути тот же miniQIC, но большей ёмкости.



Картридж слегка поменял форму, в старый стример он не влезет.



iOmega Ditto. Лидер по части производства необычных носителей никак не мог не приобщиться. Кассеты здесь те же, что и в Travan'е.



Внешний стример QIC с интерфейсом LPT. Что может быть страннее?



Очевидно, Ditto Max — стример с выдвижным лотком как у оптического привода.



Выпускались они и во внешнем исполнении.



А это SLR — самый большой по объёму из QICов, с сервометками и увеличенной плотностью записи.

❯ Tandberg Data




Само собой, я не удержался и разобрал этот экземпляр. Внутри практически пусто. Конструкция стримера проста настолько, насколько возможно: головка, приводной ролик (капстан), несколько микриков, и… всё.





Головка поворотная, при закрытии дверцы она въезжает в окошко в кассете.





А вот концевики. Один отвечает за вставку кассеты, другой — за закрытие дверцы.
Ну что же, время пробовать включать.
Подаём питание и вставляем кассету. Девайс охотно принял её, помотал лентой, но, разумеется, читать отказался: она более старого формата, чем он.



А вот с одной из числа новых всё оказалось менее гладко: стример долго-долго перематывал её, пока не начал просто гудеть своим двигателем, вскоре остановившись. Что-то тут не так…

❯ Отчего же QIC плох?


Теперь очередь главного фатального недостатка QIC.



Вытаскиваем кассету из стримера и видим, что ей сильно поплохело: резиновый пассик рассохся и лопнул. Чтобы избежать такого, кассеты надо перематывать примерно один-два раза в год, однако тут этого, разумеется, никто не делал. Заменить этот пассик довольно проблематично: слишком жёсткий может порвать или поцарапать ленту, слишком эластичный растянется и кассету зажуёт.



Заокеанские любители ретро-железа используют в таких целях некие «Plastibands», которые после небольшого растягивания садятся на нестандартное для них место как родные. Есть и более экзотические методы вроде погружения пассика в горячую воду, но это всё полумеры.



Бывают и более печальные случаи, когда пассик не рвётся, а растягивается, отчего ленту зажёвывает. Пострадавший картридж в таких случаях останется только выкинуть: заломы на ленте убрать уже не получится.



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

❯ Conner


Ну что же, время маленького стримера.



Верхней крышки у него нет. Хорошо видны капстан, головка и плата управления.



Снизу пластиковое основание и наклейка.



А вот тот самый разъём подключения.



Плата снята.



Стример ожидаемо построен на неком заказном чипе.



А это концевики вставки кассеты и оптический датчик конца ленты.



Втыкаем картридж и смотрим, что будет.

Стример точно так же покрутил лентой и подвигал головками. На удивление, пассик не лопнул, так что можно пробовать дальше.

❯ Пробуем считывать


Теперь очередь софта. Качаем последнюю версию того самого Colorado Backup.



Запускаем его.



Втыкаем кассету и пробуем прочитать. На удивление, на кассете до сих пор что-то есть, а программа что-то читает.



Однако при попытке восстановить данные на диск выдаётся ошибка.

❯ Про софт


Казалось бы, что сложного в считывании старого архива? Качаем софт для резервного копирования, втыкаем кассету и сливаем данные? Не тут-то было. На кассете нет файловой системы (нынешние модели с LTFS не в счёт), поэтому каждое ПО для записи изворачивается по-своему. С этим самым софтом кроется неочевидная подстава: даже если кассеты пережили долгое хранение, а рабочий стример для их чтения есть под рукой, восстановить данные удастся далеко не всегда. Если у софта, которым писались бэкапы, прекратилась поддержка или поменялся формат записи, то архивы очень часто остаётся либо выкинуть, либо положить на полочку в надежде найти нечто, могущее их прочитать. По закону подлости оказывается, что ссылки именно на ту версию, которая нужна, протухли в незапамятные годы, единственный скачанный дистрибутив требует ключа, таковой от новой версии не подходит, ну а кряк для всеми позабытого софта вообще является чем-то вроде научной фантастики. Поэтому записывать что-то на ленту рекомендую исключительно TAR'ом и только им: даже спустя много лет любой дистрибутив линукса сможет всё прочитать. Ну, или NTBACKUP, благо он-то точно никуда не подевается.

В случае с вот такими стримерами основоположником формата записи является так называемый QICStream, за годы развития программ претерпевший кучу изменений, значительных и не очень. В итоге мы имеем огромное количество софта, где каждая версия имеет свой формат. Само собой, на восстановлении архивов после долгих лет простоя это сказывается не лучшим образом.

❯ Считываем дамп


Раз сходу не получилось, пробуем более интересные методы.
Первым делом попытаемся скачать образ всей ленты. Для этого понадобится машина с линуксом, поддерживающая данный формат. В моём случае в качестве дистрибутива был выбран Ubuntu 6.06, где заведомо имелся нужный драйвер. Подключаем стример, загружаем ОС и приступаем к считыванию. Первым делом загрузим драйвер стримера:

sudo modprobe zftape

В случае, если ваш экземпляр подключается не к флоппи-контроллеру, делать этого не нужно. Теперь самый интересный момент. Втыкаем кассету и ждём инициализации, после чего выполняем команду:

sudo dd if=/dev/nqft0 of=tape.bin conv=sync,noerror &

И, если пассик не лопнет и ленту не зажуёт, после часового «вжжж — уиии — вжжж» мы получим файл, примерно равный объёму кассеты. В общем-то, с дампом всё, теперь самая сложная задача — его декодировать.

❯ QICStreamReader


Единственный известный мне вариант — QICStreamReader. Это софт, позволяющий декодировать форматы целого ряда программ резервного копирования.
Для сборки софта ставим Visual Studio и компилируем решение. Чтобы вам не пришлось это делать лишний раз, актуальный на момент тех опытов софт я выложил на old-dos.ru. Теперь остаётся только прогонять полученный дамп всеми возможными способами и надеяться на успех. Которого в моём случае, увы, не было.

❯ Игры с бэкапами


Увы, но ни одна из этих программ формат того, что было на кассете, не прочитала. У меня появились подозрения, что к стримеру была подключена та самая ISAшная плата сжатия, но подтвердить или опровергнуть их было нечем.



Поэтому оставался только один вариант: скачать все доступные в сети программы для бэкапов и попытать счастья с ними. Попутно всё, что удалось найти, также выложил в сеть. На очередной попытке кассета наконец поддалась. Заветной программой оказался банальный Colorado Backup одной из версий.

❯ Что же было на той кассете?




Да ничего интересного. Какие-то нисколько не редкие игры, офисный софт, парочка старых скриншотов и немного бухгалтерской макулатуры.

В общем, ничего особенного...

Разумеется, скриншотов с DOSBox там не было. Это я запускал найденные приложения.

АО " Солнце " г. Чудово Ленинградская обл.

Каткову Виктору Геннадьевичу





К О М М Е Р Ч Е С К О Е П Р Е Д Л О Ж Е Н И Е




Предприятие ООО " Гамма " предлагает гофроящик N 40 по цене 4200 руб. за штуку ( с доставкой до г. Чудово ) в обмен на продукцию Вашего предприятия . Объем разовой поставки 15 000 - 20 000 шт.



Наш юридический адрес :
164505
Архангельская обл.
г. Северодвинск
пр. Юбилейный д. 15 а оф.33
тлф. в Архангельске 26-49-08
факс




Директор ООО " Гамма " Глебов А.Ю.


Вот такими были данные, которые удалось оттуда извлечь.

❯ Так что же в итоге?


Несмотря на сложности и отсутствие какого-то универсального подхода, данные с кассеты таки удалось извлечь. Опыт этот был довольно интересным — всё же не так часто приходится разбираться с архивом, которому уже четверть века (по компьютерным временам — почти вечность). На прощание сделаем выводы о том, что удалось выяснить в ходе экспериментов:

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

Такие дела.



Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩



Читайте также: