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