3、环境准备:搭建运维环境,包括操作系统、SSH连接、串口调试、网络配置和常用运维工具安装
算能边缘设备的运维工作与通用服务器运维有显著差异:设备形态多样(从嵌入式模组到盒式整机)、资源受限(CPU/内存/存储均有限)、部署位置分散(可能位于机房、工业现场或户外机柜)。因此,运维环境的搭建必须围绕"轻量、远程、可诊断"三个核心原则展开。本章将系统讲解从操作系统选型到串口调试、网络规划及工具链部署的完整流程,帮助运维人员建立一套可复用的标准化环境。
上图展示了运维环境搭建的整体链路:从操作系统选型开始,依次打通SSH远程连接、串口调试、网络配置,最后部署常用运维工具。整个链路遵循"由底向上、逐层验证"的原则,每一层都是下一层的基础。下面将按照实际操作顺序,逐一展开每个环节的具体实施方法。
3.1 操作系统选型与基础配置
3.1.1 核心原理:为什么选择Ubuntu LTS
算能边缘设备(如SE5、SE7系列)官方支持的操作系统主要为Ubuntu 20.04 LTS和22.04 LTS。选择LTS版本的核心原因有三:一是长达5年的安全更新支持,适合设备长期在线运行;二是算能SDK(如tpu-mlir、sophon-go)对LTS版本的兼容性验证最充分;三是社区资料丰富,遇到问题容易检索到解决方案。对于资源受限的嵌入式模组(如SM5),可选用Ubuntu Server版或精简的Buildroot系统,但运维命令体系需相应调整。
| 对比维度 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS | Buildroot(精简) |
|---|---|---|---|
| 内核版本 | 5.4 | 5.15 | 按需定制 |
| 算能SDK兼容性 | 完全支持 | 完全支持 | 需自行移植 |
| 资源占用(空闲) | 约300MB内存 | 约350MB内存 | 约80MB内存 |
| 适用场景 | 盒式设备、开发调试 | 新部署项目 | 量产嵌入式模组 |
| 运维复杂度 | 低 | 低 | 高(需交叉编译) |
3.1.2 操作流程:系统安装与初始化
以SE7盒式设备为例,系统安装步骤如下:
- 准备Ubuntu 20.04.5 LTS镜像(建议使用官方镜像,避免第三方修改版);
- 使用balenaEtcher或dd命令将镜像写入U盘(容量≥8GB);
- 设备连接显示器和键盘,开机按Del或F2进入BIOS,设置U盘为第一启动项;
- 按提示完成安装,分区建议:
/分配50GB,/data分配剩余空间(用于存放模型和日志); - 安装完成后执行系统更新:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl wget net-tools
3.2 SSH远程连接配置
3.2.1 核心原理:密钥认证优于密码认证
边缘设备通常部署在无人值守环境,SSH是远程运维的主要通道。密码认证存在暴力破解风险,且每次登录需交互输入。密钥认证通过公钥/私钥对实现免密登录,安全性更高(默认禁用密码登录后,暴力破解基本失效)。同时,SSH端口转发功能可安全地暴露设备上的本地服务(如Web管理界面)给远程运维人员。
3.2.2 操作流程:配置密钥认证
# 在运维终端(本地电脑)生成密钥对
ssh-keygen -t ed25519 -C "edge-ops" -f ~/.ssh/edge_key
# 将公钥复制到边缘设备(首次需输入密码)
ssh-copy-id -i ~/.ssh/edge_key.pub user@192.168.1.100
# 测试免密登录
ssh -i ~/.ssh/edge_key user@192.168.1.100
# 在边缘设备上强化SSH配置
sudo vim /etc/ssh/sshd_config
# 修改以下参数:
# PasswordAuthentication no
# PermitRootLogin prohibit-password
# Port 2222(可选,更换默认端口降低扫描风险)
sudo systemctl restart sshd
3.3 串口调试环境搭建
3.3.1 核心原理:串口是最后的保底通道
当网络不可达、SSH无法连接或系统启动异常时,串口是唯一可靠的调试通道。算能设备的串口通常为UART0,采用3.3V TTL电平,默认波特率115200,8数据位、1停止位、无校验(8N1)。串口调试需要USB转TTL模块(如CP2102、CH340),连接时注意TXD/RXD交叉,GND共地。
3.3.2 操作流程:串口连接与验证
# 安装串口工具(以Ubuntu为例)
sudo apt install -y minicom picocom
# 查看串口设备
ls /dev/ttyUSB*
# 使用picocom连接(推荐,支持彩色输出)
sudo picocom -b 115200 /dev/ttyUSB0
# 或使用minicom
sudo minicom -s # 进入配置界面,设置串口设备、波特率
连接成功后,给设备上电,应能看到U-Boot启动日志和内核启动信息。若串口无输出,依次检查:
- USB转TTL模块驱动是否安装(
lsmod | grep ch341或lsmod | grep cp210x); - TXD/RXD是否交叉连接;
- 波特率是否匹配(部分设备使用1500000高速串口);
- 设备是否已进入串口模式(部分设备需拨码开关切换)。
3.4 网络配置与连通性验证
3.4.1 核心原理:静态IP与VLAN规划
边缘设备通常需要固定IP地址以便远程访问。DHCP虽方便,但IP变化会导致运维脚本失效。推荐使用静态IP,并规划独立的运维网段(如192.168.200.0/24),与业务网段隔离。对于多设备场景,建议使用VLAN划分:管理VLAN(VLAN 100)承载SSH和监控流量,业务VLAN(VLAN 200)承载推理服务流量。
3.4.2 操作流程:配置静态IP
# Ubuntu 20.04使用netplan配置网络
sudo vim /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.200.10/24
routes:
- to: default
via: 192.168.200.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
sudo netplan apply
# 验证配置
ip addr show eth0
ping -c 3 192.168.200.1
3.4.3 网络诊断工具组合
| 工具 | 用途 | 常用参数 |
|---|---|---|
| ping | 基础连通性测试 | ping -c 4 -W 2 |
| traceroute | 路由路径追踪 | traceroute -n -T -p 22 |
| nc | 端口连通性测试 | nc -zv 192.168.200.10 22 |
| tcpdump | 抓包分析 | tcpdump -i eth0 port 22 -c 10 |
| iperf3 | 带宽测试 | iperf3 -c server_ip -t 30 |
3.5 常用运维工具安装与配置
3.5.1 核心原理:工具选择原则
边缘设备资源有限,工具安装应遵循"按需安装、轻量优先"原则。优先使用系统自带的sysstat、procps等工具,避免安装重量级监控软件(如Zabbix Agent在资源受限设备上可能占用过多内存)。建议将工具分为三类:基础监控类(htop、iotop、nmon)、网络诊断类(tcpdump、iftop、iperf3)、日志分析类(journalctl、lnav)。
3.5.2 安装命令与验证
# 基础监控工具
sudo apt install -y htop iotop nmon sysstat
# 网络工具
sudo apt install -y tcpdump iftop iperf3 netcat-openbsd
# 日志工具
sudo apt install -y lnav
# 验证安装
htop --version
tcpdump --version
iperf3 --version
# 配置sysstat定时采集(每10分钟采集一次)
sudo sed -i 's/ENABLED="false"/ENABLED="true"/' /etc/default/sysstat
sudo systemctl enable --now sysstat
3.5.3 工具使用场景对照
| 运维场景 | 推荐工具 | 关键指标 |
|---|---|---|
| CPU负载异常 | htop、mpstat | %user、%system、%iowait |
| 内存不足 | free -h、smem | available、cached、buffers |
| 磁盘I/O瓶颈 | iotop、iostat | await、svctm、%util |
| 网络丢包 | ping -f、mtr | loss%、avg、best、worst |
| NPU温度过高 | sophonctl(算能专用) | chip_temp、board_temp |
3.6 案例拆解:从零搭建一台SE7的运维环境
3.6.1 背景与约束
某智慧园区项目新部署一台算能SE7边缘计算盒,需在2小时内完成运维环境搭建。设备预装Ubuntu 20.04系统,但未配置网络和SSH。现场无显示器,仅有运维笔记本电脑(Windows系统)和一根USB转TTL串口线。网络环境为园区办公网,需申请固定IP。
3.6.2 实施过程
- 串口连接(15分钟):使用USB转TTL线连接SE7的调试串口,通过MobaXterm(Windows下支持串口)以115200波特率连接。上电后看到U-Boot日志,确认系统正常启动。
- 临时网络配置(20分钟):在串口终端中,使用
nmtui命令临时配置DHCP获取IP,确认网络连通后,再改为静态IP(192.168.200.15/24)。 - SSH配置(15分钟):在笔记本上生成密钥对,通过串口将公钥写入设备
~/.ssh/authorized_keys,修改sshd_config禁用密码登录,重启sshd服务。 - 工具安装(25分钟):通过SSH执行
apt install安装htop、tcpdump、iperf3等工具,配置sysstat定时采集。 - 验证测试(15分钟):断开串口线,仅通过SSH执行
htop查看系统状态,iperf3测试与服务器带宽(结果:双向均达到900Mbps以上),journalctl -f查看实时日志。
3.6.3 结果与复盘
整个环境搭建耗时1小时30分钟,比计划提前30分钟。关键成功因素:串口作为保底通道发挥了决定性作用(无显示器情况下完成初始配置);密钥认证配置后,后续运维完全无需密码交互;工具安装遵循"最小化"原则,系统空闲内存占用仅增加约80MB。
cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak),并确保串口连接可用作为逃生通道。
3.7 常见误区与总结复盘
3.7.1 常见误区
- 误区一:重装系统后忘记安装算能SDK驱动。重装Ubuntu后,必须重新安装sophon-driver和sophon-libs,否则NPU无法工作。可通过
ls /dev/sophon检查设备节点是否存在。 - 误区二:SSH端口改为非标准端口后忘记防火墙放行。修改SSH端口后,需同步更新ufw或iptables规则,否则外部连接被拦截。
- 误区三:串口调试时波特率设置错误。部分设备支持1500000高速串口,但默认仍为115200。连接前先确认设备文档,或尝试多个波特率。
- 误区四:工具安装过多导致系统盘空间不足。边缘设备存储通常只有16GB-64GB,安装工具前先检查
df -h,避免安装不必要的图形界面或大型软件包。
3.7.2 总结复盘
搭建运维环境的核心目标是建立"多通道、可回退、可诊断"的运维基础。多通道指SSH和串口互为备份;可回退指所有配置修改前保留备份,确保可快速恢复;可诊断指通过sysstat、journalctl等工具留存历史数据,为后续故障分析提供依据。建议运维人员将本章的配置过程整理为标准化脚本(如Ansible playbook),在新设备上线时自动执行,减少人为操作失误。
- 操作系统安装后立即创建系统备份镜像(
tar czf /backup/system_backup.tar.gz /); - SSH密钥认证配置完成后,测试密码登录确实被禁用;
- 串口线缆和USB转TTL模块作为常备工具,随设备存放;
- 网络配置使用静态IP,并在运维文档中记录IP、网关、DNS信息;
- 工具安装记录在案,避免重复安装或版本冲突。