Como atribuir o nome do host da VM pordefinição na interface de rede virtual libvirt

Como atribuir o nome do host da VM pordefinição na interface de rede virtual libvirt

Host da estação de trabalho Fedora 30, convidados do servidor Fedora 30 (netinstall). Eu não sou um especialista em todas essas coisas malucas de redes Linux e leio uma tonelada de materiais aqui e ali. Então eu tenho a interface de rede virtual 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>

mas quando eu crio novas VMs e atribuo o endereço MAC correto à interface de rede (manualmente ou no kickstart --mac 52:54:00:2c:01:10 \), o nome do host atribuído a esse endereço MAC não está definido para a VM. Mas se entendi direito na documentação da libvirt - ela deveria ser atribuída. Está relacionado com <dns><forwarder ardr...>? No meu caso, 192.168.130.10é um endereço de DNSmasq VM que usa uma ponte NAT separada. Claro, posso atribuir o nome do host no arquivo kickstart network --hostname=lb-1.ocp.domain.local, mas quero entender como isso <host name...>funciona. O endereço IP da VM foi atribuído corretamente.

Responder1

O atributo name nos membros do host não é o que você deseja. Surpreendentemente, a maneira correta de fazer isso é usar a seção DNS em vez da seção IP. Adicionar o atributo name torna a correspondência muito restritiva (embora eu não tenha investigado exatamente por que isso acontece), e é por isso que não se aplica às suas máquinas. Em vez disso, tente algo assim:

<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>

E como posso ver que você está tentando instalar o OpenShift, também acrescentarei que você não precisa fazer essa configuração manualmente. O instalador suporta libvirt - você só precisa compilá-lo a partir do código-fonte com o sinalizador correto. Isso é abordado emos documentos(esse link é para um commit específico na história - futuros leitores vão querer dar uma olhada na última revisão desses documentos).

informação relacionada