为KVM虚拟机创建网络

在安装KVM虚拟机的时候,如果不指定network,会采用默认的网络default,如果没有default则会报出错误。我们通过

virsh net-list来查看当前的网络

如果default不存在我们需要自己编写一个default.xml文件,根据位置在/etc/libvirt/qemu/networks/default.xml的文件编写my-net.xml

<!--
     WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>my-net</name>
  <uuid>57df750e-4d32-4c60-a9d4-e665ecaa50fd</uuid>
  <forward mode='nat'/>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:5d:02:81'/>
  <ip address='192.122.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.122.122.2' end='192.122.122.254'/>
    </dhcp>
  </ip>
</network>

然后启动这个network(不用手动创建新的网桥virbr1,这个网桥会自动创建)

virsh net-define my-net.xml

此时这个network还没有激活,使用virsh net-list看不到,需要使用virsh net-list --all才能够看到

激活自定义网络

virsh net-start my-net

设置为自动启动

virsh net-autostart my-net

然后我们能够在ip a中看到出现一个新的虚拟网卡virbr1

如果我们启动虚拟机需要使用自定义的网络,可以在虚拟机的配置文件中修改network配置项,使用我们的自定义网络作为虚拟机的默认网络

可能的错误:

1. 如果在net-start的过程中出现了如下错误

error: Failed to start network inner

error: internal error: Child process (VIR_BRIDGE_NAME=virbr1 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/inner.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper) unexpected exit status 5:

dnsmasq: failed to create inotify: Too many open files

可以尝试增大系统的fs.inotify.max_user_instances值

sysctl -w fs.inotify.max_user_instances=1024

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aolitianya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值