Re: Вычищаются виртуальные интерфейсы (алиасы) при стар [message #1766 is a reply to message #1762] |
Thu, 23 February 2006 11:38 ![Go to previous message Go to previous message](/theme/ovz3/images/up.png) |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
Очень простая причина.
Во-первых, в документации написано, что IP-адреса, назначенные внутри самой виртуальной машине, но НЕ прописанные в *.conf, являются локальными внутри виртуальной машины. По-моему, очень разумное и ожидаемое поведение.
Во-вторых, я вчера занимался тем, что взял все содержимое сильно нагруженной реальной машины (там был хостинг, примерно 900 аккаунтов), со старинным линуксом и эклектичными настройками, и просто скопировал ее внутрь новой openvz-виртуальной машины. При этом все, за исключением квот ( http://forum.openvz.org/index.php?t=tree&th=140&mid= 1767) и IP-адресов заработало (и это несмотря на различие архитектур - i386 против x86_64, и различие ядер - 2.4 против 2.6; о чудо!). После того, как я поставил chattr +i на файлы /etc/sysconfig/network-scripts/venet0:*, заработали и IP-адреса. Но - я не хочу их привязывать к реальному интерфейсу, потому что пока запустил все в тестовом режиме, и рядом по-прежнему стоит "старая" машина. Если бы я сделал адреса публичными, то был бы конфликт со стоящим рядом хостом, который я пока отключать не хочу.
Как Вы понимаете, менять адреса внутри виртуальной машине я не могу, потому что это был бы: а) нечистый эксперимент, и б) я уже не помню, в скольких конфигах за них идет завязка. Соответственно, приватные адреса (на время теста) - очень удобная штука.
Могу еще поделиться одной мыслью. Мне, когда я делал систему поддержки виртуальных хостов в Денвере (http://denwer.ru), пришлось писать скрипт, добавляющий/удаляющий записи из C:\windows\system32\drivers\etc\hosts. Так вот, чтобы не было конфликтов с "ручной" правкой этого файла, я поступал следующим образом: при перезапуске вычищал из hosts не ВСЕ, а только те записи, которые сам же скрипт туда добавил В ПРОШЛЫЙ раз. Т.е. получается так: "вычищаем то, что в прошлый раз сами и нагадили". В применении к скриптам openvz такой метод тоже сработал бы: при изменении venet0:* - запоминать, какие именно файлы создавались, а при перезапуске - только их и удалять, не трогая все остальные. Но это, правда, более сложно; буквенные алиасы помогли бы (или даже наоборот сделать: чтобы скрипты openvz создавали файлы "venet0:vz123", и удаляли только "venet0:vz*"; так было бы даже удобнее, пожалуй).
[Updated on: Thu, 23 February 2006 11:45] Report message to a moderator
|
|
|