QEMU虚拟网络.md

概述

virt-manager 管理下会有虚拟网络的概念

虚拟网络 NAT、桥接设备、 MACV 桥接设备

默认 default 虚拟网络 xml

1
2
3
4
5
6
7
8
9
10
11
12
<network>
<name>default</name>
<uuid>00000000-0000-0000-0000-000000000000</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:48:3f:0c'/>
<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>

生命周期

QEMU 虚拟网络的生命周期涉及几个阶段,从定义、启动、使用、销毁到删除。virsh net 命令用于管理虚拟网络,在每个生命周期阶段有不同的操作。下面是 QEMU 虚拟网络生命周期的主要步骤,以及 virsh net 命令在其中的作用。

QEMU 虚拟网络生命周期阶段

  1. 定义网络(Define Network):使用 virsh net-define 定义一个虚拟网络,创建一个 XML 配置文件并加载到 libvirt 配置中。
  2. 启动网络(Start Network):使用 virsh net-start 启动网络,激活虚拟网络,使其可以与虚拟机通信。
  3. 使用网络(Use Network):网络已经启动,可以在虚拟机中配置该网络接口。
  4. 停止网络(Stop Network):使用 virsh net-destroy 停止网络,不再为虚拟机提供网络服务,但网络配置仍然存在。
  5. 删除网络(Undefine Network):使用 virsh net-undefine 删除网络配置文件,清除网络配置。

QEMU 虚拟网络生命周期图

以下是使用 Mermaid 图表示的 QEMU 虚拟网络生命周期:

graph LR
    A[Define Network] --> B[Start Network]
    B --> C[Use Network]
    C --> D[Stop Network]
    D --> E[Undefine Network]

    A --> F[virsh net-define <network>.xml]
    B --> G[virsh net-start <network>]
    C --> H[Virtual Machine Using the Network]
    D --> I[virsh net-destroy <network>]
    E --> J[virsh net-undefine <network>]

    
    style B fill:#1E90FF,stroke:#333,stroke-width:2px;
    style C fill:#1E90FF,stroke:#333,stroke-width:2px;
    style H fill:#1E90FF,stroke:#333,stroke-width:2px;
    

解释

  1. Define Network:

    • 你可以使用 virsh net-define 来定义一个新的虚拟网络。它将一个网络配置文件(XML 格式)加载到 libvirt 中,并使其准备就绪。
    1
    virsh net-define /path/to/network.xml
  2. Start Network:

    • 使用 virsh net-start 启动网络,使其处于活动状态,允许虚拟机通过该网络通信。
    1
    virsh net-start <network_name>
  3. Use Network:

    • 启动后的网络可以在虚拟机中作为网络接口使用。你可以在虚拟机的配置中指定该网络,或者通过桥接等方式将虚拟机连接到网络。
  4. Stop Network:

    • 使用 virsh net-destroy 来停止网络,使其不再为虚拟机提供网络连接服务,但网络的定义仍然存在。
    1
    virsh net-destroy <network_name>
  5. Undefine Network:

    • 使用 virsh net-undefine 来删除网络的定义,包括其配置文件。
    1
    virsh net-undefine <network_name>

QEMU虚拟网络.md
https://abrance.github.io/2024/11/14/mdstorage/domain/虚拟化/QEMU虚拟网络/
Author
xiaoy
Posted on
November 14, 2024
Licensed under