司空公有云部署指南
本文介绍在 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安装前准备
开始安装前,请完成以下准备工作:
- 获取授权与安装包下载地址: 具体操作请参见《获取授权文件与安装包》。
- 获取部署辅助脚本: 准备 install_helper.sh 文件,并上传至目标云服务器。
- 准备网络环境: 确保云服务器在安装期间可访问所需的软件源及下载地址,以便通过 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 环境请先完成下一节。
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 对应的数据盘中。
当前在线安装步骤可参见文档:《启动可视化部署工具》。