Руководство по развёртыванию DJI FlightHub 2 в публичном облаке

В этом руководстве описаны рекомендуемые способы развёртывания FlightHub 2 On-Premises на облачных серверах Amazon Web Services (AWS) и Microsoft Azure, включая требования к конфигурации сервера, подготовку к установке, установку зависимостей и настройку драйвера Azure vGPU.

AWS / Microsoft AzureUbuntu Server 24.04 LTSTerra настраивается по мере необходимости

1Требования к конфигурации сервера

Выберите конфигурацию облачного сервера с учётом количества подключённых док-станций, необходимости использования Terra и фактических потребностей в хранении данных и прямых трансляциях.

1.1 Основные требования к оборудованию

Рекомендуемые конфигурации и характеристики оборудования:

ПараметрРекомендуемая конфигурацияПримечания к конфигурации
CPUДля начала — не менее 8 ядерДля 5 подключённых док-станций начните с 8 ядер; если требуется Terra, выделите не менее 12 ядер.
Для 10 и более подключённых док-станций рекомендуется не менее 16 ядер; если требуется Terra, выделите не менее 20 ядер.
Оперативная памятьДля начала — не менее 32 GBПри подключении более 10 док-станций увеличьте планируемый объём оперативной памяти.
Диск данныхСистемный диск: 512 GB или больше
Диск данных: 2,048 GB или больше
Выберите объём диска данных с учётом фактических потребностей в хранении медиаданных, начиная с 2,048 GB.
Пропускная способность сетиНастройте с учётом потребностей в прямых трансляцияхВыберите пропускную способность с учётом одновременных прямых трансляций. Зарезервируйте 5 Mbps для каждой одновременной прямой трансляции и дополнительно примерно 10% общей пропускной способности канала.

1.2 Основные требования к программному обеспечению

Операционная система, контейнерная среда и компоненты для GPU:

Программный компонентТребования к версии или способ настройкиПримечания
Операционная системаUbuntu Server 24.04 LTSВ рекомендуемых конфигурациях AWS и Azure используется Ubuntu 24.04.
NVIDIA Container ToolkitТребуется только при развёртывании реконструкции моделей TerraПодготовьте зависимости с помощью вспомогательного скрипта развёртывания.
Драйвер NVIDIAТребуется только при развёртывании реконструкции моделей TerraВ стандартных средах используйте sudo ubuntu-drivers devices, чтобы проверить рекомендуемый драйвер. Для сред Azure vGPU см. специальные шаги настройки драйвера.

1.3 Рекомендуемые конфигурации AWS

Развёртывание только с CPU (реконструкция моделей Terra не требуется)
Начальный экземпляр EC2
c5.4xlarge; при повышенных требованиях к хранению медиаданных выберите c5d.4xlarge
Требования к хранилищу
Начните с io1; при частом чтении, записи и обработке медиафайлов рассмотрите io2
Объём диска
Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
Операционная система
Linux (Ubuntu 24.04)
Развёртывание с CPU + GPU (требуется реконструкция моделей Terra)
Начальный экземпляр EC2
g5.8xlarge
Требования к хранилищу
Начните с io1; при частом чтении, записи и обработке медиафайлов рассмотрите io2
Объём диска
Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
Операционная система
Linux (Ubuntu 24.04)

1.4 Рекомендуемые конфигурации Azure

Развёртывание только с CPU (реконструкция моделей Terra не требуется)
Начальная VM
Standard_D16s_v6
Требования к хранилищу
Начните с Premium SSD; при частом чтении, записи и обработке медиафайлов рассмотрите Premium SSD v2
Объём диска
Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
Операционная система
Linux (Ubuntu 24.04)
Развёртывание с CPU + GPU (требуется реконструкция моделей Terra)
Начальная VM
Standard NV36ads A10 v5
Требования к хранилищу
Начните с Premium SSD; при частом чтении, записи и обработке медиафайлов рассмотрите Premium SSD v2
Объём диска
Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
Операционная система
Linux (Ubuntu 24.04)

2Подготовка к установке

