vzctl start failed [message #51690] |
Fri, 10 October 2014 03:40  |
|
Дистрибутив Gentoo 2010 года (по системе инициализации). Решил его в контейнере запустить. Однако доходит до container is mounted, а дальше: container start failed (try to check kernel messages). Но в сообщениях ничего нет. Для обычной загрузки можно указать: init=/bin/bash А тут такое возможно?
С запуском funtoo проблем нет. После is mounted идёт Adding IP address(es).
PS: тёмное это место -- запуск контейнера. Неотработанное Придётся наверное, исходники vzctl изучать... Да, в консоли ничего не появляется (vzctl console xxx)
|
|
|
Re: vzctl start failed [message #51691 is a reply to message #51690] |
Fri, 10 October 2014 15:00   |
|
Функция vz_env_create, обработка ошибки if (ret > 0) -- отсутствует default case. Поэтому ничего не сообщает пользователю о возникшей проблеме. Почему vz_real_env_create не может создать этот env -- надо опять разбираться. Однако удручает отсутствие диагностических сообщений. vzctl version 4.7 Последняя версия vzctl -- 4.8. Придётся обновляться.
|
|
|
Re: vzctl start failed [message #51692 is a reply to message #51691] |
Fri, 10 October 2014 16:04   |
|
Обновился до 4.8 В скрипте для gentoo /etc/init.d/vz пропущена закрывающая скобка в
[ -n "${VE_PARALLEL}" -a "${VE_PARALLEL" != "0" ] && return
Диагностика ошибки лучше не стала (default case по прежнему отсутствует), что мешает vz_real_env_create выполнить работу -- не понятно.
|
|
|
Re: vzctl start failed [message #51693 is a reply to message #51692] |
Fri, 10 October 2014 16:38   |
|
vz_real_env_create похоже завершается без ошибки (возврашает 0). Но вот
/* Wait for environment created */
close(status_p[1]);
close(wait_p[0]);
if (old_wait_p)
close(old_wait_p[0]);
close(err_p[1]);
ret = read(status_p[0], &errcode, sizeof(errcode));
if (ret > 0) {
ret > 0 и errcode==3
Кто в этот канал записал ошибку -- не нашёл.
|
|
|
Re: vzctl start failed [message #51697 is a reply to message #51693] |
Fri, 10 October 2014 22:46   |
|
Перебрал все места, где возвращается код VZ_SYSTEM_ERROR. Но ни одно не используется в моём случае. Решил игнорировать ошибку -- появились сообщения типа container is not running. В общем, в контейнере отсутствовал каталог /proc. Добавил каталог и контейнер запустился. Однако просмотр исходников в части работы с /proc показал, что выдавать сообщение об ошибке vzctl в этом случае часто не пробует и не проверяет наличие нужных ему каталогов при старте... 
PS: скрипты инициализации gentoo создают данные каталоги при их отсустствии Но ведь до их запуска дело не доходит.
|
|
|
|
|