openEuler虚拟机创建与桥接配置

openEuler虚拟机创建与桥接配置

0.前言

本文档介绍了如何在aarch64架构的Linux系统中使用virt-managerqemu工具创建openEuler虚拟机,并配置桥接网络,使其能够接入物理网络。

1.环境准备

安装virt-manager

sudo apt install virt-manager

确保libvirt服务已启动:

sudo systemctl enable --now libvirtd

在openEuler官网下载ISO镜像。下载地址:[openEuler下载](https://www.openeuler.org/zh/download/#openEuler 22.03 LTS SP4)。

2.镜像制作

创建虚拟磁盘镜像:

qemu-img create -f qcow2 openEuler-image.qcow2 40G

qcow2是一种支持动态扩展的磁盘格式,可以根据实际使用情况动态分配空间。

复制镜像到指定目录

sudo cp openEuler-image.qcow2 /var/lib/libvirt/images/openEuler-001.qcow2

准备UEFI启动文件:

sudo cp /usr/share/AAVMF/AAVMF_VARS.fd /var/lib/libvirt/qemu/nvram/openEuler-001_VARS.fd

AAVMF_VARS.fs固件由virt-manager安装得到。

创建qemu-kvm的符号链接:

sudo ln -s $(which qemu-system-aarch64) /usr/libexec/qemu-kvm

3.配置网桥

创建网桥接口:

sudo nmcli connection add type bridge ifname br0 con-name br0

将物理接口绑定到网桥:

sudo nmcli connection add type bridge-slave ifname enaphyt4i0 master br0

激活连接:

sudo nmcli connection up bridge-slave-enaphyt4i0

4.虚拟机配置

Libvirt工具采用XML格式的文件描述一个虚拟机特征,包括虚拟机名称、CPU、内存、磁盘、网卡、鼠标、键盘等信息。用户可以通过修改配置文件,对虚拟机进行管理。

下面为参考配置(openEuler-001.xml):

<domain type='kvm'>
    <name>openEuler-001</name>
    <memory unit='GiB'>8</memory>
    <vcpu>4</vcpu>
    <os>
		<type arch='aarch64' machine='virt'>hvm</type>
		<loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader>
		<nvram>/var/lib/libvirt/qemu/nvram/openEuler-001_VARS.fd</nvram>
    </os>
    <features>
		<acpi/>
		<gic version='3'/>
    </features>
    <cpu mode='host-passthrough'>
        <topology sockets='1' cores='4' threads='1'/>
    </cpu>
    <iothreads>1</iothreads>
    <clock offset='utc'/>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>restart</on_crash>
    <devices>
		<emulator>/usr/libexec/qemu-kvm</emulator>
		<disk type='file' device='disk'>
		    <driver name='qemu' type='qcow2' iothread="1"/>
		    <source file='/var/lib/libvirt/images/openEuler-001.qcow2'/>
		    <target dev='vda' bus='virtio'/>
		    <boot order='1'/>
		</disk>
		<disk type='file' device='cdrom'>
		    <driver name='qemu' type='raw'/>
		    <source file='/data/images/openEuler-22.03-LTS-SP4-aarch64-dvd.iso'/>
		    <readonly/>
		    <target dev='sdb' bus='scsi'/>
		    <boot order='2'/>
		</disk>
		<interface type='bridge'>
		    <source bridge='br0'/>
		    <model type='virtio'/>
		</interface>
		<console type='pty'/>
        <video>
           <model type='virtio'/>
        </video>
	    <controller type='scsi' index='0' model='virtio-scsi'/>
		<controller type='usb' model='ehci'/>
		<input type='tablet' bus='usb'/>
		<input type='keyboard' bus='usb'/>
		<graphics type='vnc' listen='0.0.0.0' passwd='123456'/>
    </devices>
    <seclabel type='dynamic' model='dac' relabel='yes'/>
</domain>

5.虚拟机创建与启动

创建虚拟机:

virsh define openEuler-001.xml

启动虚拟机:

virsh start openEuler-001

首次启动虚拟机时需要使用VNC客户端连接虚拟机,从而进入图形化界面完成安装。

连接到虚拟机控制台:

virsh console openEuler-001
posted @ 2025-03-05 15:17  道成空  阅读(35)  评论(0编辑  收藏  举报