Перед началом установки выполните следующие подготовительные действия:

  1. Получите лицензию и URL для скачивания установочного пакета: Инструкции см. в разделе «Скачивание лицензии и установочного пакета».
  2. Получите вспомогательный скрипт развёртывания: Скачайте install_helper.shopen in new window и загрузите его на целевой облачный сервер.
  3. Подготовьте сетевую среду: Убедитесь, что во время установки облачный сервер имеет доступ к необходимым репозиториям программного обеспечения и URL для скачивания, чтобы инструменты, такие как APT, могли получать пакеты зависимостей и необходимые файлы.
  4. Проверьте доступность портов: Убедитесь, что порты, необходимые для развёртывания, не заняты другими сервисами. Требования к портам см. в разделе «Требования к сети».

Среда выполнения команд

Войдите на целевой облачный сервер по SSH и выполняйте последующие команды скрипта из каталога, содержащего вспомогательный скрипт развёртывания. Для выполнения команд настройки системы или установки программного обеспечения используйте учётную запись с правами sudo.


3Проверка среды и установка зависимостей

3.1 Предоставление скрипту права на выполнение

После загрузки вспомогательного скрипта развёртывания выполните следующую команду:

chmod +x install_helper.sh

3.2 Выполнение проверок перед установкой

Выполните команду check, чтобы убедиться, что операционная система и текущая среда соответствуют требованиям к установке:

sudo ./install_helper.sh check

Ниже приведён пример вывода проверки. Фактический вывод может отличаться в зависимости от среды сервера.

Starting pre-install read-only checks.
Platform check passed: Ubuntu 24.04.4 LTS (x86_64)

[Check] Ubuntu apt candidate versions
chrony detected, skipping systemd-timesyncd candidate check.
Pass: resolvable install candidates exist for curl, aria2 and verification tools (read-only).

[Check] apt install transaction
Pass: current apt state can resolve installation dependencies (dry-run).

[Check] Time synchronization service
chrony detected, skipping systemd-timesyncd.
...

Действия при неуспешных проверках

Если какие-либо проверки не пройдены (обычно выделяются красным цветом), следуйте подсказкам для поиска и устранения неполадок, затем выполните проверки повторно. Устраните эти проблемы, прежде чем продолжить установку, чтобы они не повлияли на последующее развёртывание.

3.3 Установка зависимостей

После успешного прохождения проверок выполните следующую команду для установки пакетов зависимостей:

sudo ./install_helper.sh pre_install

Во время установки скрипт запрашивает, требуется ли установить компоненты для Terra:

是否需要安装 Terra(含 Nvidia driver 和 toolkit)?
Install Terra (including Nvidia driver and toolkit)? [y/n]:
  • Если требуется Terra: введите y, затем нажмите Enter.
  • Если Terra не требуется: введите n, затем нажмите Enter.

Для установки зависимостей Terra может потребоваться скачивание драйвера NVIDIA и его локальная компиляция. Это может занять некоторое время; дождитесь завершения установки.

Среды Azure vGPU

Если вы используете Azure vGPU, установите совместимый драйвер NVIDIA вручную. Выполните специальную настройку драйвера в разделе «Настройка драйвера», затем проверьте состояние GPU.

Ниже приведён фрагмент вывода при выборе установки зависимостей Terra. Название и версия драйвера зависят от фактической среды сервера.

[安装 / Install] nvidia-driver-595-open
...
完成 / Done: nvidia-driver-595-open.

Terra 安装完成 / Terra installation completed.

pre_install 完成 / pre_install completed.

3.4 Проверка состояния GPU (при использовании Terra)

В стандартной среде с GPU после установки драйвера выполните следующую команду:

nvidia-smi -L > /dev/null && echo "success"

Если в выводе отображается success, команда запроса GPU выполнена успешно. Если это сообщение не отображается, проверьте состояние установки драйвера и ошибки, возвращённые командой.

Пропустите эту проверку, если Terra не была выбрана для развёртывания. Если вы используете внешний диск данных, сначала выполните действия из раздела «Монтирование внешнего диска данных»; в противном случае перейдите к разделу «Получение и распаковка установочного пакета», чтобы получить установочный пакет. Для сред Azure vGPU сначала выполните действия из следующего раздела.


