Современные фото и видео камеры производят много данных. Порой неожиданно много. Фотографии размером 50-100 мегабайт, видео потоки 100-200 мегабайт в секунду, все это реальность для современной фото-видео техники среднего ценового диапазона. А учитывая, что даже для не сложного монтажа часто нужна одновременная обработка 2х - 3х видео потоков, скорость доступа к хранилищу медиа данных должна быть соответствующая.
Кроме этого, система хранения данных должна уметь восстановить все данные при серезных сбоях, или при уничтожении хранилища. Иными словами, заказчик должен иметь возможность восстановить данные даже если само хранилище полностью уничтожено в результате пожара, залива водой, или по другой причине.
В статье описывается предложенное в реальном проекте решение для хранения медиа данных объемом 80-100ТБ.
Заказчик активно фотографирует, снимает видео полупрофессиональной техникой, и хотел бы получить надежную и быструю систему хранения, с использованием которой можно было бы не только обрабатывать фото и видео материалы, но и показывать обработанные слайд шоу и подготовленные видео на телевизорах. Съемка фотографий ведется в основном в RAW с размером кадров до 100 мегабайт, съемка видео - в ProRes HQ и видео RAW форматы с разрешением 4k, и потоком до 200 мегабайт в секунду. Обработка в основном производится на iMac & Macbook Pro.
Постановка задачи
Система хранения должна позволять:
- быстро выгружать в нее отснятые данные,
- надежно хранить данные вне зависимости от сбоев отдельных компонентов типа жестких дисков HDD, твердотельных дисков SSD, и других компонентов,
- иметь доступ к данным со скоростью, достаточной для видео монтажа с проигрыванием контента в реальном масштабе времени,
- автоматически резервировать данные на географически удаленную площадку,
- проигрывать подготовленный медиа контент на видео мультирум системе заказчика.
При этом мы не можем использовать оборудование корпоративного класса из-за его высокой цены и малой пригодности к эксплуатации в жилых помещениях.
Скорость доступа к системе хранения
Скорость доступа к сетевому хранилищу ограничивается самым медленным звеном в цепочке компьютер - локальная сеть - система хранения. Современные компьютеры хорошего уровня, не важно Mac или PC, уже имеют быстрые интерфейсы передачи данных типа USB-C / Thunderbolt 3. Последний в теории обеспечивает до 40 гигибит в секунду, но на практике редко удается получить больше 15-20 гигабит. Это звено нас вряд ли будет сдерживать.
Особенность этих интерфейсов в ограниченном расстоянии, на которые по ним можно передать данные. Кабель Thunderbolt 3 ограничен длиной 2м. Хотя в нашем случае это ограничение не критично, существуют более длинные активные кабели для Thunderbolt 2 с волоконно оптической "вставкой". Хорошая альтернатива - конвертирование этого интерфейса в 10G Ethernet, который можно передать на достаточное расстояние. Скорость передачи данных при этом понизится процентов на 30-40.
Скорость приема данных сетевым хранилищем - следующее возможное ограничение. Даже очень быстрый HDD диск редко имеет производительность на чтение-запись больше 200 мегабайт в секунду. Объединение дисков в RAID массив хоть и повышает скорость чтения-записи, но не намного. Решением будет использование иерархической системы хранения, в которой в качестве самого быстрого носителя использованы SSD диски стандарта M.2, средний по скорости массив состоит из SSD дисков на SATA интерфейсах, и самых медленный, но и самый объемный массив дисков - на классических HDD дисках.
На фотографии в начале статьи приведена озможная модель сетевого накопителя. Нижний ряд дисков для нашей конфигурации будут HDD диски по 14ТБ верхние 2.5" диски - SSD SATA, внутрь корпуса будут установлены M.2 SSD диски. HDD диски будут объеденены в массив типа RAID6 или ZFS, если последний будет поддерживаться выбранной моделью сетевого накопителя. SSD диски будут использоваться для кэширования данных при настройке автотиринга Qtier (она позволяет автоматически переносить данные, с которыми ведется работа, на более быстрые накопители).
Логическая схема подключения оборудования к сетевому хранилищу.
Для создания резервной копии данных было предложено использование облачного резервного копирования. На рынке облачных систем хранения стоимость тарифных планов для неограниченного объема хранимых данных составляет $10-$20 в месяц. Но это будет именно резервная копия, а не решение типа Dropbox.
В случае необходимости можно настроить на сетевом хранилище "персональное облако" с возможностью доступа как из локальной сети, так и из интернета. Размер его будет ограничен только полезным объемом массива HDD дисков.
Просмотр подготовленного контента на телевизорах
Одним из наиболее универсальных медиа серверов, клиентские и серверные компоненты которого есть для практически всех распространенных платформ, можно считать Plex. На сетевое хранилище устанавливается серверная часть, на Smart TV и медиаплееры типа Apple TV - клиентская. Сервер настраивается, после чего к нему можно получить доступ как из локальной сети, так и удаленно.
Внешний вид клиента Plex на телевизоре при просмотра альбома фотографий.
Если качество демонстрации контента является важным, все компьютеры и телевизоры рекомендуется откалибровать для правильного воспроизведения изображений. Учитывая, что современные телевизоры поддерживают несколько режимов работы, в том числе режимы HDR, калиброваться должен каждый из используемых режимов.
Результаты измерения для OLED телевизора от LG до калибровки.
Результаты после калибровки. Видно, что величина погрешности deltaE 2000 после калибровки уменьшилась примерно в 4 раза.
Предварительная оценка стоимости проекта
При использовании 8 дисков с гелиевым заполнением пр 14ТБ, 4х SSD дисков по 1ТБ, и 2х M.2 SSD дисков по 1ТБ стоимость системы хранения будет около $10 тысяч.
Стоимость работ по монтажу и настройке оборудования на данный момент оценить трудно, но по опыту предыдущих проектов, она составляет 30-40% от стоимости оборудования.
Надеюсь эта статья поможет уберечь ваши данные от возможных проблем, которые случаются даже в очень надежных системах.
Сахаров Александр