看到一些朋友苦虚拟机久矣,分享下我使用KVM的一些经验和技巧
Tofloor
poster avatar
DebuggerX
deepin
2020-11-30 21:59
Author

作为 Linux 用户,不管是 IT 开发,还是普通的爱好者,出于种种原因总是离不开虚拟机软件。由于某些原因我很早就接触过各种虚拟机软件,到目前为止或多或少几乎使用过所有常见的虚拟机软件或平台,包括大家最熟悉的 VMWare、VBox,windows 上曾经的 Virtual PC 和如今系统自带的 Hyper-V,MacOS 上的 Parallels Desktop,以及虚拟化平台 ESXi 和 Proxmox VE 等……这些软件在各自平台和特定使用场景下各有其优势,但是现在,我个人使用的 Linux 上唯一在用的虚拟机软件,就是今天的主角—— KVM


KVM的优点

    1. 安装方便。

从 KVM 的全称:Kernel-based Virtual Machine 就可以看出,KVM 实际是 linux 内核提供的虚拟化架构,可将内核直接充当 hypervisor 来使用,只要不是过于老旧的电脑,现在主流的 Linux 发行版都是可以几乎0配置地使用 KVM。相比之下,VMWare 和 VBox 并不是每一个发行版的软件仓库中都会包含的,这时候需要去对应官网下载安装包手动安装;即使是仓库中有可以直接通过包管理安装,它们想要正常使用还需要编译内核模块,每次系统内核升级后还需要重新编译,某些情况下还有可能编译失败无法使用,而 KVM 的安装只需要一步:

# debian系
sudo apt install qemu-kvm

# Redhat系
sudo yum install qemu-kvm

# 可选,仅当不加 sudo 执行 kvm 命令提示权限错误时使用
sudo adduser $USER kvm

    2. 本身资源占用极低

不管是哪种虚拟化方案,虚拟机软件本身也是要消耗一部分系统资源的。参看 QEMU和KVM的关系,KVM 使用 qemu 作为操作管理前端,占用的资源极低,不运行虚拟系统时 qemu 只占用20多mb的内存,尤其在配置比较低的电脑上可以省出更多的资源让宿主机或者虚拟机使用。

KVM 也有一些图形化管理工具,比如经典的 virt-manager,还有新一点的 GNOME Boxes,但我觉得其实并不是很有必要,因为常规使用 KVM 的命令行操作足够简单,就我而言图形化操作并没有更方便,反而浪费了资源。

    3. 方便且强大的命令行操作

这其实是 qemu 的优点,强大的命令行选项可以非常灵活地使用 KVM 虚拟机,而且可以方便地写成脚本,从而得到比图形化虚拟机高得多的效率。虽然 Vmware 和 VBox 也是可以通过命令行进行控制的,例如 Vmware 可以用 vmware -X "[path_to_virtual_pc]/[virtual_pc].vmx" 的方式启动一个创建好的虚拟机,VBox 更是可以通过 VBoxManage 命令实现更多的操作,但都还远远比不上 qemu。

…………

全文请看:建议Linux用户尝试下kvm虚拟机       欢迎交流~

Reply Favorite View the author
All Replies
1 / 2
To page
ylxdxx
deepin
2020-11-30 23:59
#1

赞一个

Reply View the author
Ziggy
deepin
2020-12-01 01:05
#2

收藏一下

Reply View the author
灵兮之
deepin
2020-12-01 02:26
#3

所以这个能直接创建一个安卓系统?可以用来安装APK软件的环境?

链接进去看过,没有这方面的介绍

Reply View the author
SamLukeYes
deepin
2020-12-01 02:49
#4
灵兮之

所以这个能直接创建一个安卓系统?可以用来安装APK软件的环境?

链接进去看过,没有这方面的介绍

可以是肯定可以的,装 android x86

Reply View the author
solothink
deepin
2020-12-01 03:29
#5

好,我空了试一下,感谢分享!

Reply View the author
gfdgd_xi
deepin
Ecological co-builder
2020-12-01 04:03
#6

qemu-kvm用户冒个泡[尴尬]

Reply View the author
灵兮之
deepin
2020-12-01 04:13
#7
SamLukeYes

