司空公有云部署指南

本文介绍在 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 LTSAWS 与 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. 获取授权与安装包下载地址: 具体操作请参见《获取授权文件与安装包》。
  2. 获取部署辅助脚本: 准备 install_helper.shopen in new window 文件,并上传至目标云服务器。
  3. 准备网络环境: 确保云服务器在安装期间可访问所需的软件源及下载地址,以便通过 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 环境请先完成下一节。


4Azure vGPU 驱动配置

本节适用于需要配置 NVIDIA 驱动的 Azure vGPU 实例。其他环境如需使用外部数据盘,可继续前往「章节:外部数据盘挂载」;不使用外部数据盘时可前往「章节:获取与解压安装包」。

请根据实际 vGPU 型号选择适配的 Azure GRID 驱动。驱动选择及安装要求请参见 Microsoft 官方文档:《在 Linux N 系列虚拟机上安装 NVIDIA GPU 驱动》。

操作影响

以下操作包含卸载现有 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 驱动

确认适用于当前实例的驱动下载地址后,执行以下命令。请将 <azure_grid_driver_url> 替换为实际下载地址,并保留两侧引号。

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

下载地址示例:NVIDIA-Linux-x86_64-595.91.07-grid-azure.run。该地址仅作示例,使用前请依据 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外部数据盘挂载

如公有云实例使用外挂的全新空白数据盘,请先完成分区、格式化和挂载,再继续下载安装。完成后,司空安装包的下载、上传、解压、安装及后续使用均应在 /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 中执行安装包下载、上传、解压和安装操作,司空的后续使用数据也应保存在该目录对应的数据盘中。


6获取与解压安装包

完成环境准备后,进入 /fh_data,并选择以下任一方式将司空安装包准备至该目录:

cd /fh_data
  • 在本地计算机下载安装包,然后上传至云服务器的 /fh_data 目录。
  • 使用安装包下载地址,在云服务器的 /fh_data 目录中直接下载。

6.1 使用辅助脚本下载(可选)

部署辅助脚本支持多线程下载。如需使用,请确保辅助脚本位于 /fh_data,然后在该目录执行以下命令:

cd /fh_data
./install_helper.sh download "<package_url>" "<save_filename>"
  • <package_url>:实际安装包下载地址。
  • <save_filename>:安装包在服务器上的保存文件名。

请将占位参数整体替换为实际值,不保留尖括号;保留引号可避免 URL 中的特殊字符或文件名中的空格影响命令执行。

6.2 解压安装包

下载或上传完成后,在 /fh_data 目录执行以下命令,并将占位参数替换为实际文件名:

cd /fh_data
tar xf "<save_filename>"

7安装司空

不同版本的司空可能采用不同的安装流程。请从 /fh_data 下的安装包解压目录启动安装,并根据所使用的安装包版本,查阅对应版本的用户手册完成安装。后续使用产生的数据也应保存在 /fh_data 对应的数据盘中。

当前在线安装步骤可参见文档:《启动可视化部署工具》。