3、环境准备:搭建运维环境,包括操作系统、SSH连接、串口调试、网络配置和常用运维工具安装

算能边缘设备的运维工作与通用服务器运维有显著差异:设备形态多样(从嵌入式模组到盒式整机)、资源受限(CPU/内存/存储均有限)、部署位置分散(可能位于机房、工业现场或户外机柜)。因此,运维环境的搭建必须围绕"轻量、远程、可诊断"三个核心原则展开。本章将系统讲解从操作系统选型到串口调试、网络规划及工具链部署的完整流程,帮助运维人员建立一套可复用的标准化环境。

算能边缘设备运维环境搭建链路 操作系统选型 Ubuntu 20.04 LTS / 22.04 LTS SSH远程连接 密钥认证 + 端口转发 串口调试 UART0 / 波特率115200 网络配置 静态IP / VLAN 常用运维工具集 htop / iotop nmon / sysstat tcpdump / iftop journalctl / dmesg iperf3 运维环境验证流程 ① 系统启动 ② SSH连通 ③ 串口输出 ④ 网络连通 ⑤ 工具验证 验证顺序:先本地后远程,先基础后高级,确保每层可用后再进入下一层

上图展示了运维环境搭建的整体链路:从操作系统选型开始,依次打通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 LTSUbuntu 22.04 LTSBuildroot(精简)
内核版本5.45.15按需定制
算能SDK兼容性完全支持完全支持需自行移植
资源占用(空闲)约300MB内存约350MB内存约80MB内存
适用场景盒式设备、开发调试新部署项目量产嵌入式模组
运维复杂度低低高(需交叉编译)

3.1.2 操作流程:系统安装与初始化

以SE7盒式设备为例,系统安装步骤如下:

  1. 准备Ubuntu 20.04.5 LTS镜像(建议使用官方镜像,避免第三方修改版);
  2. 使用balenaEtcher或dd命令将镜像写入U盘(容量≥8GB);
  3. 设备连接显示器和键盘,开机按Del或F2进入BIOS,设置U盘为第一启动项;
  4. 按提示完成安装,分区建议:/分配50GB,/data分配剩余空间(用于存放模型和日志);
  5. 安装完成后执行系统更新:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl wget net-tools
经验提醒:对于已预装系统的设备,建议先备份原厂系统(使用dd或tar),再进行任何修改。算能设备出厂时通常带有定制内核,直接重装通用Ubuntu可能导致NPU驱动无法加载。

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
风险提示:修改SSH配置前务必确认密钥认证已生效,否则断开连接后将无法登录。建议先保持当前会话不退出,另开一个终端测试新配置,确认无误后再关闭旧会话。

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高速串口);
  • 设备是否已进入串口模式(部分设备需拨码开关切换)。
实战场景:某现场设备网络中断,运维人员无法通过SSH登录。通过串口连接后,发现系统卡在挂载NFS阶段(/etc/fstab中配置了不可达的NFS服务器)。在串口终端进入emergency模式,注释掉相关行后重启,系统恢复正常。整个过程耗时不到10分钟,而如果等待网络恢复可能需要数小时。

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、smemavailable、cached、buffers
磁盘I/O瓶颈iotop、iostatawait、svctm、%util
网络丢包ping -f、mtrloss%、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 实施过程

  1. 串口连接(15分钟):使用USB转TTL线连接SE7的调试串口,通过MobaXterm(Windows下支持串口)以115200波特率连接。上电后看到U-Boot日志,确认系统正常启动。
  2. 临时网络配置(20分钟):在串口终端中,使用nmtui命令临时配置DHCP获取IP,确认网络连通后,再改为静态IP(192.168.200.15/24)。
  3. SSH配置(15分钟):在笔记本上生成密钥对,通过串口将公钥写入设备~/.ssh/authorized_keys,修改sshd_config禁用密码登录,重启sshd服务。
  4. 工具安装(25分钟):通过SSH执行apt install安装htop、tcpdump、iperf3等工具,配置sysstat定时采集。
  5. 验证测试(15分钟):断开串口线,仅通过SSH执行htop查看系统状态,iperf3测试与服务器带宽(结果:双向均达到900Mbps以上),journalctl -f查看实时日志。

3.6.3 结果与复盘

整个环境搭建耗时1小时30分钟,比计划提前30分钟。关键成功因素:串口作为保底通道发挥了决定性作用(无显示器情况下完成初始配置);密钥认证配置后,后续运维完全无需密码交互;工具安装遵循"最小化"原则,系统空闲内存占用仅增加约80MB。

风险与代价:在配置静态IP时,曾因网关地址错误导致网络中断,通过串口回退配置后恢复。建议修改网络配置前,先备份原配置文件(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),在新设备上线时自动执行,减少人为操作失误。

最佳实践清单:
  1. 操作系统安装后立即创建系统备份镜像(tar czf /backup/system_backup.tar.gz /);
  2. SSH密钥认证配置完成后,测试密码登录确实被禁用;
  3. 串口线缆和USB转TTL模块作为常备工具,随设备存放;
  4. 网络配置使用静态IP,并在运维文档中记录IP、网关、DNS信息;
  5. 工具安装记录在案,避免重复安装或版本冲突。