OpenVZ 容器的启动脚本/文件在哪里?

OpenVZ 容器的启动脚本/文件在哪里?

我启动了我的容器,但出现了一些错误。

[xxx@centosbuilder1 etc]$ sudo vzctl start 1011
Starting container...
Container is mounted
Adding IP address(es): 10.0.64.23
cp: cannot stat '/etc/conf.d/netcfg': No such file or directory
/bin/bash: line 593: /etc/conf.d/netcfg: No such file or directory
/bin/bash: line 594: /etc/conf.d/netcfg: No such file or directory
A unit file for profile 'venet0' already exists
Setting CPU units: 1000

如果我创建目录并触摸 netcfg(在客户机中),错误就会消失。

我宁愿修复实际问题。它正在运行什么文件?我希望找到第 593 行并进行调查。

答案1

根据文档,vzctl start触发几个动作脚本运行。然而,实际代码看起来更复杂。我读到的是:

  1. 根据创建容器的模板名称确定容器中运行的发行版。
  2. 挂载容器的文件系统并触发预挂载和挂载操作脚本。
  3. 创建虚拟环境并设置其资源(网络和资源限制)。为此,它运行一些脚本特定于在您的容器中运行的发行版 — — 请参阅/etc/vz/dists/*.conf
  4. 运行预启动和启动脚本。
  5. 运行 init在容器中(/sbin/init/etc/init或之一/bin/init)。

我认为您的错误发生在第 3 步。有关实际运行的脚本的更多信息,请尝试vzctl --verbose --verbose start 1011。如果这些信息仍然不够,您可以尝试strace -f -e file vzctl start 1011

相关内容