停止一个不可阻挡的openvz容器

我有一个openvz容器,不停止使用标准的vz工具。 我怎么能杀死它? 我尝试了一个VZ destory,但不会工作。

谢谢

那么有一个非常棘手的部分…你必须理清VPS的初始化过程,并杀死它,见: http : //forum.openvz.org/index.php?t=msg&goto=27976&但..在我看来,你只有一个select,那就是重启HN。

如果一个VPS得到了冰霜; 看看你的系统日志,如果有任何内核哎呀,很可能导致进程“挂起”。 再看看那个特定VPS的user_beancounters。 有时它会在安装/升级软件时挂起,如果VPS不是生产版本,请将其保留。 它会及时sorting。

解决这个问题的标准方法是这样的:

  1. 使用如下命令查找所有容器进程: https : //gist.github.com/pavel-odintsov/3e7351ba4ceca33b8cc6
  2. 使用kill -9手动杀死所有容器进程
  3. 如果某个进程无法被终止,请检查有关硬件错误的dmesg(在大多数情况下,它与磁盘或其他I / O错误有关)
  4. 获取strace -f -p PID / lsof -p和ps aux | grep PID,并将其发送到bugzilla.openvz.org,但它是bug
  5. 升级到最新的OpenVZ内核和用户空间,因为许多类似效果的bug已经修复。
  6. 现在使用shutdown -r重新启动服务器

标准的vz列表

– 那是什么? 你的意思是“标准vz工具”还是什么?

尝试(并显示我一些pastebin服务) vzctl exec VE_NUM ps axf看看哪些进程在那里运行,他们的状态是什么。 我在Debian上也遇到了与OpenVZ类似的问题,但我需要确定这正是我所拥有的。

我假设你知道VE停止是用vzctl stop 😉

这有点苛刻,但是我发现阻止一个顽固的容器的最好办法是强行杀死容器的进程。 命令vzpid与grep可以很容易find:

 ps ax | awk '{print $1}' | xargs vzpid | grep <container ID> | awk '{print $1}' | xargs kill -9 

现在,当你运行一个vzlist -a它应该显示容器为“已停止”。 比重新启动HN imo更好。

 vzctl chkpnt CTID --kill killing... 

它的(大部分时间)如此简单:

 vzctl stop [CTID] 

如果发生任何问题,请进入locking文件(位于我的install / vz / lock),并重命名/删除名为[CTID] .lck的locking文件

 vzctl start [CTID] 

瞧,你做完了。