vlambda博客
学习文章列表

在deepin操作系统上使用KVM虚拟机

KVM概念

KVM


Kernel-based Virtual Machine基于内核的虚拟机,配合QEMU(处理器虚拟软件),需要CPU支持虚拟化技术(并且在BIOS里打开虚拟化选项),效率可达到物理机的80%以上。


架构图

KVM安装

查询机器是否支持虚拟化:

在deepin操作系统上使用KVM虚拟机

如果在输出中不包含vmx或者svm标识,那么就意味着你的cpu不支持硬件虚拟化。


如果结果大于0,即说明cpu支持虚拟化。因为虚拟化需要CPU支持VMX或者 SVM指令集,VMX是Intel指令。SVM是AMD指令。


在amd64架构的deepin系统上安装qemu以及virsh虚拟机管理工具:

在deepin操作系统上使用KVM虚拟机

aarch64架构的系统上安装下面的包:

sudo apt-get install libvirt0 libvirt-daemon qemu virt-manager  bridge-utils libvirt-clients python-libvirt qemu-efi uml-utilities virtinst qemu-system

系统通过加载诸如kvm-intel.ko(基于 Intel 的机器)和kvm-amd.ko(基于 amd 的机器)的内核模块,使其成为管理程序hyervisor。


查看kvm模块是否加载:

在deepin操作系统上使用KVM虚拟机

安装 qemu 和 libvirtd 软件包之后,它就会自动启动并启用 libvirtd 服务。

在deepin操作系统上使用KVM虚拟机

创建虚拟机

图形化工具(virt-manager)

界面显示:

在deepin操作系统上使用KVM虚拟机

创建虚拟机:

在deepin操作系统上使用KVM虚拟机

使用本地镜像创建:

在deepin操作系统上使用KVM虚拟机

设置虚拟的CPU核心数和内存大小:

在deepin操作系统上使用KVM虚拟机

设置虚拟机网络,可以使用桥接,也可是使用net转发:

在deepin操作系统上使用KVM虚拟机

添加虚拟显示设备:

在deepin操作系统上使用KVM虚拟机

添加USB控制器设备:

在deepin操作系统上使用KVM虚拟机

启动虚拟机,从本地debian镜像引导,进入安装界面

在deepin操作系统上使用KVM虚拟机


命令行工具 (virsh)

创建存储池:

在deepin操作系统上使用KVM虚拟机

配置磁盘映像:

在deepin操作系统上使用KVM虚拟机

创建虚拟机:

sudo virt-install --name=debian --disk path=/media/deepin/Home/deepin/Spoll1/debian10.img --graphics spice --vcpu=2 --ram=2048 --cdrom=/media/deepin/Home/deepin/debian-10.0.0-arm64-DVD-1.iso  --network bridge=virbr0 --os-variant=linux

xml文件创建虚拟机:

在deepin操作系统上使用KVM虚拟机

修改配置debian10-1.xml文件中的字段和字段分别如下:

在deepin操作系统上使用KVM虚拟机

定义debian10-1虚拟机和启动该虚拟机:

在deepin操作系统上使用KVM虚拟机

遇到的问题


问题一:“unsupported configuration: CPU mode ‘custom’ for x86_64 kvm domain on x86_64 host is not supported”。
解决办法:重启主机。


问题二:虚拟机如何打开串口。
解决办法:虚拟机的启动参数加入“console=tty0 console=ttyS0,115200”。可以通过virsh console [vm id] 命令,进入虚拟机串口操作。


问题三:非root用户ssh远程登录,执行命令:virt-manager 报如下错误:

在deepin操作系统上使用KVM虚拟机

解决办法:执行下面命令,把当前用户加入到组libvirt:

在deepin操作系统上使用KVM虚拟机


问题四:x11转发virt-manager图形界面报错误:(virt-manager:12205): Gtk-WARNING **: cannot open display:

解决办法:使用如下方式连接 :ssh -Y deepin@ServerIP virt-manager


问题五:
创建虚拟机时报权限错误:monitor: Could not access KVM kernel module: Permission denied failed to initialize KVM: Permission

解决办法:

在deepin操作系统上使用KVM虚拟机


问题六:.aarch64服务器创建支持aarch64架构的虚拟机时,报libvirt版本不支持UEFI。
解决办法:重启系统,再创建一次。

【相关链接】





来都来了,点个在看再走吧~~~