如何分配虚拟机主机名libvirt虚拟网络接口中的定义

如何分配虚拟机主机名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 地址(手动或在 kickstart 中--mac 52:54:00:2c:01:10 \)时,分配给该 MAC 地址的主机名没有为虚拟机设置。但如果我从 libvirt 文档中理解正确 - 它应该被分配。它与有关吗<dns><forwarder ardr...>?在我的情况下192.168.130.10是使用单独 NAT 桥的 DNSmasq VM 的地址。当然,我可以在 kickstart 文件中分配主机名network --hostname=lb-1.ocp.domain.local,但我想了解,这<host name...>是如何工作的。虚拟机的 IP 地址已正确分配。

答案1

主机成员上的 name 属性不是您想要的。令人困惑的是,正确的方法是使用 DNS 部分而不是 IP 部分。添加 name 属性会使匹配过于严格(尽管我还没有深入研究为什么会发生这种情况),这就是它不适用于您的机器的原因。请尝试以下方法:

<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 - 您只需使用正确的标志从源代码编译它即可。这在文档(该链接指向历史记录中的特定提交 - 未来的读者将希望查看这些文档的最新修订版)。

相关内容