可以是肯定可以的,装 android x86

有教程之类的吗

Reply View the author
SamLukeYes
deepin
2020-12-01 04:23
#8
灵兮之

有教程之类的吗

自己找吧。我是看 AUR 上有一个叫 qemu-android-x86 的包,下载来玩过一下,然后就卸掉了[尴尬]

Reply View the author
asland
deepin
2020-12-01 07:21
#9

kvm下装win,支持读取u盘,ukey等吗?

Reply View the author
xhw
deepin
2020-12-02 05:37
#10

楼主成功的实现了那篇文章中讲的“配合 Windows 远程桌面使用 Linux 缺乏的软件”吗?

Reply View the author
DebuggerX
deepin
2020-12-03 00:58
#11
asland

kvm下装win,支持读取u盘,ukey等吗?

我没试过 Linux —— Windows的远程usb,但是试过 Linux/Windows——MaxOS的,用的方案是用 NoMachine远程 ,你可以试一试

如果是直接用虚拟机挂usb,可能确实 kvm 的命令行就不是很方便了

Reply View the author
DebuggerX
deepin
2020-12-03 00:59
#12
xhw

楼主成功的实现了那篇文章中讲的“配合 Windows 远程桌面使用 Linux 缺乏的软件”吗?

那篇就是我写的

Reply View the author
asland
deepin
2020-12-03 07:07
#13
DebuggerX

我没试过 Linux —— Windows的远程usb,但是试过 Linux/Windows——MaxOS的,用的方案是用 NoMachine远程 ,你可以试一试

如果是直接用虚拟机挂usb,可能确实 kvm 的命令行就不是很方便了

谢谢解答

Reply View the author
DebuggerX
deepin
2020-12-03 18:55
#14

@jingle

老大,才发现为啥我的昵称一直是 “FranGRN”改不了吖???

我明明一直是“DebuggerX”,就算手动改成这个也没用。。。

Reply View the author
DebuggerX
deepin
2020-12-03 19:21
#15
DebuggerX

@jingle

老大,才发现为啥我的昵称一直是 “FranGRN”改不了吖???

我明明一直是“DebuggerX”,就算手动改成这个也没用。。。

突然又好了[困惑]

Reply View the author
gabriel_anger
deepin
2020-12-14 19:55
#16

kvm桥接本地网卡的话怎么让宿主机与虚拟机通信?

Reply View the author
孤岛悬城
deepin
2021-05-03 05:27
#17
gabriel_anger

kvm桥接本地网卡的话怎么让宿主机与虚拟机通信?

使用 NetworkManager 在 Linux 上添加网桥接口

打开终端

查看当前网络设备:ifconfig --all

获取当前网络连接: nmcli con show

添加一个网桥设备: nmcli con add type bridge ifname br0

将网卡绑定网桥到: nmcli con add type bridge-slave ifname enp0s25 master br0

将br0网桥设备打开: nmcli con up br0

(注意:br0是自定义的网桥名,enp0s25是ifconfig查看的网卡名)

 

虚拟机网卡添加到刚刚创建的网桥

虚拟网卡的网络源改为:指定共享设备名称

网桥名称:br0

图1

Reply View the author
孤岛悬城
deepin
2021-05-03 05:33
#18

想问下KVM的虚拟硬盘占用怎么配置配置为动态递增?virt-manager可以设置吗? 图2

Reply View the author
DebuggerX
deepin
2021-06-16 00:14
#19
孤岛悬城

想问下KVM的虚拟硬盘占用怎么配置配置为动态递增?virt-manager可以设置吗? 图2

默认应该就是“动态递增”的。

可以看看这个:https://blog.csdn.net/hbuxiaofei/article/details/106661162

Reply View the author
孤岛悬城
deepin
2021-06-18 04:13
#20
DebuggerX

默认应该就是“动态递增”的。

可以看看这个:https://blog.csdn.net/hbuxiaofei/article/details/106661162

啊 我发现在virt-manager手动添加一块磁盘是很小的,但是新建虚拟机的时候分配就很大。我现在是先创建磁盘再分配给新建的虚拟机。

Reply View the author
1 / 2
To page