ARM架构下的QEMU/KVM虚拟化问答

举报
黄生 发表于 2024/12/24 22:34:29 2024/12/24
【摘要】 1. NAT与MACVTAP的区别:o NAT用于虚拟机通过宿主机网络访问互联网(三层IP层),隐藏内部网络结构。o MACVTAP( "MAC Virtual Tap")允许虚拟机直接在物理网络上通信(二层MAC层),提供独立的MAC地址,适用于需要高性能网络的场景。设计初衷是实现虚拟机间的网络通信(在Virtual Machine Manager里面配置时提示:在多数配置中,macvta...

1. NAT与MACVTAP的区别

o NAT用于虚拟机通过宿主机网络访问互联网(三层IP层),隐藏内部网络结构。

o MACVTAP( "MAC Virtual Tap")允许虚拟机直接在物理网络上通信(二层MAC层),提供独立的MAC地址,适用于需要高性能网络的场景。设计初衷是实现虚拟机间的网络通信(在Virtual Machine Manager里面配置时提示:在多数配置中,macvtap不能为主机到客户机的网络通信工作)。

2. 虚拟机网络配置

o 在Virtual Machine Manager中,选择网桥(br0)作为虚拟机的网络类型,使虚拟机通过宿主机的网桥连接到外部网络。虚拟机内部的网络配置和进入linux配置网络是一样的。

o 宿主机部分的配置

o 安装bridge-utils包、sudo brctl addbr br0、sudo ifconfig br0 up、sudo ifconfig eth0 down、sudo brctl addif br0 eth0(或者:sudo ip link set dev eth0 master br0)、设置网桥的IP和网关:ip addr add 192.168.1.2/24 dev br0、sudo route add default gw 192.168.1.1 br0。将eth0、br0都up,如果没有up的话。

o 修改ifcfg-br0配置文件(重启后也生效)
确保br0在系统启动时被激活,将ONBOOT设置为yes。
添加DEVICE和TYPE行,以确保配置文件被正确识别为网桥设备。并添加DNS服务器信息。

o 修改ifcfg-enp125s0f0配置文件
添加BRIDGE参数,指定该接口应该加入的网桥名称。
由于enp125s0f0将加入网桥,不需要为它单独设置IPADDR、NETMASK和GATEWAY,这些将由网桥br0管理。BOOTPROTO参数指定了网络接口在启动时获取IP地址的方式none。DEFROUTE参数决定了是否为该网络接口启用默认路由no。

o 重启NetworkManager服务进行配置文件验证。

3. 扩展虚拟机磁盘文件

o 使用qemu-img resize命令将虚拟机磁盘文件从40G扩展到100G,然后扩展虚拟机内的lvm和文件系统以使用新增空间。sudo qemu-img resize /var/lib/libvirt/images/kylin10.0_vm1.qcow2 +60G

o BIOS Vendor ID: QEMU 这表明虚拟机的BIOS是由QEMU提供的。QEMU是一个开源的虚拟化工具,它可以模拟不同的处理器架构和硬件设备,包括BIOS。在这里,"QEMU"是虚拟机BIOS的供应商标识符,意味着BIOS是QEMU虚拟化软件的一部分,而不是传统意义上由主板制造商提供的固件。

4. 复制虚拟机

o 使用virt-clone工具复制虚拟机磁盘和配置,然后使用virt-sysprep工具重置/清除新虚拟机磁盘的系统配置,如执行历史等。virt-clone -o kylin10.0_vm1 --auto-clone -n kylin10.0_vm25、virt-sysprep -d kylin10.0_vm25(但存在虚拟机内ifcfg-*配置文件的MAC地址未更新的问题(该MAC行删除即可)、以及配置第一次启动命令来修改IP地址不支持Kylin、可采用virt-sysprep的运行脚本方式来对IP做修改替换)

5. HW-SAS3508磁盘阵列卡

o 询问了价格和性能。基于MegaRAID架构的8端口12Gbit/s SAS控制器,采用PCIe 3.0 x8接口。

6. pvcreate命令无法在/dev/sda上创建物理卷:Device /dev/sda excluded by a filter.

o 讨论了可能的原因,包括设备过滤、设备状态和配置问题。global_filter用于系统级设备过滤,types指定LVM处理的设备类型。讨论了使用lvmdiskscan命令来检查设备类型的方法。

o 创建/dev/sda1分区并成功创建物理卷、前面不成功可能因为有签名

o 创建了一个新分区 1,类型为“Linux filesystem”,大小为 9.1 TiB。 分区 #1 包含一个 vfat 签名。 您想移除该签名吗?是[Y]/否[N]:y 写入命令将移除该签名。 1 分区上的文件系统/RAID 签名将被擦除。

o 因为LVM需要一个“干净”的分区,没有任何文件系统签名,以便它可以在分区上创建自己的物理卷。

o 12个9T的磁盘,是不是应该做一个RAID的,现在我把其中一个/dev/sda分区了并加入了lvm,是不是破坏了原来的设计用途?

7. UEFI(Unified Extensible Firmware Interface)启动的虚拟机不支持内部快照的问题:internal snapshots of a VM with pflash based firmware are not supported、/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw

o UEFI提供了图形用户界面、更快的启动速度、安全启动、支持更大的硬盘、以64位模式运行等改进。主机系统上安装了OVMF(开放虚拟机固件)包。OVMF是QEMU虚拟机的Intel TianoCore固件的一部分,用于支持UEFI启动。

o BIOS使用文本界面、启动速度较慢、不支持安全启动、最大支持2TB硬盘、以16位模式运行。

o UEFI启动的虚拟机不支持内部快照的主要原因是,内部快照需要能够对虚拟机的固件(如pflash)进行快照(为什么?快照不是针对虚拟机磁盘吗?UEFI固件应该是在主板上吧),而UEFI固件的存储方式与BIOS不同,它使用的是变量存储(如Efi Variables),这些变量存储不支持内部快照。此外,UEFI固件的复杂性和启动流程的不同也导致了内部快照的不支持。

o 存储位置:

外部快照:快照数据存储在虚拟机的外部文件中,通常是一个新的qcow2文件,原磁盘文件成为新文件的backing file(只读)。
内部快照:快照数据存储在虚拟机磁盘文件内部,通常与虚拟机的磁盘文件是同一个文件。

o 使用virsh snapshot-create-as命令创建快照。virsh snapshot-create-as --domain kylin10.0_vm1 --name kylin10.0_vm1_snapshot1 --disk-only、virsh domblklist kylin10.0_vm1

o libvirt不支持直接删除外部快照(也包括恢复 revert),需手动删除快照文件和元数据。

o 讨论了外部快照的局限性和不便之处,包括管理复杂性、恢复操作的复杂性、存储空间的占用、性能影响和数据一致性问题。

8. 切换到BIOS启动的操作步骤

o 编辑虚拟机XML配置文件,移除UEFI相关配置,添加BIOS配置,然后重启虚拟机。不能成功。

o 重新创建虚拟机,安装前自定义配置、固件不选择UEFI,而选择空,也不能安装:“不支持的配置:ACPI requires UEFI on this architecture”

o 有一种可能是,ARM架构下只支持UEFI、不支持BIOS?

o 查看dmesg输出或操作系统内部信息确认启动模式。

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.19.90-89.11.v2401.ky10.aarch64 root=/dev/mapper/klas-root ro rd.lvm.lv=klas/root rd.lvm.lv=klas/swap video=VGA-1:640x480-32@60me rhgb quiet console=tty0 crashkernel=1024M,high smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off audit=0

dmesg
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: EFI v2.70 by EDK II
[ 0.000000] efi: SMBIOS 3.0=0x83bed0000 MEMATTR=0x83a907018 ACPI 2.0=0x8384f0018 MEMRESERVE=0x838400a18
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。