Приветствую всех!
Многие давно привыкли, что ленточные накопители — что-то высоконадёжное и предназначенное для долговременного использования. Но есть один стандарт, про который сказать так как-то не получается, и имя ему — 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-канале ↩