У меня есть контейнер openvz, который НЕ останавливается с помощью стандартных инструментов vz. Как мне его убить? Я попробовал дестори VZ, но это не сработает.
Спасибо
Стандартный способ решения такой проблемы:
Что ж, есть очень сложная часть ... Вы должны разобраться в процессе инициализации VPS и убить его, см.: http://forum.openvz.org/index.php?t=msg&goto=27976& Но ... На мой взгляд, у вас есть только один вариант - перезапустить HN.
Если VPS завис; посмотрите в свой системный журнал, есть ли какие-либо ошибки ядра, скорее всего, они вызывают "зависания" процессов. Кроме того, посмотрите на user_beancounters этого конкретного VPS. Иногда он зависает при установке / обновлении программного обеспечения, и если VPS не является производственным, оставьте его. Со временем он рассортируется.
стандартные списки vz
- Что это такое? Вы имели ввиду "стандартные инструменты vz" что ли?
Попробуйте (и покажите мне с помощью службы pastebin) vzctl exec VE_NUM ps axf
чтобы увидеть, какие процессы там запущены и каковы их состояния. У меня были аналогичные проблемы с OpenVZ в Debian, но я должен быть уверен, что это именно то, что у меня было.
Я полагаю, вы знаете, что VE-остановка выполняется с помощью vzctl stop
;-)
Это немного жестковато, но лучший способ, который я нашел, чтобы остановить устойчивый контейнер, - это принудительно убить процессы контейнера. Команда vzpid
с помощью grep можно легко найти:
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]
если возникнут какие-либо проблемы, перейдите к файлам блокировки (в моем install / vz / lock) и переименуйте / удалите файл блокировки с именем [CTID] .lck
vzctl start [CTID]
Вуаля, готово.