4Настройка драйвера Azure vGPU

Этот раздел предназначен для экземпляров Azure vGPU, для которых требуется настройка драйвера NVIDIA. В других средах перейдите к разделу «Монтирование внешнего диска данных», если вы используете внешний диск данных, или к разделу «Получение и распаковка установочного пакета», если он не используется.

Выберите драйвер Azure GRID, совместимый с вашей моделью vGPU. Требования к выбору и установке драйвера см. в официальной документации Microsoft: «Установка драйверов GPU NVIDIA на VM серии N под управлением Linux».

Влияние этих операций

Следующие операции включают удаление существующего драйвера NVIDIA и перезагрузку сервера. Выполняйте их, когда допустим перерыв в работе сервисов GPU, и повторно подключитесь по SSH после перезагрузки сервера.

4.1 Удаление существующего драйвера NVIDIA

sudo apt-get purge -y 'nvidia-*' 'libnvidia-*'
sudo apt-get autoremove -y

4.2 Установка инструментов сборки

sudo apt update && sudo apt install -y build-essential

4.3 Скачивание совместимого драйвера Azure GRID

Уточнив URL для скачивания драйвера для текущего экземпляра, выполните следующую команду. Замените <azure_grid_driver_url> фактическим URL для скачивания, сохранив окружающие кавычки.

wget -O NVIDIA-grid-azure.run "<azure_grid_driver_url>"

Пример URL для скачивания: NVIDIA-Linux-x86_64-595.91.07-grid-azure.run. Этот URL приведён только в качестве примера. Перед его использованием обратитесь к официальной документации Microsoft, чтобы подтвердить совместимость с текущим экземпляром.

4.4 Установка драйвера и перезагрузка сервера

sudo chmod +x NVIDIA-grid-azure.run
sudo ./NVIDIA-grid-azure.run --silent

Убедившись, что драйвер успешно установлен, выполните команду перезагрузки:

sudo reboot

4.5 Проверка установки драйвера

После перезагрузки сервера снова войдите по SSH и выполните следующую команду:

nvidia-smi -L > /dev/null && echo "success"

Если в выводе отображается success, команда запроса GPU выполнена успешно. Если проверка не пройдена, проверьте совместимость драйвера с экземпляром и просмотрите журналы установки.


5Монтирование внешнего диска данных

Если ваш экземпляр в публичном облаке использует новый подключённый пустой внешний диск данных, создайте на нём раздел, отформатируйте и смонтируйте его, прежде чем продолжить скачивание и установку. Затем скачивайте, загружайте, распаковывайте и устанавливайте установочный пакет DJI FlightHub 2 в /fh_data и используйте этот каталог для последующей работы.

Риск потери данных

Этот раздел относится только к новым пустым дискам данных. Создание таблицы разделов и форматирование удалят все данные на целевом диске. Перед выполнением команд замените заполнители устройств в соответствии с фактической средой и повторно убедитесь, что целевое устройство не является системным диском. Если на диске уже есть данные, не выполняйте команды создания разделов и форматирования из этого раздела.

5.1 Определение внешнего диска данных

Сначала просмотрите диски, разделы, файловые системы и точки монтирования. Определите новый диск данных, сравнив его объём с объёмом диска, настроенным в облачной консоли, и запишите полное имя устройства.

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
sudo fdisk -l

В AWS и Azure имена устройств могут иметь вид /dev/nvme1n1, /dev/xvdb или /dev/sdc. Ориентируйтесь на фактический вывод. В следующих командах /dev/<data_disk> обозначает весь диск данных, а не системный диск или существующий раздел.

5.2 Создание раздела с помощью fdisk

Замените /dev/<data_disk> именем устройства всего диска, подтверждённым на предыдущем шаге, затем запустите fdisk:

sudo fdisk /dev/<data_disk>

В интерактивном интерфейсе последовательно введите следующие команды. Каждое из трёх нажатий Enter принимает значение по умолчанию, в результате чего создаётся раздел, занимающий всё доступное пространство:

