Как настроить синхронизацию контента для основного и резервного серверов SL NEO ?

TransferMgr.jpg
Синхронизация контента резервного сервера с основным производится в режиме постоянного однонаправленного файлового копирования - основной сервер работает в обычном режиме, резервный сервер постоянно синхронизирует содержимое своего хранилища с основным. Синхронизация выполняется приложением Transfer Manager, которое необходимо настроить на любом сервере. Как правило, настройка производится на резервном сервере, однако, здесь нет жестких ограничений - выбор сервера, который будет отвечать за синхронизацию, производится, исходя из конфигурации конкретной системы. 

Проверка лицензионного ключа

Transfer Manager имеет лицензионный ключ для защиты от копирования. Проверить работоспособность ключа можно командой File/License Key. 

Создание правила для синхронизации контента

Вариант №1. Метод копирования: Соpy and Rotate

Работа Transfer Manager строится на основе правил. Для настройки синхронизации контента на основном и резервном серверах, необходимо создать такое правило (кнопка New rule в правой верхней части интерфейса). В открывшемся диалоговом окне в поле Transfer Mode выбираем метод копирования: Соpy and Rotate.

Метод Copy and Rotate подразумевает постоянную автоматическую однонаправленную синхронизацию конечного (резервного) хранилища по отношению к исходному (основному). Схема работы правила следующая:
  • при появлении новых файлов (клипов) на исходном хранилище, они копируются на конечное хранилище;
  • при появлении новых версий клипов на исходном хранилище, они заменяются на конечном;
  • с исходного хранилища на конечное повторно копируются клипы, удалённые с конечного;
  • удаление файлов на исходном хранилище не приводит к моментальному удалению одноименных файлов с конечного хранилища;
  • файлы на конечном хранилище автоматически ставятся в очередь и удаляются только из числа тех, которых нет на основном, список на удаление формируется по мере заполнения емкости конечного хранилища, порядок удаления формируется в соответствии с временами последней модификации файлов.
В поле Transfer Threads можно задать количество одновременно функционирующих потоков файлового копирования (8 максимум). Установка значения, близкого к максимальному, может нагрузить массивы, сеть и отрицательно сказаться на их работоспособности. Следует провести тесты и убедиться в отсутствии артефактов (например - "тормозов" при воспроизведении).

В поле Reserve for urgen jobs можно установить желаемое количество так называемых "резервных" потоков. Transfer Manager способен анализировать исполняемые play-листы и ставить первыми в очередь на копирование файлы, которые стоят первыми в очереди на воспроизведение. При постановке в play-лист нового события может оказаться так, что все потоки заняты копированием объемных файлов и копирования файла для нового события сразу не произойдет. Для того, чтобы исключить подобные ситуации, необходимо задать несколько "резервных" потоков.

Пункт Copy partitial content позволяет осуществлять копирование незавершенных материалов (находящихся в процессе записи или импорта, в Media Browser такие материалы помечены "PART").

TM_rule_step_1.jpg

Закладка Source

В закладке Source вводится информация об источнике синхронизации, в нашем случае это основной сервер. В поле Name указываем произвольное название для источника. В поле Type указываем тип хранилища основного сервера - БД сервера SL Media Storage. В поле Address указываем IP адрес основного сервера. В поле Service выбираем порядковый номер сервиса БД (1-по умолчанию). 

User, Password — имя пользователя и пароль, с которыми Transfer Manager будет обращаться к БД сервера (если требуется),  Если нужна синхронизация не всей БД целиком, а отдельной папки, необходимо выбрать папку-источник кнопкой, расположенной рядом с полем SubFolder.  Остальные параметры окна можно не изменять. 

Закладка Destination

TM_rule_step2.jpg
Переходим к закладке Destination. Здесь вводится информация о параметрах конечного хранилища (в нашем случае это резервный сервер) и указываются условия для удаления файлов. 

В открывшемся окне, в нижней части нажимаем кнопку Аdd. Открывается окно для ввода информации о конечном хранилище. 

В данном окне параметры Name, Type, Address, Service, User, Password, Subfolder настраиваются по аналогии с настройкой параметров исходного хранилища. 

AV Container — выбор контейнера для медиа-файлов (Default=avi устанавливается при работе с БД сервера SL NEO). 

Max Transfer Rate — выбор максимальной скорости копирования файлов, кратной «реальному времени». Установка значения, близкого к максимальному, может нагрузить массивы и сеть, следует провести тесты и убедиться, что увеличение скорости копирования не сказывается отрицательно на работе каналов воспроизведения и записи.

Max Wait List — выбор максимальной длины списка файлов, ожидающих удаления. Значение по умолчанию: Default - означает, что список на удаление будет расти и клипы не будут удаляться до тех пор, пока практически полностью не заполнится резервное хранилище (остаточная квота по умолчанию - Wait List Space Threshold = 10 Gb).   

