Реконфигурируйте систему (сеть) во время начальной загрузки на основе информации о HyperV

Я выполняю среду HyperV с сервером Ubuntu 14.04, работающим в гостевых установках поколения 1. Это работает приятно.

Я хочу смочь клонировать систему (в то время как закрыто), дать ей новое имя и иметь новую систему, реконфигурировали себя немного - другой статический IP, другая установка LVS, другая установка Apache2, и т.д. Я делаю это путем копирования по соответствующим конфигурационным файлам (т.е. система имеет несколько копий, она заменяет файлы как/etc/network/interfaces с правильным),

Я не могу найти, что соответствующее место в выскочке делает это. При выполнении его перед локальными файловыми системами файловая система не является доступным чтением-записью. Выполнение его после, например, в if-pre-up.d во время сетевого запуска сталкивается с собственной конфигурацией системы (т.е. я заменяю/etc/network/interfaces после того, как это начало использовать его).

Не желательно иметь его, полностью загружают и запускают скрипт, поскольку это откроется в сети с конфликтом IP, потенциально влияя на родителя этого клона. Таким образом, я хочу сделать это во время начальной загрузки.

Я несколько заставил это работать путем перезагрузки во второй раз от if-pre-up.d, после перемещения файлов, прежде, чем позволять этому заканчивать подходить. Но это кажется немного неправильным по различным причинам, не, наименьшее количество которых это затем останавливается в личинке (или независимо от того, что тот экран начальной загрузки), и требует клавиши ENTER. [Я отправил вопрос на этом в другом месте, если можно помочь с этим, ответьте там.]

Существует ли соответствующее место в последовательности выскочки, что я могу перезаписать файлы сетевого интерфейса (и связанные сервисные файлы как keepaloved, apache2, haproxy) и их обычно обрабатывали?

1
задан 10 October 2014 в 17:48

1 ответ

Я продолжил биться на этом и иметь его работа, хотя это не симпатично.

Я вставил a if-pre-up.d сценарий, и вынул eth0 устройство от /etc/interfaces (который является устройством, которое я хочу настроить).

Затем, когда это стреляет (который может быть многократно), я вручную настраиваю eth0 с IP командными строками (например. ip addr, ip route, и т.д.). Я также записал /etc/resolvconf файл для серверов DNS.

Я добавил строку вначале, которая замечает если eth0 уже настроен и выходит, поэтому если это работает многократно, я только делаю работу однажды. Реализация конфигурации командной строки и отъезда eth0 из /etc/interfaces мешает ему конфликтовать с нормальной конфигурацией eth0.

Это ужасно, но я не мог найти соответствующую точку в выскочке между локальной файловой системой настроенной, но перед конфигурацией сети запущенный. По крайней мере, в теории я мог изменить связанное /etc/init файлы, таким образом, я мог вставить такой шаг, но это кажется хрупким, особенно во время обновлений.

Результат сам конфигурирование гостя, который может работать в Hyper-V, посмотреть на его имя хоста и настроить себя - IP-адреса, другой запуск/файлы конфигурации, и т.д. Таким образом я могу клонировать одну копию многим и получить все виды различных установок, управляемых простым сценарием.

Это работает..., но я был бы верное приветствие лучший ответ.

2
ответ дан 11 November 2019 в 09:31

Другие вопросы по тегам:

Похожие вопросы: