什么是虚拟化?
在计算中,虚拟化是一种创建基于软件的特定工具实例的方法,该特定工具通常是物理的。 可以虚拟化的工具种类有:
- 软件。
- 操作系统(OS),最常见的 example 的虚拟化。
- 储存设备。
- 平台。
- 计算机网络。
虚拟化允许创建不同于物理机但分配了物理资源的虚拟机 (VM)。 这是减少所需物理服务器或资源数量的好方法,并且可以在几台不同的机器上分离某些应用程序。 这种分离有助于解决出现的特定问题。
除了流行的 3rd 方虚拟化应用程序,如 Oracle 的 VirtualBox 或 VMware,Linux 内核的内置模块称为基于内核的虚拟机 (KVM),使 Linux 内核能够充当管理程序。 KVM 于 2007 年并入 Linux 内核,并迅速普及。 它被各种操作系统采用,并在大多数 CPU 平台(x86、PowerPC、ARM 等)上得到支持。
管理程序
在虚拟化结构和方法方面,每个 VM(也称为来宾)都是由基于软件或硬件的虚拟机管理程序创建和运行的。 管理程序虚拟化运行在物理硬件上,也称为主机。
管理程序的类型
有两种不同的管理程序:类型 1 和类型 2。
类型 1
1 类管理程序直接安装在物理硬件上,中间没有操作系统或其他软件。 这种类型称为裸机管理程序。
类型 2
类型 2 管理程序在操作系统上运行,它将管理程序与物理服务器分开。 该软件或操作系统支持在主机系统上运行 VM。
这两种类型之间的区别通常很模糊,因为 KVM 可以分为 Type 1 或 Type 2。本质上,KVM 模块将 Linux 内核变成了 Type 1 裸机管理程序。 但是,它被视为类型 2,因为主机操作系统功能齐全,并且所有正在运行的虚拟机都被它视为标准 Linux 进程。
在今天的 Ubuntu 服务器虚拟化教程中,KVM 安装在 Ubuntu 20.04 LTS 之上,将其归类为 Type 2 hypervisor。
注意:Liquid Web 也有关于服务器虚拟化如何工作以及如何使用 KVM 作为 CentOS 虚拟化服务器的大量指南。
先决条件
与许多其他 Linux 发行版一样,Ubuntu 虚拟化支持各种技术和应用程序。 但是,在终端中运行的大多数命令都需要 root 访问权限或 sudo 特权。
验证您的硬件是否支持虚拟化
在 KVM 安装和设置之前,请检查您的 CPU 是否支持硬件虚拟化。 为此,请运行以下命令。 如果输出显示除 0 之外的任何数字,则您的 CPU 在其当前状态下可以运行虚拟化。
root@ubuntu:~# egrep -c '(vmx|svm)' /proc/cpuinfo
2
注意:命令的 vmx 或 svm 部分取决于您的 CPU。 vmx 用于 Intel 机器, svm 用于 AMD 机器。
如果您的输出为 0:
- 重新启动系统。
- 访问 BIOS 设置。
- 选择 CPU。
- 英特尔处理器:英特尔虚拟化技术(英特尔 VT)。
- AMD:AMD-V。
虚拟化默认禁用,必须启用才能利用各种虚拟化技术,如 KVM。 根据您的 CPU 制造商,它可能会或可能不会提供启用虚拟化的选项。
在 BIOS 设置中启用虚拟化后,使用以下命令重新检查它。 lscpu 命令适用于两个处理器,并以不同的方式产生相同的信息。
root@ubuntu:~# lscpu | grep 'Virtualization|Hypervisor'
Virtualization: AMD-V
Hypervisor vendor: KVM
Virtualization type: full
CPU:英特尔处理器
要验证在 Intel 处理器上启用了虚拟化,请使用以下命令。 如果输出显示 vmx 标志,则表示您的 CPU 支持硬件虚拟化。
grep --color vmx /proc/cpuinfo
处理器:AMD
使用以下命令验证 AMD CPU 上是否启用了虚拟化。
grep --color svm /proc/cpuinfo
KVM 加速
确认您的 CPU 上启用了虚拟化后,查看您的计算机是否支持 KVM 加速。
一般来说,KVM 加速可以提高 VM 的性能,使其能够以几乎原生的速度运行应用程序。 这有助于 KVM 比任何其他行业虚拟机管理程序更快。 使用以下命令检查您的计算机是否支持 KVM 加速。
root@ubuntu:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
如果尚未安装,请在 Ubuntu 操作系统上使用 apt 命令安装 kvm-ok 工具。
root@ubuntu:~# apt install cpu-checker
在 Ubuntu 服务器上安装 KVM
更新您的操作系统存储库。
root@ubuntu:~# apt update
接下来,安装以下工具(包)及其依赖项:
- qemu 是一个运行操作系统仿真的工具。 qemu-kvm 是主包。
- libvirt-daemon 是一个用于 KVM 虚拟化的守护进程。
- libvirt-clients 是一个包含 virsh 和各种客户端工具的软件包。
- bridge-utils 允许用户访问虚拟机。
- virt-manager 是一个基于图形用户界面 (GUI) 的应用程序,用于创建和管理 VM。
root@ubuntu:~# apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
基本软件包安装完成后,检查 libvirt 守护进程的状态。
root@ubuntu:~# service libvirtd status
● libvirtd.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-09-16 13:14:47 CEST; 1min 3s ago
如果守护程序没有运行,请使用 systemctl 命令启动它。
root@ubuntu:~# systemctl enable --now libvirtd
使用 lsmod 命令检查是否加载了 KVM 模块。
root@ubuntu:~# lsmod | grep -i kvm
kvm_amd 114688 0
kvm 823296 1 kvm_amd
如果 Ubuntu 操作系统上存在多个用户,请将他们添加到以下每个组中,使他们能够创建和启动虚拟机。
使用以下命令将用户添加到 libvirt。
root@ubuntu:~# adduser 'Tom' libvirt
Adding user `Tom' to group `libvirt' ...
Adding user Tom to group libvirt
Done.
使用以下命令将用户添加到 KVM。
root@ubuntu:~# adduser 'Tom' kvm
Adding user `Tom' to group `kvm' ...
Adding user Tom to group kvm
Done.
使用 KVM 创建虚拟机
在本教程中,CentOS 充当我们 Ubuntu 虚拟化主机上的来宾操作系统。
使用命令行界面 (CLI) 或 KVM 的 virt-manager GUI 创建 VM。
命令行界面
使用 virt-install 命令通过 CLI 创建 VM。
root@ubuntu:/ # virt-install --name=centos
--vcpus=1
--memory=1024
--os-variant=centos8
--disk path=/var/lib/libvirt/images/centosvm-os.qcow2,format=qcow2,bus=virtio,size=20
--cdrom=/home/tom/Downloads/CentOS-8.3.2011-x86_64-boot.iso
--network bridge:eth1
--graphics none
定义上述参数并运行命令后,将开始安装 CentOS 虚拟机。
以下是对上面使用的选项的简短说明:
- –name:定义虚拟机的名称。
- –vcpus:要分配给 VM 的虚拟 CPU 数量。
- –memory:要分配的 RAM 量。
- –os-variant:此选项不是必需的,但定义它有助于提高 VM 性能。
- –disk path:定义虚拟机安装的位置(它是磁盘文件),通常与 size 选项一起使用,以 GB 为单位分配数量。
- –cdrom:ISO(光盘映像)文件的路径。
- –network bridge:用于设置网络接口。
- –graphics:用于设置图形界面。 在我们的例子中,不需要。
如果您不确定您的操作系统系列,请安装 libosinfo-bin 软件包。
root@ubuntu:/# apt install libosinfo-bin
使用以下命令查看操作系统系列。
root@ubuntu:/# osinfo-query os
注意:查看 virt-install 工具的手册页以了解 VM 部署选项。
图形用户界面 (GUI)
要创建虚拟机,请搜索并开始 虚拟机管理器 从应用程序菜单。
在 VM Manager 启动时,单击 电脑图标 在左上角。
接下来,选择 本地安装媒体(ISO 映像或 CDROM) 安装选项。 点击 向前 接着说。

点击 浏览… 并选择 ISO 文件,然后定义操作系统并单击 向前 接着说。

为 VM 分配 CPU 和 RAM 资源,然后单击 向前 接着说。

接下来,调整存储选项并为 VM 分配磁盘空间。 点击 向前.

最后,指定 VM 名称、查看配置并定义网络设置。 单击 结束 按钮将开始从 ISO 文件安装 VM OS。

结论
本教程涵盖了 Ubuntu 虚拟化概念,包括什么是虚拟化、类型 1 和类型 2 管理程序,以及使用 KVM 使用 CLI 和 GUI 设置 Ubuntu VM 主机。
Liquid Web 的专用托管和托管私有云托管为您的下一个项目提供 Ubuntu 服务器选项。 我们的销售团队 24/7 全天候为您提供设置可能需要的任何帮助。 今天就联系他们。