Wait List Space Threshold — выбор значения дисковой квоты в гигабайтах, по достижении которой начнут удаляться клипы, ожидающие удаления в Wait-листе (если значение Max Wait List установлено в Default или больше нуля).

Max Wait List Time - значение времени, спустя которое, все клипы, стоящие в очереди в Wait-листе, будут автоматически удалены. 

Значения по-умолчанию, установленные в полях Max Wait List, Wait List Space Threshold и Max Wait List Time, позволяют отложить удаление клипов на максимально возможный срок, при этом резервный массив всегда будет практически заполнен. Для того, чтобы ускорить процесс удаления, следует вручную установить параметры: длину списка на удаления - 50...300, увеличить объем дисковой квоты в гигабайтах и задать временной интервал, спустя который, все клипы в Wait-листе будут автоматически удалены.

Закладка PlayLists

Transfer Manager способен анализировать исполняемые play-листы и ставить первыми в очередь на копирование файлы, которые стоят первыми в очереди на воспроизведение в play-листах. В закладке PlayLists, по кнопке Add вводится IP адрес и порядковый номер сервиса воспроизведения (Program Channel), для которого будет формироваться очередь и копироваться файлы. Может быть указано несколько сервисов воспроизведения, это актуально в случае, когда БД с материалами одна, общая для нескольких playout-каналов.

После ввода всей необходимой информации и закрытия настроечных окон, вновь созданное правило появится в списке, в окне Transfer Rules. Запуск правила производится кнопкой Start rule. Через 40 секунд начнется копирование файлов. Статусы процессов копирования и удаления файлов с резервного сервера отображаются в закладках Transfer State, Transfer Jobs, Delete Jobs

TM_tr_state.jpg

Вариант №2. Метод копирования: Соpy for PlayList

Метод Copy for PlayList подразумевает автоматическое однонаправленное копирование на конечное (резервное) хранилище с исходного (основное) только тех клипов, которые содержатся в play-листе. В закладке PlayLists, по кнопке Add вводятся IP адреса и порядковые номера сервисов воспроизведения (Program Channel), для которых будут копироваться файлы. Схема работы правила следующая:
  • при появлении новых файлов (клипов) на исходном хранилище, они копируются на конечное хранилище только в том случае, если их имена (ID - колонка Media) содержатся в исполняемом play-листе;
  • удаление строчки с клипом из play-листа приведет к моментальному удалению соответствующих файлов с конечного хранилища.
Важно !

При настройке большого количества потоков/правил для Transfer Manager, загрузка процессора на сервере может приблизиться к 100%, что в свою очередь негативно отразится на операциях записи и воспроизведения: появятся стоп-кадры при воспроизведении и пропущенные кадры при записи. Для исключения подобных ситуаций, необходимо контролировать загрузку CPU на уровне 80-85% при изменении настроек Transfer Manager и особенно после добавления новых потоков и правил.

Особенность работы Transfer Manager с клипами - ссылками

Clip_cuts.jpg
В окне File Monitor приложения Air Manager есть инструмент Cut, служащий для "разрезания" клипа, выделенного в Media Browser,  на 2 части. При этом фактически, никаких действий с медиа-данными не производится, "разрезание" осуществляется на уровне метаданных - в БД сервера создается новый клип - ссылка и в атрибутах клипов (в БД) меняются параметры разметки - точки IN/OUT. 

Особенность работы Transfer Manager с такими клипами состоит в том, что при копировании клипов-ссылок на резервный сервер, каждый клип будет скопирован целиком, т.е. фактически, один медиа-материал будет продублирован на резервном сервере несколько раз, по количеству клипов - ссылок. Если размечать подобным образом материалы большой длительности, возможно быстрое заполнение массива резервного сервера. Следует принять во внимание данное обстоятельство и использовать следующие инструменты для работы с объемными материалами, требующими большого количества точек разметки:

Ручное "разрезание" строк play-листа. При выделении строки в окне Broadcast, в окне File Monitor отображается соответствующий клип. Кнопка Cut в окне File Monitor позволяет разрезать строку на 2 части. Точку, по которой происходит разделение строк, определяет текущее положение маркера в File Monitor. При выполнении данной операции со строками, не происходит никаких изменений параметров клипов, находящихся в БД сервера.

Автоматическое формирование строк play-листа по ключевым кадрам. Ключевые кадры предназначены для индексирования внутри клипа с целью мгновенной последующей навигации к отмеченной точке. При просмотре клипа в окне File Monitor ключевые кадры для него формируются по нажатию кнопки + в верхней части окна. Сформированные ключевые кадры отображаются в отдельном окне Key Frames. После постановки в play-лист клипа, содержащего такую разметку, по правой кнопке мыши на строчке play-листа можно выбрать пункт Split at Key Points, после чего произойдет автоматическое добавление в play-лист новых строк в соответствии с разметкой клипа по ключевым кадрам.

Split_clip_kp.jpg