【发布时间】:2022-08-05 16:59:10
【问题描述】:
将我们的边缘设备升级到最新的 iot-edge 版本(1.3.0)后,edgeAgent 容器拒绝启动。这反过来又使设备完全变砖。唯一的选择是修剪代理容器 + 图像,以便它再次恢复到旧版本。
任何人都经历过类似的事情或对如何解决这个问题有建议?
老情况:
Amd64 硬件上的 Ubuntu 18.04 服务器
IotEdge 运行时版本:1.2.7
azureiotedge-hub:1.2.8
azureiotedge 代理:1.2.8
运行我们的模块没有问题。
新情况:
IotEdge 运行时版本:1.3.0
azureiotedge 代理:1.3.0
azureiotedge:hub:1.2.8(edgeAgent 在升级到 1.3.0 之前崩溃)
怎么了:
将 iotEdge 运行时升级到 1.3.0 后一切正常。发布新的 iotedge-agent 软件后问题开始出现。将新清单部署到设备后,正在下载并启动 azureiotedge-agent:1.3.0。它崩溃是因为服务无法访问绑定到主机的存储文件夹 (/iotedge/storage/edgeAgent)。
我可以按照更新后的\'agentStart.sh\' script 中的步骤操作:
- 我看到在主机上创建了一个 UID 为 13622 的用户 \'edgeagentuser\'。
- 存储目录和管理套接字的所有权正在更改为 \'13622\'。
- Edge 代理服务 dll 正在启动并崩溃。
日志
iotedge check 仅显示 DNS 服务器警告。除此之外的一切都是“绿色的”。
iotEdgeAgent 容器日志
2022-07-19 08:23:29 Starting Edge Agent
2022-07-19 08:23:29 Changing ownership of storage folder: /iotedge/storage//edgeAgent to 13622
2022-07-19 08:23:29 Changing ownership of management socket: /var/run/iotedge/mgmt.sock
2022-07-19 08:23:29 Completed necessary setup. Starting Edge Agent.
2022-07-19 08:23:29.368 +00:00 Edge Agent Main()
<6> 2022-07-19 08:23:29.935 +00:00 [INF] - Initializing Edge Agent.
<6> 2022-07-19 08:23:30.473 +00:00 [INF] - Version - 1.3.0.57041647 (b022069058d21deb30c7760c4e384b637694f464)
<6> 2022-07-19 08:23:30.475 +00:00 [INF] -
[excluded the ASCII art]
<0> 2022-07-19 08:23:30.527 +00:00 [FTL] - Fatal error reading the Agent\'s configuration.
System.UnauthorizedAccessException: Access to the path \'/iotedge/storage/edgeAgent\' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at System.IO.FileSystem.CreateDirectory(String fullPath)
at System.IO.Directory.CreateDirectory(String path)
at Microsoft.Azure.Devices.Edge.Agent.Service.Program.GetOrCreateDirectoryPath(String baseDirectoryPath, String directoryName) in /mnt/vss/_work/1/s/edge-agent/src/Microsoft.Azure.Devices.Edge.Agent.Service/Program.cs:line 361
at Microsoft.Azure.Devices.Edge.Agent.Service.Program.MainAsync(IConfiguration configuration)
标签: azure-iot-edge