Last updated on:February 18, 2023 pm

基于内核的虚拟机(Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施。KVM目前支持Intel VT及AMD-V的原生虚拟技术

1 KVM简介

  • 一些概念

    • 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案
    • 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)
    • KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面
    • 在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心
  • QEMU-KVM

    • 在Linux系统中,仅加载了KVM内核模块是不够的,用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。因此KVM的开发者选择了已成型的开源虚拟化软件QEMU,形成可控制KVM内核模块的用户空间工具QEMU-KVM
  • libvirt

    • Libvirt 是一套提供了多种语言接口的API,为各种虚拟化工具提供一套方便可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。Libvirt 不仅提供了 API,还自带一套基于文本的管理虚拟机的命令 virsh,可通过使用 virsh 命令来使用 libvirt 的全部功能

2 KVM安装

2.1 检查虚拟化支持

KVM是面向具备Intel VTAMD-V虚拟化硬件的技术,因此首先需要check你的系统是否支持虚拟化:

egrep '(vmx|svm)' /proc/cpuinfo

能看到flag *******的输出即表明支持虚拟化,其中vmx对应Inter VT,svm对应ADM-V

2.2 安装相关软件包

理论上KVM的最小安装就是qemu-kvmvirtinst,但考虑到管理上的便捷性,我们需要libvirt-daemon作为守护进程和virt-manager的GUI管理界面,以及brctl

# 更新镜像源(如果有必要)
sudo apt-get update

# 安装相关软件包
sudo apt install qemu qemu-kvm virtinst virt-manager bridge-utils

管理libvirtd.service

# systemd管理
sudo systemctl [start|stop|restart|enbale|disable|status] libvirtd

3 KVM使用

所有的KVM的管理都可以从virt-manager图形化界面来操作,因此下面主要介绍命令行接口

3.1 创建KVM虚拟机

3.2 管理KVM虚拟机

3.3 配置虚拟机网络

To be completed… : )

4 参考

[1] 基于内核的虚拟机(KVM) 维基百科

[2] kvm 虚拟化概述及 virt-manager 安装虚拟机

[3] Debian 9 安装 KVM 虚拟机


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

搭建Jupyter-Notebook服务器 Previous
编写systemd服务脚本 Next

 TOC

载入天数... 载入时分秒...