Определить виртуальную машину OpenVZ изнутри
Можно ли как-то определить, в каком контейнере OpenVZ я нахожусь, внутри контейнера? Я работаю над настройкой, где машины OpenVZ должны загружать один и тот же (только для чтения) образ диска, поэтому я не могу настроить их по отдельности в файловой системе. Мне нужен уникальный идентификатор для каждого из виртуальных серверов, который будет использоваться скриптами, работающими внутри контейнеров OpenVZ.
(Я работаю с Debian Lenny, кстати)
2 ответа
Каждый контейнер в хосте OpenVZ имеет уникальный идентификатор контейнера, также известный как его VEID. Внутри контейнера вы должны быть в состоянии прочитать его VEID следующим образом:
awk '{print $1}' /proc/vz/veinfo
Этот идентификатор должен быть постоянным для данного контейнера, так как он связан с контейнером .conf
файл, который настраивает его для OpenVZ.
Моя первая идея заключается в том, что вы можете использовать IP или MAC-адрес каждой виртуальной машины, чтобы различать их и передавать это значение в ваши сценарии.