Привет, Хабр! В этой и последующих публикациях мы, Михаил Левицкий и Алексей Федоров, расскажем про ленты как устройства и носители для хранения данных, поговорим о том, какие они бывают, как используются и как происходит резервное копирование и восстановление с лент в нашем продукте Кибер Бэкап. Надеемся, что вам будет также интересно читать, как нам, когда мы готовили этот материал. Итак, поехали.  Ленты продолжают оставаться актуальным и востребованным способом хранения данных. Об этом говорит и растущий спрос на накопители и картриджи, и работы по развитию технологии Linear Tape-Open (LTO), для которой уже есть версия 9 и объявлена дорожная карта до версии 14. Технология LTO-9 поддерживает увеличенную емкость ленточных картриджей - до 45 ТБ в сжатом виде, а накопители с поддержкой  LTO-9 обратно совместимы с картриджами LTO-8 на чтение и запись. В 2022 г. суммарный объём поставленных ленточных накопителей составил (с учётом сжатия) 148.3 Эбайт. Для справки: один экзабайт содержит 1018 (квинтиллион) байт. Говорят, что объём данных, собранных за пять тысячелетий с момента изобретения письма до 2003 г., составляет около 5 эксабайт.  В чем преимущества лент? Во-первых, они дешевле публичных облаков, надежнее дисковых накопителей, более энергоэффективны, проще в обслуживании, обладают высокой емкостью, обеспечивают "холодное" хранение данных и предоставляют средства защиты от кибератак. Ленты являются основой для реализации правила резервного копирования 3-2-1 (или 3-2-1-1 в современном варианте), согласно которому в компании должно быть как минимум 3 резервные копии данных, которые хранятся на двух различных носителях, один из которых находится вне основной инфраструктуры организации, а другой работает в автономном режиме. В силу своей автономности ленты позволяют обеспечить т.н. "воздушный зазор (air gap)", лишающий киберпреступников возможности добраться до резервных данных с целью их кражи, удаления или шифрования.  Помимо этого, возможность внеофисного хранения картриджей позволяет защитить данные компании от стихийных источников угроз - пожаров, наводнений и пр. А еще, ленты долговечны. Сравните гарантированный срок хранения информации на магнитных лентах - 30-40 лет, со сроком службы жестких дисков - 4-5 лет и SSD-накопителей - 5 до 10 лет.  С точки зрения TCO, долгосрочное хранение данных наиболее выгодно именно на лентах. Среди трех основных типов хранилищ - жестких дисков, лент и облака, анализ стоимости хранения 1 Пбайт данных в течение 10 лет показывает, что LTO-лента является наиболее экономичной: на 139,448 долл. дешевле по сравнению с жесткими дисками и на 516,503 долл. по сравнению с облачным хранением типа S3 Glacier Deep Archive. Практически единственный широко распространенный стандарт ленточных накопителей на сегодняшний день - это стандарт LTO (Linear Tape-Open, открытая технология последовательной записи на магнитную ленту). Он был разработан более 20 лет назад компаниями IBM, Hewlett-Packard и Quantum (образуют Консорциум LTO), а сейчас поддерживается и другими производителями ленточных накопителей. Первый стандарт LTO предусматривал возможность хранения на одном картридже до 200 Гбайт данных в сжатом виде. Картриджи современного стандарта LTO-9 могут хранить до 18 Тбайт (45 Тбайт данных в сжатом виде). Скорость передачи данных достигает 1000 МБ/сек (с учётом сжатия), а себестоимость хранения составляет менее 0,01 долл. за гигабайт.  В следующей таблице показано как росла емкость картриджей и скорость чтения/записи от стандарта к стандарту.  Стандарт Емкость  Емкость (сжатие) Скорость чтения/записи, МБ/сек Скорость чтения/записи (сжатие), МБ/сек LTO Ultrium 1 100 Гбайт 200 Гбайт 20 40 LTO Ultrium 2 200 Гбайт 400 Гбайт 40 80 LTO Ultrium 3 400 Гбайт 800 Гбайт 80 160 LTO Ultrium 4 800 Гбайт 1.6 Тбайт 120 240 LTO Ultrium 5 1.5 Тбайт 3 Тбайт 140 280 LTO Ultrium 6 2.5 Тбайт 6.25 Тбайт 160 400 LTO Ultrium 7 6 Тбайт 15 Тбайт 300 750 LTO Ultrium 8 12 Тбайт 30 Тбайт 360 900 LTO Ultrium 9 18 Тбайт 45 Тбайт 400 1000 Обратите внимание на совместимость приводов с поколениями картриджей. Например привод формата LTO-8 может работать только с лентами поколения LTO-8 и LTO-7. А привод поколения LTO-7 может работать с лентами LTO-7, LTO-6, а так же с лентами LTO-5 но только в режиме чтения. В планах Консорциума LTO продолжать удваивать емкость картриджей. Так, в LTO-10 ёмкость вырастет до 36 Тбайт, а объём хранимых в сжатом виде данных — до 90 Тбайт. LTO11 обеспечит поддержку 72 Тбайт ёмкости и 180 Тбайт в сжатом виде, а к LTO-14 планируется увеличить объём картриджей до 576 Тбайт и 1,44 Пбайт в сжатом виде.  Для полноты картины отметим, что помимо LTO существуют следующие форматы хранения данных на лентах: DLT (Digital Linear Tape) - формат, при котором данные записываются на 128 или 208 линейных треков. Картриджи DLT вмещают до 70 Гбайт данных в сжатом виде, новый формат SuperDLT увеличит емкость картриджей до 300 Гбайт; DAT (Digital Audio Tape) - изначально предназначенная для хранения аудио, лента используется и для хранения данных. Лента длиной от 60 до 180 метров вмещает от 1 до 80 Гбайт данных; AIT (Advanced Intelligent Tape) - формат, разработанный компанией Sony для архивирования и хранения данных. AIT-ленты 5-го поколения могут хранить до 400 Гбайт данных и поддерживают скорость передачи даных до 24 МБ/сек; QIC (Quarter Inch Cartridge) - формат хранения на ленте, поддерживающий хранение от 60 Мбайт до 25 Гбайт. Чаще всего используется для резервного копирования данных на домашних компьютерах. Обсудив стандарты LTO, перейдем к устройствам - ленточным накопителям. Ниже будем рассматривать LTO-приводы, так как они являются доминирующими на рынке.  Ленточный накопитель - это устройство хранения данных на магнитной ленте с последовательным доступом. Это отличает ленточный накопитель от жесткого диска, который обеспечивает хранилище с прямым доступом. Если дисковод может перемещать головки чтения/записи в любую позицию на диске за несколько миллисекунд, то ленточный накопитель должен физически перематывать ленту между бобинами, чтобы считать определенный фрагмент данных. В результате ленточные накопители имеют очень большое среднее время доступа. Однако ленточные накопители могут очень быстро выполнять потоковую передачу данных с ленты при достижении требуемой позиции. Например, стандарт LTO-9 поддерживает непрерывную скорость передачи данных до 400 МБ/с, что сопоставимо с жесткими дисками. Приводы LTO состоят из лентопротяжного механизма и головок чтения/записи. Приводы различаются по: поддерживаемому стандарту LTO. Выше мы отметили что стандарт LTO требует от приводов  обеспечения совместимости по чтению только с двумя предыдущими поколениями и записи на одно поколение назад.  интерфейсу подключения. Возможны следующие варианты: SCSI, Fibre Channel, SATA, USB, FireWire или FICON. Наиболее распространены интерфейсы: SAS 6Gb или FC 8Gb. Более быстрых стандартов не бывает, т.к. привод просто не может писать быстрее.  форм-фактору. Приводы бывают двух форм-факторов: FH (Full-Height) и HH (Half-Height). Привод форм-фактора FH занимает два стандартных отсека 5,25”., а привод  HH - один такой отсек. Раньше приводы FH были более производительными, но сейчас разницы в производительности уже нет. устройству управления хранилищем Внешние одиночные приводы (Standalone tape drive). Такие устройства имеют отдельный выносной корпус. Они бывают только интерфейсом SAS и подключаются с помощью SAS-кабеля к SAS HBA, установленному в сервере. По необходимости, картридж заменяется вручную. Устройство не устанавливается в стойку и существует только в настольном варианте. Примером такого устройства может быть, например, HPE StoreEver LTO-8 Ultrium Tape Drive. Внутренние. Устройства устанавливаются непосредственно в корпус сервера или компьютера. Могут использоваться для чтения "старых" накопленных кассет в современных стойках. Примером такого устройства может быть HPE StoreEver LTO-8 Ultrium 30750 Internal Tape Drive. Автоматические. Автозагрузчик (autoloader) – это устройство с одним приводом и автоматизированной системой хранения картриджей. Система может хранить несколько картриджей в магазинах. Внутри устройства робот-автомат выбирает картриджи из магазинов и вставляет в привод для чтения или записи. По штрих-кодам робот-автомат различает картриджи (считывает фотоэлементом), а управляющее программное обеспечение ведет по этим штрих-кодам каталог (какая информация хранится на каждом картридже) и отдаёт соответствующие команды роботу. Примером такого устройства может быть HPE StoreEver MSL 1/8 G2 0-drive Tape Autoloader. Библиотеки. Если автозагрузчик всегда имеет только один привод чтения/записи, то библиотека рассчитана на использование нескольких приводов. Кроме того, они обычно рассчитаны на большее количество картриджей и имеют возможности расширения путём подключения модулей расширения с картриджами и дополнительными приводами. Как правило, библиотеки ленточных носителей имеют гибкую конфигурацию, которую пользователя может настроить под свои нужды. Так, например, для размещения картриджей в ленточных библиотеках присутствуют так называемые магазины, которые представляют собой наборы слотов под ленточный носители. Выгрузка и загрузка магазина в библиотеки достаточно  затратная операция, в таком случае необходимо остановить все операции чтения/записи библиотеки и провести инвентаризацию всех слотов магазина. Для решения указанной проблемы существуют так называемые почтовые слоты (mail slots), которые позволяют выгружать/ загружать из библиотеки отдельный картриджи. Так же важной частью  библиотеки являются устройства чтения/записи - приводы, драйвы их может быть от одного  до нескольких десятков, увеличивая их набор в зависимости от количества слотов можно балансировать скорость чтения и записи всей библиотеки. Существует несколько способов определения мета-информации о картриджах: первый способ загрузить кассету в привод и прочитать метаинформацию из заголовка, другой - считать штрихкод на кассете. Для этого в составе ленточной библиотеки находится считыватель штрихкодов, который позволяет получить информацию о кассете, не перемещая её в привод.Примером ленточной библиотеки может служить устройство Quantum Scalar i3. В такой библиотеке можно разместить от 25 то 400 слотов для картриджей, тем самым подобрав объем необходимой памяти для хранения данных. Так же есть возможность разместить от 1 до 24 приводов на магнитной ленты.  В заключение обзора накопителей скажем несколько слов о технических ограничениях приводов.  Неблагоприятный эффект, называемый "эффектом полировки обуви", возникает во время чтения/записи, если скорость передачи данных падает ниже минимального порога, при котором головки ленточных накопителей предназначены для передачи данных на непрерывно работающую ленту или с нее. В этой ситуации современный быстродействующий ленточный накопитель не может мгновенно остановить ленту. Вместо этого привод должен замедлить скорость и остановить ленту, перемотать ее на короткое расстояние, перезапустить, вернуться к точке, в которой потоковая передача остановилась, а затем возобновить работу. Если условие повторяется, результирующее движение ленты вперед и назад напоминает движение тканью для полировки обуви. Такой эффект  снижает достижимую скорость передачи данных, срок службы накопителя и ленты, а также емкость ленты. В ленточных накопителях ранних моделей прерывистая передача данных была нормальной и неизбежной. Мощности процессора и доступной памяти обычно было недостаточно для обеспечения постоянного потока, поэтому ленточные накопители обычно разрабатывались для работы в режиме «старт-стоп». В ранних моделях приводов использовались очень большие катушки, которые обязательно имели высокую инерцию и не могли легко начинать и останавливать движение. Чтобы обеспечить высокие характеристики запуска, остановки и поиска, несколько метров свободной ленты были размотаны и протянуты всасывающим вентилятором вниз в два глубоких открытых канала по обе стороны от ленточной головки и шпилей. Длинные тонкие петли ленты, висящие в этих вакуумных колоннах, имели гораздо меньшую инерцию, чем две катушки, и их можно было быстро запускать, останавливать и перемещать. Большие катушки будут перемещаться по мере необходимости, чтобы удерживать провисшую ленту в вакуумных колоннах. Позже в большинстве ленточных накопителей появился внутренний буфер данных - это позволило несколько сократить количество ситуаций, связанных с запуском и остановкой. Такие накопители часто называют стриммерами. Лента останавливалась только тогда, когда в буфере не было данных для записи или когда он был заполнен данными во время чтения. Когда стали доступны более быстрые ленточные накопители, несмотря на то, что они имели буфер, накопители начали страдать от эффекта полировки обуви - последовательности операций: остановка, перемотка назад, запуск. Некоторые современные накопители имеют несколько скоростей и реализуют алгоритмы, которые динамически сопоставляют уровень скорости ленты со скоростью передачи данных компьютера. Примерными уровнями скорости могут быть 50 процентов, 75 процентов и 100 процентов полной скорости. Компьютер, который передает данные медленнее, чем самый низкий уровень скорости (например, 49 процентов), все равно будет эффект полировки обуви. Картридж представляет собой спрятанную в пластиковый корпус катушку с магнитной лентой, на которую последовательно записываются данные. Корпуса картриджа повышает сохранность данных при перемещении и небрежном обращении с носителем, а конструкция катушки с лентой позволяет равномерно распределять нагрузку по поверхности ленты, что удлиняет срок ее службы. Картриджи могут быть для многократной записи ( Rewritable, RW) или для однократной записи и многократного чтения (Write Once, Read Many, WORM).  Поддержка WORM началась с LTO-3. Возможность однократной записи предотвращает случайное или преднамеренное удаление данных, например, в случае атаки вирусов-шифровальщиков или человеческой ошибки. Конструктивно, WORM-картриджи практически не отличаются от  RW-картриджей того же поколения за исключением того, что чип (Linear Tape-Open Cartridge Memory, LTO-CM) в картридже идентифицирует его как WORM и немного отличаются сервотреки  - это необходимо для проверки того, что данные на ленте не изменялись. Нижняя часть картриджа обычно бывает серого цвета, картридж может быть оборудован винтами с защитой от несанкционированного доступа. Приводы, поддерживающие режим WORM, автоматически распознают  WORM-картриджи и включают уникальный идентификатор (WORM ID) в каждый набор данных, записываемый на ленту.  Картриджи отличаются поколениями и, как мы говорили выше, это влияет на возможность выполнения операций чтения/записи. Поэтому картриджи должны быть того же, или предыдущего поколения, что и накопитель. Объем хранимой информации определяется поколением картриджа: для LTO-1 это 100 Гбайт (200 Гбайт в сжатом виде), для LTO-9 это уже 18 Тбайт (45 Тбайт) в сжатом виде. Длина ленты в картридже варьируемся от 600 м. (LTO-1) до более 1 км. (LTO-9). Картриджи всех форматов имеют один и  тот же размер: 102.0 мм. × 105.4 мм. × 21.5 мм. Также есть чистящие картриджи (Universal Cleaning Cartridge, UCC), используемые для профилактических работ. Очистка осуществляется автоматически и всего за несколько секунд. Ресурс чистящих картриджей составляет несколько десятков циклов. К специальному типу картриджей относятся и диагностические картриджи.  Каждый картридж, используемый в ленточной библиотеке, оснащается наклейкой, которая содержит: текстовый серийный номер тома (VOLSER) - 6 символов, за которыми следует 2-х символьный идентификатор типа, например, ABC123L8  машиночитаемый штрих-код, считываемый библиотекой Штрих-код содержит следуюшие данные: информация о типе картриджа - для чтения/записи, чистящий или диагностический 2-х символьный идентификатор типа в форме Lx, где x может быть 1, 2, 3, 4, 5, 6, 7, 8, 9, T, U, V, W, X, Y, Z или M8 L или M указывает на то, что это - LTO-картридж M8 означает картридж 7-го поколения с емкостью 9 Tбайт (совместим только с устройствами LTO8) 1 - 9 указывает поколение картриджа Например: L5 = LTO поколения 5 L6 = LTO поколения 6 ... L9 = LTO поколения 9 T, U, V, W, X, Y и Z указывают на то, что это - WORM-картридж от 3 до 9 поколения соответственно Например:  LV = WORM-картридж для LTO поколения 5  LW = WORM-картридж для LTO поколения 6 ... LZ = WORM-картридж для LTO поколения 9 У чистящих картриджей серийный номер (VOLSER) начинается с символов "CLNU" , за которыми следует идентификатор, например, CLNU01CU. У диагностических картриджей серийный номер (VOLSER)начинается с символов "DG ", за которыми следует   порядковый номер картриджа и указатель на поколение картриджа в формате хxxLy, где xxх - это символы, а y - поколение картриджа, например, DG 001L7 - это диагностический картридж для устройства 7-го поколения.  За исключением картриджей производства компании HP, в индустрии "стандартизованы" цвета корпусов картриджей. Например, для LTO-1 были картриджи черного цвета (синего у HP), для LTO-2 - фиолетовый (темно-красный у HP), и так далее.  Каждый LTO-картридж содержит чип памяти. Объем - небольшой: 16 Кбайт для LTO-6, 7 и 8, 8 Кбайт для LTO-4 и 5 и 4 Кбайт для LTO-1, 2 и 3 и чистящих картриджей. Содержимое памяти доступно для чтения/записи через RF-интерфейс. Память используется для идентификации лент, определения их поколений и хранения информации об использовании ленты. Вся хранимая в памяти картриджа информация может быть считана ленточным накопителем.  На этом завершим наше знакомство со стандартами, устройствами и картриджами.  В следующей части обсудим как в нашей СРК Кибер Бэкап поддерживается работа с ленточными устройствами. До встречи!