Skip to main content
Version: arkhangelsk

MediaRecovery.CLI

Утилита предназначена для восстановления чанков с пониженным разрешением в архиве в случае, если в результате сбоя при транскодинге они были некорректно обработаны. Для этого используются чанки с оригинальным разрешением и заново отправляются на транскодинг.

Подготовка окружения

Утилиту необходимо развернуть на хосте, на котором установлен Packhaus.

  1. Подключить репозиторий:

Для Centos:

[mvs-common-rpm]
baseurl = https://<login>:<password>@repo.mvslyra.com/repository/common-rpm/centos/$releasever/$basearch/
gpgcheck = 0
gpgkey = file:///etc/pki/rpm-gpg/mvs_key
name = MVS common-rpm repository
enabled = 1

Для REDOS:

[mvs-common-rpm]
baseurl = https://<login>:<password>@repo.mvslyra.com/repository/common-rpm/redos/7/$basearch/
gpgcheck = 0
gpgkey = file:///etc/pki/rpm-gpg/mvs_key
name = MVS common-rpm repository
enabled = 1
  1. Обновить кэш репозиториев:
yum makecache
  1. Установить пакет MediaRecovery.CLI:
yum install mvs-lyra3-hp-mediarecovery-cli

  1. Отредактировать конфигурацию:
Примечание:

все поля обязательны для заполнения.

cat /etc/mvs.lyra3.hp/Lyra3.HP.MediaRecovery.CLI.yml

## S3/minio configuration section
S3Configuration:
## Bucket name in s3 storage
BucketName: <bucketname>
## Access key to s3 storage
AccessKey: <Access_KEY>
## Secret key to s3 storage
SecretKey: <Secret_KEY>
## S3 uri
Uri: http://192.168.5.3:8010
LocalStorageConfiguration:
# Temp dir for artifacts
TempPath: "/mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery"
LogsFolderConfiguration:
## Path to file system folder for saving log files. Required
LogsFolderPath: "/mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery.log"

Для корректной записи в каталог если запуск не от root:

chmod o+w /mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery
chmod o+w /mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery.log

Восстановление операций

Важно:

Перед восстановлением архивной операции необходимо сделать резервную копию из S3 хранилища всей архивной операции.

  1. Найти id проблемной операции:
  • В R-хранилище, например: Корзины -> bucket -> Surgeries
  • В госпитальной платформе User.SPA -> Оперблок -> Архив. Вызываем консоль разработчика Network -> Fetch/XHR строчка stream

Picture1

Пример: строчка stream 1080.m3u8 В пути к чанку прописан id операции это b50ad93a-e397-4352-8568-afbbdb342d2a (после /Surgeries/ )

  1. Выполнить команду
mvs-lyra3-hp-mediarecovery-cli --surgery-id <id операции>

Пример id операции b50ad93a-e397-4352-8568-afbbdb342d2a

  1. Будет выведено число найденных проблемных чанков:

Picture2

Подтвердить вносимые изменения:

Picture3

  1. Далее программа начнёт исправлять проблемные чанки, после успешного завершения работы программы появится сообщение:
Replacement completed, сleaning
Примечание:

если программа зависла и не отвечает, её необходимо запустить заново.

  1. После восстановления проблемных чанков необходимо перейти Гоcпитальную платформу в User.SPA, проверить воспроизведение архивной операции и экспорт отрезков.
  2. В R-хранилище остаются артефакты проблемных чанков и помечаются как разрешение.broken , они должны храниться вместе с архивной операцией у каждого чанка.

Picture4

Просмотр логов

секция LogsFolderConfiguration в конфигурационном файле утилиты указывает каталог с логами:

LogsFolderConfiguration:
## Path to file system folder for saving log files. Required
#LogsFolderPath: <path_to_logs_folder>
Важно!

Лог необходимо хранить до момента удаления операции полностью.

Вывести список логов:

ls -lat /mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery.log/*

Просмотр по конкретному файлу с логами:

cat /mnt/raid1-data/var/lib/mvs.lyra3.hp/mediarecovery.log/<дата и время>.recovery.log