当前位置: 首页 > news >正文

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

服务器配置

[root@test ~]# free -htotal        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) 进行管理。
http://www.dtcms.com/a/486472.html

相关文章:

  • 互联网大厂Java面试全解析及三轮问答专项
  • 大宗交易查询平台东莞seo公司首选3火星
  • 制作购物网站教程珠海哪个公司建设网站好
  • Github 的新动作
  • linux离线环境局域网远程ssh连接vscode
  • Electron 从低版本升级到高版本 - 开始使用@electron/remote的改造教程
  • 【源码讲解+复现】YOLOv10: Real-Time End-to-End Object Detection
  • GitHub Spec-Kit:AI 时代的规范驱动开发工具
  • 门户网站建设工作的自查报告wordpress获取链接
  • c++ STL容器.size()易造成的bug
  • 计算机组成原理01-定点数/浮点数的原/反/补码运算
  • 工控软件开发选择难?Electron、Qt、WPF 对比
  • 做网站一定需要icp么wordpress 头部菜单
  • 连云港专业网站制作互联网营销师培训方案
  • 网站 设计公司 温州wordpress新浪微博主题
  • Linux云计算基础篇(25)-DNS配置
  • 【007】墙绘产品交易平台
  • 【教学类-97-01】20251015拉布布涂色
  • 方法区与运行时常量池
  • 帮人网站开发维护违法WordPress加2Dli
  • 临清轴承网站建设企业官网wordpress主题
  • 三重变革:数字革命、地缘重构与生态危机
  • 人工智能|强化学习——基于人类反馈的强化学习(RLHF)深度解析
  • Python编程实战 · 基础入门篇 | Python能做什么
  • 【Web开发】从入门到精通,全面解析 Web 开发的过去、现在与未来
  • 系统重构过程以及具体方法
  • inline (optimizer hint)说明
  • 咖啡厅网站开发目标wordpress 文章结尾处
  • MiraiMind v1.1.49 | 来自日本的虚拟聊天软件,主打无敏感词,可以与知名动漫角色展开恋爱,需要特殊网络
  • Net Core如何获取枚举值的中文描述