「KVM」- 虚拟化环境搭建

  CREATED BY JENKINSBOT

问题描述

最然现在 Docker 非常方便,也成为我们运行及部署应用的主要方式,但是某些场景还是需要使用虚拟化方案。

该笔记将记录:在 Linux 中,如何部署及使用 KVM 虚拟化环境,以及部署相关的问题处理。

解决方案

第一步、检查硬件虚拟化

检查是否支持硬件虚拟化:

grep --color -E '(vmx|svm)' /proc/cpuinfo

输出中应该出现 vmx 或 svm 等内容,否则就是不支持硬件虚拟化。

第二步、检查内核模块

检查内核是否加载 KVM 模块,:

# lsmod | grep kvm
kvm_amd              2176416  0
kvm                   578558  1 kvm_amd
irqbypass              13503  1 kvm

类似如上输出则表示加载成功。

第三步、安装依赖及服务

安装相关的软件包及依赖:

# Debian 10 / Ubuntu 20.04 LTS
apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils \
    libguestfs-tools genisoimage virtinst libosinfo-bin

# CentOS
yum install -y qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install bridge-utils

第四步、启动 libvirtd 服务

启动 libvirt 服务并开机启动:

systemctl enable libvirtd.service
systemctl start libvirtd.service

systemctl stop libvirtd.service                                                     

它主要用于虚拟机的管理工作,而KVM的作用是提供虚拟化。例如虚拟机的定义、网络管理等等这些都是通过libvirt进行管理的。如果不使用libvirt工具,那你就要直接从命令行里使用qemu有关的命令来管理虚拟机,不好。

第五步、重启操作系统

如果允许重启服务器,我们还是建议重启。因为,我们部署服务之后,并没有重启主机,我们认为没有必要。但是,在使用的过程中遇到一个问题,在重启之后该问题得以解决。

参考文献

KVM – Debian Wiki
Install KVM Hypervisor on CentOS 7.x and RHEL 7.x
How to install KVM server on Debian Linux 9 Headless Server
Starting and Stopping libvirtd | Virtualization Guide | openSUSE Leap 42.1