Ubuntu 22.04 之 KVM 安装手札
创始人
2024-03-02 11:20:10
0

KVM 是 基于内核的虚拟机 Kernel-based Virtual Machine 的首字母缩写,这是一项集成在内核中的开源虚拟化技术。它是一种类型一(裸机)的 管理程序 hypervisor ,可以使内核能够作为一个 裸机管理程序 bare-metal hypervisor 。

在 KVM 之上可以运行 Windows 和 Liunx 虚拟机。每个虚拟机都独立于其它虚拟机和底层操作系统(宿主机系统),并拥有自己的 CPU、内存、网络接口、存储设备等计算资源。

本文将介绍在 Ubuntu 22.04 LTS(Jammy Jellyfish)中如何安装 KVM 。在文末,我们也将演示如何在安装 KVM 完成之后创建一台虚拟机。

1、更新 Ubuntu 22.04

在一切开始前,打开终端并通过如下命令更新本地的软件包索引:

$ sudo apt update

2、检查虚拟化是否开启

在进一步行动之前,首先需要检查你的 CPU 是否支持 KVM 虚拟化,确保你系统中有 VT-x( vmx)英特尔处理器或 AMD-V(svm)处理器。

你可以通过运行如下命令,如果输出值大于 0,那么虚拟化被启用。否则,虚拟化被禁用,你需要启用它:

$ egrep -c '(vmx|svm)' /proc/cpuinfo

SVM-VMX-Flags-Cpuinfo-linux

根据上方命令输出,你可以推断出虚拟化功能已经启用,因为输出结果大于 0。如果虚拟化功能没有启用,请确保在系统的 BIOS 设置中启用虚拟化功能。

另外,你可以通过如下命令判断 KVM 虚拟化是否已经在运行:

$ kvm-ok

运行该命令之前,请确保你已经安装了 cpu-checker 软件包,否则将提示未找到该命令的报错。

直接就在下面,你会得到如何解决这个问题的指示,那就是安装 cpu-checker 包。

KVM-OK-Command-Not-Found-Ubuntu

随后,通过如下命令安装 cpu-checker 软件包:

$ sudo apt install -y cpu-checker

接着再运行 kvm-ok 命令,如果 KVM 已经启动,你将看到如下输出:

$ kvm-ok

KVM-OK-Command-Output

3、在 Ubuntu 22.04 上安装 KVM

随后,通过如下命令在 Ubuntu 22.04 中安装 KVM 以及其他相关虚拟化软件包:

$ sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

以下为你解释刚刚安装了哪些软件包:

  • qemu-kvm – 一个提供硬件仿真的开源仿真器和虚拟化包
  • virt-manager – 一款通过 libvirt 守护进程,基于 QT 的图形界面的虚拟机管理工具
  • libvirt-daemon-system – 为运行 libvirt 进程提供必要配置文件的工具
  • virtinst – 一套为置备和修改虚拟机提供的命令行工具
  • libvirt-clients – 一组客户端的库和API,用于从命令行管理和控制虚拟机和管理程序
  • bridge-utils – 一套用于创建和管理桥接设备的工具

4、启用虚拟化守护进程(libvirtd)

在所有软件包安装完毕之后,通过如下命令启用并启动 libvirt 守护进程:

$ sudo systemctl enable --now libvirtd
$ sudo systemctl start libvirtd

你可以通过如下命令验证该虚拟化守护进程是否已经运行:

$ sudo systemctl status libvirtd

Libvirtd-Status-Ubuntu-Linux

另外,请将当前登录用户加入 kvmlibvirt 用户组,以便能够创建和管理虚拟机。

$ sudo usermod -aG kvm $USER
$ sudo usermod -aG libvirt $USER

$USER 环境变量引用的即为当前登录的用户名。你需要重新登录才能使得配置生效。

5、创建网桥(br0)

如果你打算从本机(Ubuntu 22.04)之外访问 KVM 虚拟机,你必须将虚拟机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后自动创建的,仅做测试用途。

你可以通过如下内容在 /etc/netplan 目录下创建文件 01-netcfg.yaml 来新建网桥:

$ sudo vi /etc/netplan/01-netcfg.yaml
network:
  ethernets:
    enp0s3:
      dhcp4: false
      dhcp6: false
  # add configuration for bridge interface
  bridges:
    br0:
      interfaces: [enp0s3]
      dhcp4: false
      addresses: [192.168.1.162/24]
      macaddress: 08:00:27:4b:1d:45
      routes:
        - to: default
          via: 192.168.1.1
          metric: 100
      nameservers:
        addresses: [4.2.2.2]
      parameters:
        stp: false
      dhcp6: false
  version: 2

