移动云计算libvirt网络

在构建 移动云架构 ARM架构的 Asahi Linux ,除了需要手工部署 移动云计算libvirt LVM卷管理存储池 还需要构建一个连接在 Asahi Linux 无线网络libvirt 网络。由于libvirt网路限制,只能选择 libvirt NAT型网络

NAT网络

默认的 libvirt 已经构建了一个NAT网络:

virsh net-list --all

可以看到:

 Name      State      Autostart   Persistent
----------------------------------------------
 default   inactive   no          yes

启动这个默认网络:

virsh net-start default

设置NAT网络自动启动:

virsh net-autostart default

此时使用 brctl show 可以看到:

bridge name     bridge id               STP enabled     interfaces
...
virbr0          8000.525400810f5a       yes

备注

为了能够方便对外服务,我原本想构建 libvirt 网桥型网络 ,但是Apple Macbook Pro笔记本默认没有有线以太网卡,通常只能通过无线网络连接外部。这就带来一个问题, libvirt_bridge_network 只支持有线网络。

然而, libvirt 路由型网络 虽然支持无线网络,但是需要准备一批IP地址预分配给虚拟机(相当于虚拟机直连局域网),并不适合我的模拟环境(因为我不能控制局域网IP地址分配)。所以,最终我还是只采用NAT网络。

固定IP地址

对于 移动云架构 ,虚拟机需要采用固定的IP地址,所以需要调整 libvirtDNSmasq 采用规划的IP地址段以及让出固定IP地址不用于DHCP: 方法类似 Studio环境libvirt静态分配IP

  • 调整libvirt的地址段: 改成 192.168.8.x

  • 调整libvirt的DHCP地址分配: 只分配 192.168.8.2~192.168.8.50

NAT网络也就是 default virtual network ,首先检查 libvirt 网络:

virsh net-list检查网络
virsh net-list --all

输出显示:

virsh net-list检查网络,当先default网络已激活
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes
  • 修改 default 网络:

virsh net-edit修改默认网络配置
virsh net-etit default

默认配置如下:

virsh 默认网络的配置
<network>
  <name>default</name>
  <uuid>5630172d-49d2-460a-87e7-eb6ceb267c2f</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:81:0f:5a'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

修订成:

virsh 默认网络的配置修改IP段及网关地址
<network>
  <name>default</name>
  <uuid>5630172d-49d2-460a-87e7-eb6ceb267c2f</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:81:0f:5a'/>
  <ip address='192.168.8.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.8.2' end='192.168.8.50'/>
    </dhcp>
  </ip>
</network>
  • 重新生成libvirt default NAT网络:

virsh 重建默认网络
virsh net-destroy default
virsh net-start default

然后需要重启虚拟机重联网络,或者重新将虚拟机网络连接:

brctl addif virbr0 vnet0
brctl addif virbr0 vnet1
...

备注

ARM移动云的虚拟机部署 采用静态IP地址

参考