欢迎光临
我们一直在努力

鲲鹏服务器+银河麒麟系统安装KVM

服务器配置

[root@test ~]# free -h
total used free shared buff/cache available
Mem: 509Gi 28Gi 153Gi 4.2Gi 327Gi 426Gi
Swap: 4.0Gi 0B 4.0Gi
[root@test ~]#
[root@test ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 255G 0 255G 0% /dev
tmpfs 255G 64K 255G 1% /dev/shm
tmpfs 255G 4.1G 251G 2% /run
tmpfs 255G 0 255G 0% /sys/fs/cgroup
/dev/mapper/klas-root 391G 35G 357G 9% /
tmpfs 255G 20M 255G 1% /tmp
/dev/sdb2 1014M 259M 756M 26% /boot
/dev/sdb1 599M 7.1M 592M 2% /boot/efi
tmpfs 51G 640K 51G 1% /run/user/0
tmpfs 51G 0 51G 0% /run/user/991
/dev/sda1 15T 307G 15T 3% /data
[root@test ~]# uname -a
Linux 160-10 4.19.90-89.11.v2401.ky10.aarch64 #1 SMP Thu Apr 25 18:20:10 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[root@test ~]#
[root@test ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Halberd)
[root@test ~]#
[root@test ~]# lscpu
架构: aarch64
CPU 运行模式: 64-bit
字节序: Little Endian
CPU: 64
在线 CPU 列表: 0-63
每个核的线程数: 1
每个座的核数: 32
座: 2
NUMA 节点: 2
厂商 ID: HiSilicon
BIOS Vendor ID: HiSilicon
型号: 0
型号名称: Kunpeng-920
BIOS Model name: HUAWEI Kunpeng 920 5220
步进: 0x1
Frequency boost: disabled
CPU 最大 MHz: 2600.0000
CPU 最小 MHz: 200.0000
BogoMIPS: 200.00
L1d 缓存: 4 MiB
L1i 缓存: 4 MiB
L2 缓存: 32 MiB
L3 缓存: 64 MiB
NUMA 节点0 CPU: 0-31
NUMA 节点1 CPU: 32-63
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
标记: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs

检查是否支持虚拟化,执行以下密令

# 检查是否存在KVM内核设备文件。这个文件是用户空间程序(如QEMU)与内核KVM模块交互的接口。
[root@test ~]# ls -l /dev/kvm
crw-rw-rw- 1 root kvm 10, 232 820 16:33 /dev/kvm
[root@test ~]#
# 检查KVM内核模块是否已加载到系统中。/sys/module/是一个虚拟文件系统,包含了当前已加载模块的信息。
[root@test ~]# ls /sys/module/kvm
parameters uevent
[root@test ~]#
# 在系统启动日志中过滤出与KVM相关的信息。dmesg命令用于打印内核环缓冲区的内容,其中包含了系统启动和运行过程中的各种硬件和驱动信息。
[root@test ~]# dmesg | grep kvm
[ 0.930298] kvm [1]: Hisi ncsnp: enabled
[ 0.930394] kvm [1]: 16-bit VMID
[ 0.930395] kvm [1]: IPA Size Limit: 48bits
[ 0.930419] kvm [1]: GICv4 support disabled
[ 0.930420] kvm [1]: vgic-v2@9b020000
[ 0.930432] kvm [1]: GIC system register CPU interface enabled
[ 0.930813] kvm [1]: vgic interrupt IRQ1
[ 0.931220] kvm [1]: VHE mode initialized successfully

解释:
Hisi ncsnp: enabled​​: 指出华为鲲鹏(HiSilicon)处理器的某些特性(可能是Nested Security NPcontext)已启用。
​​16-bit VMID​​: 虚拟机标识符(VMID)为16位。VMID用于在ARM架构的TLB(转换后备缓冲区)中区分不同虚拟机的地址空间。 ​​
IPA Size Limit: 48bits​​: ​​这是极其重要的一条信息​​。它表明KVM支持客户机(虚拟机)的​​物理地址空间(IPA)最大为48位​​。这意味着单个虚拟机最大可以支持 ​​256TB​​ 的物理内存。这完全满足了绝大多数应用场景的需求。
​​GICv4 support disabled​​: 虚拟中断控制器(GIC)的v4版本支持被禁用。v4版本提供了更好的直接注入中断性能(如支持LPIs),但可能由于硬件或软件兼容性原因未启用。使用v2或v3版本完全足够。
​​vgic-v2@9b020000​​: 虚拟GIC(vGIC)的版本为v2,其基地址为 0x9b020000。vGIC是KVM/ARM中模拟中断控制器的关键组件。
​​GIC system register CPU interface enabled​​: ​​非常重要​​。这表明CPU使用​​系统寄存器​​(而非内存映射寄存器)来访问GIC中断控制器。这是现代ARMv8架构的标准和高效方式,对于KVM的正常工作至关重要。 ​​
vgic interrupt IRQ1​​: vGIC使用了系统的1号中断请求线。
​​VHE mode initialized successfully​​: ​​这是最关键的一条信息​​。VHE(Virtualization Host Extensions)是ARMv8.1及以上架构提供的一项​​硬件加速特性​​。它允许内核直接在EL2(虚拟化层)运行,​​极大地减少了世界切换的开销,提升了虚拟化的性能​​。这条消息表明您的鲲鹏920处理器支持并已成功启用VHE模式,KVM将能以最高性能运行。

安装

yum -y install qemu libvirt virt-manager virt-install

启动服务

systemctl start libvirtd
systemctl enable libvirtd

创建虚机

图形化创建虚机参看
在图形化界面运行virt-manager
在这里插入图片描述

准备镜像

wget -b https://archive.kernel.org/centos-vault/altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-Everything-2009.iso
wget -b https://archive.kernel.org/centos-vault/altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-Minimal-2009.iso
wget -b https://archive.kernel.org/centos-vault/altarch/7.9.2009/isos/aarch64/CentOS-7-aarch64-NetInstall-2009.iso

启停虚机

virsh shutdown <虚拟机名称> # 关闭虚拟机
virsh start <虚拟机名称> # 启动虚拟机

KVM 常用命令手册

一、虚拟机生命周期管理 (virsh)

命令说明示例
virsh list 列出正在运行的虚拟机 virsh list
virsh list –all 列出所有虚拟机(含关闭的) virsh list –all
virsh start <domain> 启动虚拟机 virsh start centos8
virsh shutdown <domain> 优雅关闭虚拟机(发送ACPI信号) virsh shutdown centos8
virsh destroy <domain> 强制关闭虚拟机(相当于拔电源,慎用!) virsh destroy centos8
virsh reboot <domain> 重启虚拟机 virsh reboot centos8
virsh suspend <domain> **暂停(挂起)**虚拟机 virsh suspend centos8
virsh resume <domain> 恢复被暂停的虚拟机 virsh resume centos8
virsh autostart <domain> 设置虚拟机随宿主机自启 virsh autostart centos8
virsh autostart –disable <domain> 禁用虚拟机自启 virsh autostart –disable centos8

二、虚拟机配置与信息查询

命令说明示例
virsh dominfo <domain> 查看虚拟机基本信息 virsh dominfo centos8
virsh dumpxml <domain> 导出虚拟机XML配置(用于备份或修改) virsh dumpxml centos8 > centos8.xml
virsh define <file.xml> **根据XML文件定义(注册)**虚拟机 virsh define /path/to/centos8.xml
virsh undefine <domain> 删除虚拟机定义(不删除磁盘文件) virsh undefine centos8
virsh edit <domain> 编辑虚拟机XML配置 virsh edit centos8
virsh vcpuinfo <domain> 查看虚拟机VCPU信息 virsh vcpuinfo centos8
virsh domblklist <domain> 列出虚拟机连接的磁盘设备 virsh domblklist centos8

三、虚拟磁盘管理 (qemu-img)

命令说明示例
qemu-img create 创建新的磁盘镜像文件 qemu-img create -f qcow2 /images/centos8.qcow2 20G
qemu-img info 查看磁盘镜像详细信息 qemu-img info /images/centos8.qcow2
qemu-img convert 转换磁盘镜像格式(如 raw -> qcow2) qemu-img convert -f raw -O qcow2 input.img output.qcow2
qemu-img resize 调整磁盘镜像大小(危险!需先在VM内调整文件系统) qemu-img resize centos8.qcow2 +5G
qemu-img snapshot 管理磁盘镜像的快照(创建、列出、删除) qemu-img snapshot -c snapshot1 centos8.qcow2

常用磁盘格式:

  • -f raw:原始格式,性能好,不支持快照和动态扩容。
  • -f qcow2 (推荐):QEMU copy-on-write格式,支持快照、压缩、加密和动态扩容。

四、虚拟网络管理

命令说明示例
virsh net-list –all 列出所有虚拟网络 virsh net-list –all
virsh net-info <network> 查看指定网络信息 virsh net-info default
virsh net-dumpxml <network> 导出虚拟网络XML配置 virsh net-dumpxml default > default_net.xml
virsh net-start <network> 启动一个虚拟网络 virsh net-start default
virsh net-destroy <network> 停止一个虚拟网络 virsh net-destroy default
virsh net-autostart <network> 设置虚拟网络随libvirt自启 virsh net-autostart default

五、控制台与连接

命令说明示例
virsh console <domain> 通过串行控制台连接到虚拟机(需在VM内配置console) virsh console centos8
virt-viewer <domain> 打开虚拟机的图形化控制台(SPICE/VNC) virt-viewer centos8

六、快照管理 (virsh)

警告: 快照功能在 qcow2 格式上工作良好,但生产环境需谨慎使用,过多快照可能影响性能。

命令说明示例
virsh snapshot-create-as <domain> <name> 创建快照 virsh snapshot-create-as centos8 snap1
virsh snapshot-list <domain> 列出所有快照 virsh snapshot-list centos8
virsh snapshot-revert <domain> <snapshotname> 恢复到某个快照状态 virsh snapshot-revert centos8 snap1
virsh snapshot-delete <domain> <snapshotname> 删除快照 virsh snapshot-delete centos8 snap1

总结与核心工具

  • virsh:最重要的命令,用于管理虚拟机的整个生命周期和配置。
  • qemu-img:用于管理虚拟磁盘,创建、转换、扩容都靠它。
  • virt-manager:图形化工具,适合初学者直观地创建和管理虚拟机。

鲲鹏 (aarch64) 平台特别提示

  • 创建虚拟机时,如需使用VNC等图形界面,请注意显卡模型的选择(如使用Virtio视频设备)。
  • 在服务器版系统上,可完全通过命令行 (virsh, virt-install) 进行管理。
赞(0)
未经允许不得转载:171主机测评 » 鲲鹏服务器+银河麒麟系统安装KVM
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址