Руководство по развёртыванию DJI FlightHub 2 в публичном облаке
В этом руководстве описаны рекомендуемые способы развёртывания FlightHub 2 On-Premises на облачных серверах Amazon Web Services (AWS) и Microsoft Azure, включая требования к конфигурации сервера, подготовку к установке, установку зависимостей и настройку драйвера Azure vGPU.
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
- Начальный экземпляр EC2
c5.4xlarge; при повышенных требованиях к хранению медиаданных выберитеc5d.4xlarge- Требования к хранилищу
- Начните с io1; при частом чтении, записи и обработке медиафайлов рассмотрите io2
- Объём диска
- Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
- Операционная система
- Linux (Ubuntu 24.04)
- Начальный экземпляр EC2
g5.8xlarge- Требования к хранилищу
- Начните с io1; при частом чтении, записи и обработке медиафайлов рассмотрите io2
- Объём диска
- Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
- Операционная система
- Linux (Ubuntu 24.04)
1.4 Рекомендуемые конфигурации Azure
- Начальная VM
Standard_D16s_v6- Требования к хранилищу
- Начните с Premium SSD; при частом чтении, записи и обработке медиафайлов рассмотрите Premium SSD v2
- Объём диска
- Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
- Операционная система
- Linux (Ubuntu 24.04)
- Начальная VM
Standard NV36ads A10 v5- Требования к хранилищу
- Начните с Premium SSD; при частом чтении, записи и обработке медиафайлов рассмотрите Premium SSD v2
- Объём диска
- Системный диск: не менее 500 GB; диск данных: для начала — 2,048 GB. Дополнительно увеличьте объём, если необходимо хранить большое количество медиаданных полётов
- Операционная система
- Linux (Ubuntu 24.04)
2Подготовка к установке
Перед началом установки выполните следующие подготовительные действия:
- Получите лицензию и URL для скачивания установочного пакета: Инструкции см. в разделе «Скачивание лицензии и установочного пакета».
- Получите вспомогательный скрипт развёртывания: Скачайте install_helper.sh и загрузите его на целевой облачный сервер.
- Подготовьте сетевую среду: Убедитесь, что во время установки облачный сервер имеет доступ к необходимым репозиториям программного обеспечения и URL для скачивания, чтобы инструменты, такие как APT, могли получать пакеты зависимостей и необходимые файлы.
- Проверьте доступность портов: Убедитесь, что порты, необходимые для развёртывания, не заняты другими сервисами. Требования к портам см. в разделе «Требования к сети».
Среда выполнения команд
Войдите на целевой облачный сервер по 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.
Актуальные инструкции по установке в онлайн-руководстве см. в разделе «Запуск мастера установки».