华为欧拉(openEuler)通过libvirt安装虚拟机

    • 安装虚拟化组件

# 安装QEMU组件
yum install -y qemu

# 安装libvirt组件
yum install -y libvirt

# 启动libvirtd服务
systemctl start libvirtd

# 查看内核是否支持KVM虚拟化,即查看/dev/kvm和/sys/module/kvm文件是否存在,命令和回显如下
ls /dev/kvm         回显/dev/kvm
ls /sys/module/kvm  回显parameters  uevent

# 确认QEMU是否安装成功,查看QEMU软件包信息
rpm -qi qemu

# 确认libvirt是否安装成功,查看QEMU软件包信息
rpm -qi libvirt

# 查看libvirt服务是否启动成功 若服务处于“Active”状态,说明服务启动成功
systemctl status libvirtd
QEMU组件默认以用户qemu和用户组qemu运行,如果想要使用root用户,需要修改QEMU配置文件。
使用以下命令打开QEMU配置文件
vim /etc/libvirt/qemu.conf
找到以下两个字段,user = "root"和group = "root",取消注释(即删除前面的#号),保存并退出。

    • 制作镜像

# 使用root用户安装qemu-img软件包
yum install -y qemu-img

# 进入到存放镜像的文件夹
cd /home/images/

# 使用qemu-img工具的create命令,创建镜像文件
qemu-img create -f qcow2 openEuler-image.qcow2 1500G
# qcow2 为镜像格式,取值为raw,qcow2等
# openEuler-image.qcow2 为创建的镜像名称
# 1500G 为磁盘大小

# 查看当前虚拟机镜像磁盘空间大小
qemu-img info openEuler-image.qcow2

# 修改镜像磁盘空间大小
qemu-img resize openEuler-image.qcow2 +20G

3.准备虚拟机网络

创建网桥

# 安装bridge-utils软件包
yum install -y bridge-utils

# 创建网桥br0
brctl addbr br0

ifconfig 命令查看当前使用的物理网卡

在指定目录下找到对应网卡的配置文件

# 进入指定目录
cd /etc/sysconfig/network-scripts/

# 复制网卡配置文件并重命名
cp ./ifcfg-eth0 ./ifcfg-br0

# 分别对这两个配置文件进行修改
# 修改网卡配置
vi ifcfg-eth0

# 修改后 BRIDGE:指定我们需要配置的网桥
TYPE=Ethernet
#PROXY_METHOD=none
#BROWSER_ONLY=no
#BOOTPROTO=dhcp
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
NAME=enp125s0f2
UUID=c9aaa8ea-0a86-4d0d-a4d6-121a08d52c6e
DEVICE=enp125s0f2
ONBOOT=yes
BRIDGE=br0

# 修改网桥配置
vi ifcfg-br0

# 修改后
TYPE=BRIDGE
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
#IPADDR="192.168.1.186"
NETMASK="255.255.255.0"
IPV6_PRIVACY=no

重启网络

4.虚拟机的创建和管理

准备虚拟机配置文件

<domain type='kvm'>
    <!-- 虚拟机名称 -->
    <name>openEulerVM</name>
    <!-- 虚拟机内存 -->
    <memory unit='GiB'>32</memory>
    <!-- 虚拟处理器的个数 -->
    <vcpu>16</vcpu>
    <os>
        <type arch='aarch64' machine='virt'>hvm</type>
        <!-- 这里是arm架构的 -->
        <loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader>
        <!-- 指定nvram文件路径,用于存储UEFI启动配置 保证文件名不冲突即可 -->
        <nvram>/var/lib/libvirt/qemu/nvram/openEulerVM.fd</nvram>
    </os>
    <features>
        <acpi/>
        <gic version='3'/>
    </features>
    <cpu mode='host-passthrough'>
    </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='/home/images/openEuler-image.qcow2'/>
            <target dev='vda' bus='virtio'/>
            <boot order='1'/>
        </disk>
        <disk type='file' device='cdrom'>
            <driver name='qemu' type='raw'/>
            <!-- 安装系统所需光驱 -->
            <source file='/home/iso/openEuler-22.03-LTS-SP1-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'/>
        <!-- port 为vnc连接端口,passwd 为连接密码 -->
        <graphics type='vnc' port='5901' listen='0.0.0.0' passwd='supermap1234!'/>
    </devices>
    <seclabel type='dynamic' model='dac' relabel='yes'/>
</domain>
# 创建虚拟机 虚拟机xml配置文件为openEulerVM.xml
virsh define openEulerVM.xml

# 启动虚拟机 启动名称为openEulerVM的虚拟机
virsh start openEulerVM

# 显示vnc端口
virsh vncdisplay openEulerVM
# 虚拟机的VNC侦听端口,该端口一般在客户机启动时自动分配,一般为5900 + x(x为正整数,按照虚拟机启动的顺序递增,且5900对用户不可见)
# 例如:返回为 :1 及端口为5901
# 登录vnc需要配置防火墙,放行该端口

打开MobaXterm 连接vnc

选择session打开settings,选择vnc连接,填写ip和端口号,选择OK

开始安装系统

配置静态ip

安装后如果出现ipaddress为空的现象
进入下面文件夹
cd /etc/sysconfig/network-scripts/
修改网络配置文件
找到onboot=no 修改为yes

虚拟机管理命令

# 查询主机上处于运行和暂停状态的虚拟机列表
virsh list

# 查询主机上已经定义的所有虚拟机信息列表
virsh list --all

# 查询一个创建好的虚拟机的基本信息
virsh dominfo openEulerVM

# 查询虚拟机的当前状态
virsh domstate openEulerVM

# 查询虚拟机网卡信息
virsh domiflist openEulerVM

# 查询虚拟机磁盘设备信息
virsh domblklist openEulerVM

# 查询虚拟机的vCPU数目
virsh vcpucount openEulerVM

# 显示虚拟机xml配置
virsh dumpxml openEulerVM

# 关闭虚拟机。启动虚拟机关机流程,若关机失败可使用强制关闭
virsh shutdown openEulerVM

# 强制关闭虚拟机
virsh destroy openEulerVM

# 重启虚拟机
virsh reboot openEulerVM

# 销毁虚拟机 nvram:销毁虚拟机的同时删除其对应的nvram文件 keep-nvram:销毁虚拟机,但保留其对应的nvram文件
virsh undefine openEulerVM --nvram

# 修改虚拟机配置 (重启后生效)
virsh edit openEulerVM

文章来源地址https://uudwc.com/A/Y6BDR

原文地址:https://blog.csdn.net/jind_/article/details/128915905

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月18日 00:13
下一篇 2023年09月18日 00:17