g
n
Enter
Enter
Enter
w
  • g: Создать новую таблицу разделов GPT.
  • n: Создать новый раздел и принять значения по умолчанию для номера раздела, первого и последнего секторов.
  • w: Записать таблицу разделов и выйти.

Снова выполните lsblk, чтобы подтвердить имя нового раздела. Разделы дисков NVMe обычно имеют имена вида /dev/nvme1n1p1, а для других дисков могут использоваться имена вида /dev/xvdb1 или /dev/sdc1. Во всех последующих командах /dev/<data_partition> обозначает этот новый раздел.

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS

5.3 Форматирование и первое монтирование

Убедившись, что имя раздела указано верно, отформатируйте новый раздел в ext4 и смонтируйте его в /fh_data:

sudo mkfs.ext4 /dev/<data_partition>
sudo mkdir -p /fh_data
sudo mount /dev/<data_partition> /fh_data

5.4 Настройка автоматического монтирования при загрузке

Запросите UUID нового раздела и скопируйте значение UUID="..." из вывода:

sudo blkid /dev/<data_partition>

Отредактируйте /etc/fstab:

sudoedit /etc/fstab

Добавьте следующую строку в конец файла, заменив <uuid> только что полученным значением UUID без кавычек и угловых скобок:

UUID=<uuid> /fh_data ext4 defaults,nofail 0 2

5.5 Проверка монтирования и настройка прав доступа к каталогу

Размонтируйте текущую точку монтирования, затем выполните повторное монтирование в соответствии с /etc/fstab, чтобы проверить правильность конфигурации:

sudo umount /fh_data
sudo mount -a
findmnt /fh_data

Если findmnt показывает /fh_data и соответствующий раздел диска данных, конфигурация монтирования работает. Затем назначьте текущую учётную запись развёртывания владельцем каталога:

sudo chown "$USER:$USER" /fh_data

Рабочий каталог для последующих шагов

Начиная со следующего раздела, всегда скачивайте, загружайте, распаковывайте и устанавливайте установочный пакет в /fh_data. Данные, создаваемые при последующем использовании DJI FlightHub 2, также следует хранить на диске данных, связанном с этим каталогом.


6Получение и распаковка установочного пакета

После подготовки среды перейдите в /fh_data и используйте один из следующих способов, чтобы поместить установочный пакет DJI FlightHub 2 в этот каталог:

cd /fh_data
  • Скачайте установочный пакет на локальный компьютер, затем загрузите его в каталог /fh_data на облачном сервере.
  • Используйте URL для скачивания установочного пакета, чтобы скачать его непосредственно в каталог /fh_data на облачном сервере.

6.1 Скачивание с помощью вспомогательного скрипта (необязательно)

Вспомогательный скрипт развёртывания поддерживает многопоточное скачивание. Чтобы использовать его, убедитесь, что вспомогательный скрипт находится в /fh_data, затем выполните следующие команды из этого каталога:

cd /fh_data
./install_helper.sh download "<package_url>" "<save_filename>"
  • <package_url>: Фактический URL для скачивания установочного пакета.
  • <save_filename>: Имя файла для сохранения установочного пакета на сервере.

Замените каждый заполнитель целиком фактическим значением без угловых скобок. Сохраните кавычки, чтобы специальные символы в URL или пробелы в имени файла не влияли на выполнение команды.

6.2 Распаковка установочного пакета

После завершения скачивания или загрузки выполните следующие команды в каталоге /fh_data, заменив заполнитель фактическим именем файла:

cd /fh_data
tar xf "<save_filename>"

7Установка DJI FlightHub 2

В разных версиях DJI FlightHub 2 процедуры установки могут отличаться. Начните установку из каталога распакованного установочного пакета в /fh_data и завершите её, следуя руководству пользователя для используемой версии установочного пакета. Данные, создаваемые при последующем использовании, также следует хранить на диске данных, связанном с /fh_data.

Актуальные инструкции по установке в онлайн-руководстве см. в разделе «Запуск мастера установки».