保存并退出文件。

注:上述文件的配置是我环境中的,请根据你实际环境替换 IP 地址、网口名称以及 MAC 地址。

你可以通过运行 netplan apply 命令应用上述变更。

$ sudo netplan apply

你可以通过如下 ip 命令,验证网桥 br0

$ ip add show

Network-Bridge-br0-ubuntu-linux

6、启动 KVM 虚拟机管理器

当 KVM 安装完成后,你可以使用图形管理工具 virt-manager 创建虚拟机。你可以在 GNOME 搜索工具中搜索 Virtual Machine Manager 以启动。

点击搜索出来的图标即可:

Access-Virtual-Machine-Manager-Ubuntu-Linux

虚拟机管理器界面如下所示:

Virtual-Machine-Manager-Interface-Ubuntu-Linux

你可以点击 “ 文件 File ” 并选择 “ 新建虚拟机 New Virtual Machine ”。你也可以点击下图所示的图标:

New-Virtual-Machine-Icon-Virt-Manager

在弹出的虚拟机安装向导将看到如下四个选项:

  • 本地安装介质(ISO 镜像或 CDROM)
  • 网络安装(HTTP、HTTPS 和 FTP)
  • 导入现有磁盘镜像
  • 手动安装

本文使用已下载的 ISO 镜像,你可以选择自己的 ISO 镜像,选择第一个选项,并点击 “ 向前 Forward ”。

Local-Install-Media-ISO-Virt-Manager

下一步中,点击 “ 浏览 Browse ” 选择 ISO 镜像位置。

Browse-ISO-File-Virt-Manager-Ubuntu-Linux

在下一个窗口中点击 “ 浏览本地 Browse local ” 选取本机中 ISO 镜像。

Browse-Local-ISO-Virt-Manager

如下所示,我们选择了 Debian 11 ISO 镜像,随后点击 “ 打开 Open ”。

Choose-ISO-File-Virt-Manager

当 ISO 镜像选择后,点击 “ 向前 Forward ” 进入下一步。

Forward-after-browsing-iso-file-virt-manager

接着定义虚拟机所用内存大小以及 CPU 核心数,并点击 “ 向前 Forward ” 。

Virtual-Machine-RAM-CPU-Virt-Manager

下一步中,输入虚拟机磁盘空间,并点击 “ 向前 Forward ” 继续。

Storage-for-Virtual-Machine-KVM-Virt-Manager

如你需要将虚拟机网卡连接至网桥,点击 “ 选择网络 Network selection ” 并选择 br0 网桥。

Network-Selection-KVM-Virtual-Machine-Virt-Manager

最后,点击 “ 完成 Finish ” 按钮结束设置虚拟机。

Choose-Finish-to-OS-Installation-KVM-VM

稍等片刻,虚拟机的创建过程将开始。

Creating-Domain-Virtual-Machine-Virt-Manager

当创建结束时,虚拟机将开机并进入系统安装界面。如下是 Debian 11 的安装选项。在这里你可以根据需要进行系统安装。

Virtual-Machine-Console-Virt-Manager

小结

至此,本文向你演示了如何在 Ubuntu 22.04 上 安装 KVM 虚拟化引擎。你的反馈对我们至关重要。


via: https://www.linuxtechi.com/how-to-install-kvm-on-ubuntu-22-04/

作者:James Kiarie 选题:lkxed 译者:turbokernel 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

KVM

相关内容

研究人员揭露Linux K...
IT之家 7 月 7 日消息,研究人员 Hyunwoo Kim 发...
2026-07-14 13:35:28
bbrkvmdebian
“bbrkvmdebian” 是一个基于 Debian 操作系统的...
2024-11-26 20:31:05
Android模拟器:/d...
在Android模拟器中出现"/dev/kvm未找到,支持Vt-x...
2024-10-09 08:02:36
Android错误:I/d...
这个错误是由于Android应用程序的堆空间不足导致的。为了解决这...
2024-10-06 22:02:15
AWS存储网关-串行控制台...
如果您在使用AWS存储网关时遇到串行控制台 - KVM Linux...
2024-09-24 16:02:14
AWS存储网关 - 串行控...
遇到AWS存储网关串行控制台(KVM Linux)的问题时,可能需...
2024-09-24 16:01:06

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...