Назад | Перейти на главную страницу

Где находится сценарий / файл запуска для контейнера 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 и исследовать.

Согласно документации, 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.