问题描述
我正在运行一个 systemd nspawn 容器,并注意到许多内置的 systemd 服务处于失败状态。经过调查,我发现失败的服务都在使用PrivateNetwork=yes
。查看服务的日志,该服务似乎未能创建 PrivateNetwork
指令请求的网络命名空间。
我尝试将 Capabilities=all
授予我的 nspawn 容器,但仍然遇到相同的问题。
Nspawn 容器配置:
[Exec]
Boot=true
ResolvConf=off
Timezone=off
[Files]
Bind=/usr/bin/qemu-arm-static
PrivateUsersChown=true
[Network]
VirtualEthernet=false
这是一个显示问题的示例 systemd 单元:
[Unit]
Description=Test
[Service]
ExecStart=/usr/bin/sleep infinity
PrivateNetwork=yes
这是我尝试在 nspawn 容器中运行上述单元后 systemctl status
的输出:
x example.service - Test
Loaded: loaded (/etc/systemd/system/example.service; static)
Active: failed (Result: exit-code) since Fri 2021-04-02 18:36:31 PDT; 3s ago
Process: 414 ExecStart=/usr/bin/sleep infinity (code=exited,status=225/NETWORK)
Main PID: 414 (code=exited,status=225/NETWORK)
Apr 02 18:36:31 panamint systemd[1]: Started Test.
Apr 02 18:36:31 panamint systemd[414]: example.service: Failed to set up network namespacing: Input/output error
Apr 02 18:36:31 panamint systemd[414]: example.service: Failed at step NETWORK spawning /usr/bin/sleep: Input/output error
Apr 02 18:36:31 panamint systemd[1]: example.service: Main process exited,code=exited,status=225/NETWORK
Apr 02 18:36:31 panamint systemd[1]: example.service: Failed with result 'exit-code'.
主机操作系统是运行 systemd 248 的 arch linux 5.11.11,来宾是运行 qemu 仿真和 systemd 版本 248 的 arch linux ARM 5.10.25。
关于如何在 nspawn 容器中运行私有网络的任何建议?谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)