#27329·influxdb

influxdb3-core 在 Rocky Linux 9/10 上无法启动 - systemd InaccessiblePaths 导致 NAMESPACE 错误 标签: bug, systemd, rhel

作者: jackaltx创建于 2026年4月2日更新于 2026年9月10日
标签v3

描述 在 Rocky Linux 9 和 10 (以及可能的 AlmaLinux/RHEL) 上, influxdb3-core 服务无法启动,原因是 systemd 挂载命名空间的权限错误。服务立即崩溃,退出代码为 226/NAMESPACE。 环境 受影响的系统: Rocky Linux 9.x (systemd 252) Rocky Linux 10.x (systemd 257) 可能影响: AlmaLinux, RHEL 9/10 未受影响的系统: Debian 12, Debian 13 Ubuntu 24.04 软件包: influxdb3-core (来自 InfluxData 仓库的最新版本) 症状 服务无法启动,且重复尝试启动时发生崩溃循环: ● influxdb3-core.service - InfluxDB 3 核心 正在运行: 失败 (结果: 退出代码) influxdb3-core.service: 主进程退出,代码为 exited,状态为 226/NAMESPACE 完整日志输出: 2022 年 4 月 2 日 20:52:37 uut-vm (python3)[61188]: 无法将 /run/systemd/inaccessible/sock 挂载到 /run/systemd/mount-rootfs/run/dbus/system_bus_socket: 权限被拒绝 2022 年 4 月 2 日 20:52:37 uut-vm (python3)[61188]: influxdb3-core.service: 无法设置挂载命名空间: /run/dbus/system_bus_socket: 权限被拒绝 2022 年 4 月 2 日 20:52:37 uut-vm (python3)[61188]: influxdb3-core.service: 在步骤 NAMESPACE 中启动 /usr/lib/influxdb3/Python/bin/python3 时失败: 权限被拒绝 根原因 systemd 单元文件包含通过 InaccessiblePaths 进行的安全硬化: InaccessiblePaths=-/run/avahi-daemon -/run/cups -/run/snapd.socket -/run/dbus/system_bus_socket -/run/user 由于 /run/dbus/system_bus_socket 指令,在 RHEL 基础分发版上尝试挂载命名空间隔离时会失败。这似乎是 Debian/Ubuntu 和 RHEL 基础分发版之间的 systemd 行为差异。 Rocky 9 (systemd 252): 具有任何 InaccessiblePaths 条目时都会失败 Rocky 10 (systemd 257): 即使仅删除 dbus 套接字也会失败 SELinux 不是原因 (通过 ausearch 验证 - 没有 AVC 拒绝) 缓解措施 创建一个 systemd 覆盖以移除 InaccessiblePaths: sudo mkdir -p /etc/systemd/system/influxdb3-core.service.d sudo tee /etc/systemd/system/influxdb3-core.service.d/rocky-fix.conf <<'EOF' [Service] # 完全覆盖 InaccessiblePaths 以解决 Rocky 9/10 的挂载命名空间问题 # Rocky 9 (systemd 252) 和 Rocky 10 (systemd 257) 都会失败,其中包含 dbus 套接字 # 删除所有 InaccessiblePaths 以防止 "权限被拒绝" 错误 InaccessiblePaths= EOF sudo systemctl daemon-reload sudo systemd restart influxdb3-core 安全注意: 这会删除文件系统套接字隔离,但保留所有其他硬化措施(NoNewPrivileges, PrivateDevices, ProtectHome, ProtectSystem=strict, RestrictNamespaces, SystemCallFilter 等)。 建议的修复 influxdb3-core RPM 包应包含针对 RHEL 的覆盖,以便在 RHEL 基础系统上预先清除 InaccessiblePaths。 方案 1: 在 RPM 中包含 /usr/lib/systemd/system/influxdb3-core.service.d/rhel.conf: [Service] # …

内容来源: influxdata/influxdb