“ KVM ”,“ Kernel Virtual Machine ”的缩写,是Linux内核的hypervisor。它在企业中非常流行并用于轻松执行操作系统的虚拟化。在本教程中,我们将学习在Debian 10 或 11 Bullseye 服务器或桌面 Linux上安装和启用 KVM 管理程序的步骤和命令。
从 2007 年开始,KVM 成为正式的内核组件,但与其他开源管理程序 Xen 相比,KVM 的历史变化不大,只是从一开始就急剧上升。KVM 也是 OpenStack 中首选的虚拟机管理程序,因此在云中被广泛使用。
KVM究竟是什么?
KVM 主要不是裸机管理程序,而是基于 Linux。我们可以在任何 Linux 操作系统上使用一些命令进行安装,将其转换并用作虚拟化服务器。因此,KVM 在形式上是一种类型 2 管理程序,这仅仅意味着它运行在非特权环 3 中。然而,多年来,专家们一直在进行关于 KVM 到底是不是类型 1 管理程序的历史讨论。
我们可以使用它在同一台机器上一起运行多个虚拟机,但是,主机系统必须在其各自的进程中支持并启用 Intel VT-x(虚拟化技术扩展)或 AMD-V(AMD64 虚拟化扩展)。
下面给出的命令适用于 Debian 10 Buster 和 Debian 11 Bullseye 来设置 Qemu KVM 并在其上运行虚拟机。
正如一开始,我说过,我们需要一个启用了虚拟化扩展的 Intel 或 AMD 进程的系统。因此,要确认这一点,请在 Debian 11 上打开命令终端并运行给定的命令:
egrep -c '(vmx|svm)' /proc/cpuinfo
grep -E --color '(vmx|svm)' /proc/cpuinfo
当你运行,以确认虚拟化上面的命令启用与否,输出将更加比为零。如果没有,那么首先您必须重新启动系统并进入系统 BIOS。启用虚拟化,然后启动到操作系统,再次运行上述命令以确认相同。
第一个 命令输出将大于零,这意味着它可能是 1、2、6 或 8。因此,系统支持虚拟化。
使用第二个 命令,您将获得有关 CPU 的信息 - 无论是 Intel 还是 AMD。如果红色输出文本是VMX则它是Intel而SVM表示AMD。
输出:
如果您已经运行了更新命令,则跳过此步骤,否则运行一次,然后再进一步更新已安装的软件包并重建存储库缓存。
sudo apt update
接下来是本教程的关键命令,它将下载并安装在 Debian 11 Linux 上安装 Qemu、KVM 管理程序和 Libvirt 所需的所有内容。
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon
使用图形化 Debian 11 桌面的用户还可以安装Virt-Manager,这是一个由 RedHat 开发的图形用户界面,用于使用 KVM 以图形方式创建、管理和运行虚拟机。
sudo apt install virt-manager -y
要列出要在 KVM 虚拟机中使用的可用网络,请运行以下命令:
sudo virsh net-list --all
但是,在输出中,您将看到默认网络未处于活动状态,也未设置为在系统重新启动时自动启动。因此,要使其处于活动状态并自动启动,请运行以下命令:
sudo virsh net-start default sudo virsh net-autostart default
你可以再次检查网络...
为了提高网络数据传输的性能并减少 的负载virtio-net
,我们可以vhost_net
使用以下给定的命令在 Debian 11 Linux 中添加” 内核模块:
vhost-net是后端(主机端),而virtio-net(来宾端)是在来宾内核空间中运行的前端。要了解有关它们的更多信息,请参阅:Vhost-net & Virtio-networking
sudo modprobe vhost_net
要检查它是否已启用:
lsmod | grep vhost
—————————-这一步不是必须的,直到你想要它——————————————
尽管 KVM 带有一个开箱即用的名为“ virbr0”的桥接网络接口,但是,由于分配的 IP 范围,这不会让我们使用网络中的其他计算机从主机 PC 访问 KVM 虚拟机通过它。因此,我们将在具有我们网络 IP 范围的主机系统的物理网卡上创建我们自己的全桥接口。
找到连接到要用于桥接的主机系统的物理网络接口。
ip a
您将在主机上看到所有连接的网络接口。现在,记下要用于 Bridge 网络的那个。
例如,这里我们有enps03
和 IP 地址是192.168.0.109
。因此,范围介于192.168.0.1-192.168.0.255
现在,编辑您的 Debian 11 网络接口文件:
sudo nano /etc/network/interfaces
添加以下几行:
注意:根据您的网络更改黄色值...
#
#Configure bridge and give it a static ip auto br0 iface br0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.1 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports enp0s3 bridge_stp off bridge_fd 0 bridge_maxwait 0 dns-nameservers 8.8.8.8 4.4.2.2
保存按文件按Ctrl + O,打回车使用键,并退出按Ctrl + X。
或者
注意:如果您希望网桥使用DHCP获取 IP 地址:
然后使用以下设置代替上述设置:
## DHCP ip config file for br0 ##
auto br0
# Bridge setup
iface br0 inet dhcp
bridge_ports enp0s3
重新启动网络管理器以应用更改。
sudo systemctl restart networking.service or sudo /etc/init.d/networking restart
检查IP地址
ip a
这次您将看到新创建的br0
桥接界面以及其他界面。
——————————————————————————————————————————
那些想要使用Virt 命令行创建虚拟机并使用 KVM 运行的人只需点击链接即可。
而如果您使用 GUI Debian 11 Desktop 可以使用 Virt-Manager。在这里给出一个想法是一瞥......
运行虚拟管理器
转到应用程序启动器并搜索“虚拟机管理器”(VVM)并运行它。在它打开之前,系统会要求提供 root 密码。这将允许它创建和管理虚拟机。
创建虚拟机:
单击 PC 图标以使用 KVM 在 Virt-Manager 上创建新的虚拟机。
找到 ISO 媒体卷
单击“浏览”按钮,然后找到要用于在虚拟机上作为来宾操作系统安装操作系统的ISO文件。
之后取消选中“自动从安装媒体/源检测”框,然后单击“前进”按钮。
选择内存和 CPU 设置
设置要分配给 VM 的虚拟内存量,然后设置 CPU 内核数。
创建 Qemu 虚拟磁盘镜像
要安装 VM 来宾操作系统,我们需要一些存储空间,为此,我们必须创建一个磁盘映像文件。只需输入您要分配的硬盘空间量并继续。
网络
在此处命名您的虚拟机。此外,默认情况下,Virt-manager 将使用NAT,但是,您可以选择默认的桥接接口,即vibr0或您创建的接口。如果您不了解这些设置,请选择默认NAT。
Debian 11 Bullseye 上的 Qemu KVM 虚拟机
最后,您将拥有一个启动的虚拟机,它可以像使用键盘和鼠标的任何物理计算机一样进行控制。