У нас в компании два nameserver'а, оба доступны по IP или имени. Сегодня я немного поработал с этими nameserver'ами и пришлось их несколько раз перезагружать, были более длительные простои, но один из серверов всегда был доступен. Хотя я думал, что такая конфигурация с двумя nameserver'ами избыточна, и раньше проблем с ней не было, возникли некоторые проблемы
. На наших кластерах PVE оба nameserver'а хранятся в /etc/resolv.conf. Если второй nameserver офлайн, всё нормально, но если недоступен первый nameserver в списке, разрешение имён на кластере стало каким-то проблематичным. Работало после таймаута при запросе к первому серверу, но некоторые вещи начинали выдавать таймауты, например, репликационные задания. Мы используем systemd resolver на наших VM, и там нет проблем, если один из nameserver'ов недоступен, и теперь я думаю, можно ли установить и настроить systemd resolver также на узлах нашего кластера PVE. Кто-нибудь это делал и как это работает? Может ли это вызвать проблемы, например, при обновлении кластера? Есть ли ещё что-то, что можно сделать, чтобы убедиться, что разрешение имён будет работать лучше, если первый nameserver в resolv.conf недоступен? Другой вопрос связан с конфигурацией наших виртуальных машин. В каждом файле конфигурации, хранящемся в /etc/pve/qemu, есть настройка nameserver'а, например: nameserver: 10.10.10.2 Где и когда используется эта настройка? Я знаю, что этот nameserver используется после клонирования шаблона и при первом запуске VM, но используется ли он также, если для VM используются DHCP-адреса? Обычно процедура настройки новых VM у нас выглядит следующим образом:
#1 Клонируем новую VM из шаблона.
#2 Настраиваем фиксированный IP-адрес для новой VM и делаем другие вещи, связанные с конфигурацией VM.
#3 Запускаем VM в первый раз. В этот момент используется nameserver из конфигурации VM.
#4 Используем cloud-init для выполнения начальной конфигурации VM. В этот момент cloud-init не работает, например, при загрузке пакетов, если nameserver недоступен.
#5 Перезагружаем VM.
#6 Делаем остальную конфигурацию через ansible. Здесь я настраиваю оба nameserver’а и systemd resolver. Проблема в #4. Мы не используем сетевую конфигурацию cloud-init, но не стоит ли создать такую конфигурацию, чтобы предоставить VM настройки IP и настроить оба nameserver’а? Возможно ли настроить список nameserver’ов в файле конфигурации VM или можно настроить только один nameserver? Как вы настраиваете ваши nameserver’ы? Какие лучшие практики для разрешения имён в кластерах PVE и VM, работающих на таких кластерах? Является ли наилучшим решением использовать load balancer перед нашими разными nameserver’ами и настроить IP-адрес load balancer’а на наших системах вместо различных IP-адресов nameserver’ов?
. На наших кластерах PVE оба nameserver'а хранятся в /etc/resolv.conf. Если второй nameserver офлайн, всё нормально, но если недоступен первый nameserver в списке, разрешение имён на кластере стало каким-то проблематичным. Работало после таймаута при запросе к первому серверу, но некоторые вещи начинали выдавать таймауты, например, репликационные задания. Мы используем systemd resolver на наших VM, и там нет проблем, если один из nameserver'ов недоступен, и теперь я думаю, можно ли установить и настроить systemd resolver также на узлах нашего кластера PVE. Кто-нибудь это делал и как это работает? Может ли это вызвать проблемы, например, при обновлении кластера? Есть ли ещё что-то, что можно сделать, чтобы убедиться, что разрешение имён будет работать лучше, если первый nameserver в resolv.conf недоступен? Другой вопрос связан с конфигурацией наших виртуальных машин. В каждом файле конфигурации, хранящемся в /etc/pve/qemu, есть настройка nameserver'а, например: nameserver: 10.10.10.2 Где и когда используется эта настройка? Я знаю, что этот nameserver используется после клонирования шаблона и при первом запуске VM, но используется ли он также, если для VM используются DHCP-адреса? Обычно процедура настройки новых VM у нас выглядит следующим образом:#1 Клонируем новую VM из шаблона.
#2 Настраиваем фиксированный IP-адрес для новой VM и делаем другие вещи, связанные с конфигурацией VM.
#3 Запускаем VM в первый раз. В этот момент используется nameserver из конфигурации VM.
#4 Используем cloud-init для выполнения начальной конфигурации VM. В этот момент cloud-init не работает, например, при загрузке пакетов, если nameserver недоступен.
#5 Перезагружаем VM.
#6 Делаем остальную конфигурацию через ansible. Здесь я настраиваю оба nameserver’а и systemd resolver. Проблема в #4. Мы не используем сетевую конфигурацию cloud-init, но не стоит ли создать такую конфигурацию, чтобы предоставить VM настройки IP и настроить оба nameserver’а? Возможно ли настроить список nameserver’ов в файле конфигурации VM или можно настроить только один nameserver? Как вы настраиваете ваши nameserver’ы? Какие лучшие практики для разрешения имён в кластерах PVE и VM, работающих на таких кластерах? Является ли наилучшим решением использовать load balancer перед нашими разными nameserver’ами и настроить IP-адрес load balancer’а на наших системах вместо различных IP-адресов nameserver’ов?
