连接性与弹性
边缘设备通常无人值守,往往部署在现场,运行在您无法掌控的家庭或工厂网络中。IronFlock 设备代理的设计目标就是让每台设备保持在线、可远程访问——这样即使设备本身处于压力之下,您也始终能够连接它以诊断和修复问题。
设备代理将远程可达性视为最高优先级。无论本地出现什么问题——网络掉线、磁盘写满、内存耗尽——代理的职责都是保持连接和可管理,而不是悄无声息地从网络中消失。
持续在线的网络连接
DHCP 网络中的无头设备经常遭遇短暂中断:路由器重启、DHCP 租约出现故障、交换机断电重启,或是网线被短暂拔出。
代理会将设备的网络管理器配置为无限期重试连接。默认的操作系统设置往往在几次失败尝试后就放弃,并使接口保持关闭状态,直到有人亲自重启设备。而 IronFlock 设备会持续尝试,直到链路恢复——因此短暂的中断绝不会演变成永久性断连。
当设备确实更换了地址(例如断电后获得新的 DHCP 租约),代理会在重启时重新解析自身的主机详情,从而干净利落地恢复运行,无需人工干预。
在磁盘压力下保持可达
磁盘写满是边缘设备失去响应最常见的原因之一。代理通过三层防护来防范这一情况。
1. 预防
代理对最常导致磁盘写满的两个日志输出——容器日志和系统日志(journal)——进行容量限制,使日常运行不会慢慢耗尽所有可用空间。
2. 自动清理
代理会持续监控可用磁盘空间。随着空间不足,它会安全地自动回收空间——清理未使用的镜像和构建缓存,并裁剪过大的日志。它绝不会删除您的应用所依赖的数据:带标签的镜像和应用卷始终保持原样。
3. 存储空间紧急情况状态
如果在清理后可用空间仍然达到临界,设备会进入存储空间紧急情况状态:
- 应用工作负载会被停止,以立即遏制磁盘占用的进一步增长。
- 新的应用启动、构建和下载会被阻止,从而避免情况进一步恶化。
- 该状态会上报到云端,并在仪表板中作为设备上的醒目标记显示,让您准确了解应用为何没有运行。
- 设备保持在线并可远程管理——您仍然可以打开远程终端并重新配置网络,以排查问题并释放空间。
最重要的特性是:磁盘临界写满会优雅地降级为一个有明确信号、可恢复的状态,而不是让整台设备离线。
自动恢复
代理在紧急情况状态下会频繁检查。一旦释放出足够空间,设备就会自动退出存储空间紧急情况状态,并将您的应用恢复到先前的状态——无需手动重启或重新部署。
您可以在设备设置中查看设备的实时存储使用情况和当前状态。当某项资源接近其上限时,系统资源使用条会变红,在设备达到紧急阈值之前为您提供预警。
经受内存压力
低内存状况可能导致整台设备挂起,恰恰在您需要介入时使其无法访问。IronFlock 设备运行一个内存不足(OOM)保护服务,它会在内存压力下介入,停止单个失控的进程——从而保持代理、远程访问和系统其余部分的存活,而不是让整台设备冻结。
设计上的自愈能力
- 代理作为一个原生系统服务运行,一旦退出便会自动重启,因此设备会自行重新建立连接。
- 它会通过空中下载自我更新,因此连接性和弹性方面的改进无需重新烧录设备即可推送到您的整个设备群。
- 远程访问隧道会在网络中断后自动重连。
为何重要
| 状况 | 没有弹性管理 | 使用 IronFlock 代理 |
|---|---|---|
| 短暂的网络 / DHCP 中断 | 设备保持离线,直到手动重启 | 链路一恢复即自动重连 |
| 磁盘写满 | 设备失去响应且无法访问 | 停止应用,发出存储空间紧急情况信号,保持可达,自动恢复 |
| 内存耗尽 | 整台设备挂起 | 仅停止单个进程;设备保持存活 |
| 代理进程崩溃 | 设备从网络中掉线 | 服务自动重启并重连 |
最终的结果是一个您可以信赖、随时能够访问的设备群——现场无人值守的设备几乎总能被远程访问和恢复,无需到现场处理。