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

в 8:05, , рубрики: conner, FDD, qic, qicstream, SCSI, seagate, tar, timeweb_статьи, zftape, дискеты, стример
Приветствую всех!
Многие давно привыкли, что ленточные накопители — что-то высоконадёжное и предназначенное для долговременного использования. Но есть один стандарт, про который сказать так как-то не получается, и имя ему — QIC. Странная конструкция стримера и кассеты, не слишком уж долгий срок хранения — всё это про него.

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

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

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

Суть такова

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кассета.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tandberg Data

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conner

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

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

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

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

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

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

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

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

Плата снята.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Про софт

Казалось бы, что сложного в считывании старого архива? Качаем софт для резервного копирования, втыкаем кассету и сливаем данные? Не тут-то было. На кассете нет файловой системы (нынешние модели с 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шная плата сжатия, но подтвердить или опровергнуть их было нечем.

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

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

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

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

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

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

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

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

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





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




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



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




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

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

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

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

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

Такие дела.


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

Автор: MaFrance351

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js