Как назначить имя хоста ВМ по определению в виртуальном сетевом интерфейсе libvirt

Хост рабочей станции Fedora 30, сервер Fedora 30 (netinstall) Гости. Я не являюсь экспертом во всех этих сумасшедших сетевых штуках с Linux и не читаю кучу материалов тут и там. Итак, у меня есть виртуальный сетевой интерфейс libvirt:

<network>
  <name>ocp-cluster</name>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr-ocpc' stp='on' delay='0'/>
  <mac address='52:54:00:2c:01:00'/>
  <domain name='ocp.domain.local' localOnly='no'/>
  <dns>
    <forwarder addr='192.168.130.10'/>
  </dns>
  <ip address='192.168.131.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.131.50' end='192.168.131.254'/>
      <host mac='52:54:00:2c:01:10' name='lb-1.ocp.domain.local' ip='192.168.131.10'/>
      <host mac='52:54:00:2c:01:11' name='bootstrap.ocp.domain.local' ip='192.168.131.11'/>
      <host mac='52:54:00:2c:01:12' name='master-1.ocp.domain.local' ip='192.168.131.12'/>
      <host mac='52:54:00:2c:01:13' name='worker-1.ocp.domain.local' ip='192.168.131.13'/>
    </dhcp>
  </ip>
</network>

, но когда я создаю новые виртуальные машины и назначаю правильный MAC-адрес сетевому интерфейсу (вручную или в кикстарте - mac 52: 54: 00: 2c: 01: 10 \ ]), имя хоста, назначенное этому MAC-адресу, не задано для виртуальной машины. Но если я правильно понял из документации libvirt - назначать надо. Связано ли это с ? В моем случае 192.168.130.10 - это адрес виртуальной машины DNSmasq, которая использует отдельный мост NAT. Конечно, я могу назначить имя хоста в файле кикстарта network --hostname = lb-1.ocp.domain.local , но я хочу понять, как это <имя хоста ...> вещь работает. IP-адрес для ВМ назначен правильно.

1
задан 21 July 2019 в 22:37
1 ответ

Атрибут name в членах узла не тот, что вам нужен. Как ни странно, правильный способ сделать это — использовать раздел DNS вместо раздела IP. Добавление атрибута имени делает соответствие слишком ограничительным (хотя я не вникал, почему именно это происходит), поэтому он не применялся к вашим машинам. Вместо этого попробуйте что-то вроде этого:

<network>
  ...
  <dns>
    <host ip='192.168.131.10'>
      <hostname>lb-1.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.11'>
      <hostname>bootstrap.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.12'>
      <hostname>master-1.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.13'>
      <hostname>worker-1.ocp.domain.local</hostname>
    </host>
  </dns>
  <ip address='192.168.131.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.131.50' end='192.168.131.254'/>
      <host mac='52:54:00:2c:01:10' ip='192.168.131.10'/>
      <host mac='52:54:00:2c:01:11' ip='192.168.131.11'/>
      <host mac='52:54:00:2c:01:12' ip='192.168.131.12'/>
      <host mac='52:54:00:2c:01:13' ip='192.168.131.13'/>
    </dhcp>
  </ip>
</network>

И поскольку я вижу, что вы пытаетесь установить OpenShift, я также добавлю, что вам не нужно выполнять эту настройку вручную. Установщик поддерживает libvirt — вам просто нужно скомпилировать его из исходников с правильным флагом. Это описано в документах (эта ссылка указывает на конкретную фиксацию в истории — будущие читатели захотят просмотреть последнюю версию этих документов).

3
ответ дан 18 June 2020 в 17:28

Теги

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