在 QEMU/KVM 中,客户机可以使用的设备大致可分为三类: 1. 模拟设备:完全由 QEMU 纯软件模拟的设备。 2. Virtio 设备:实现 VIRTIO API 的半虚拟化设备。 3. PCI 设备直接分配(PCI device assignment) 。 1. 全虚拟化 I/O 设备 KVM 在 IO 虚拟化方面,传...
本文将分析 PCI/PCIe 设备直接分配(Pass-through)和 SR-IOV, 以及三种 I/O 虚拟化方式的比较。 1. PCI/PCI-E 设备直接分配给虚机 (PCI Pass-through) 设备直接分配 (Device assignment)也称为 Device Pass-Through。 先简单看看PCI 和 PCI-E 的区别(...
1. Libvirt 是什么 为什么需要Libvirt? Hypervisor 比如 qemu-kvm 的命令行虚拟机管理工具参数众多,难于使用。 Hypervisor 种类众多,没有统一的编程接口来管理它们,这对云环境来说非常重要。 没有统一的方式来方便地定义虚拟机相关的各种可管理对象。 Li...
1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervisor 的虚机。Nova 使用 libvirt 管理 QEMU/KVM 虚机,还使用别的 API 去管理别的虚机。 libvirt 的实现代码在/nova/virt/l...
本文将梳理 QEMU/KVM 快照相关的知识,以及在 OpenStack Nova 中使用 libvirt 来对 QEMU/KVM 虚机做快照的过程。 1. QEMU/KVM 快照 1.1 概念 QEMU/KVM 快照的定义:快照就是将虚机在某一个时间点上的磁盘、内存和设备状态保存一下,以备将来之用。它包括以下...
1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移。系统整理迁移,是将系统上所有软件包括操作系统完全复制到另一个物理机硬件机器上。虚拟化环境中的迁移,可分为静态迁移(static migration,或者 冷迁移 cold migration...
最近,我们庆祝了 Linux 项目诞生 25 周年。KVM,亦称为 基于内核的虚拟机 Kernel-based Virtual Machine ,是 Linux 内核的一部分,在十月份庆祝了它的十周年生日。KVM 于 2006 年 10 月 19 日由其创建者 AviKivity 首次发布在 Linux 内核的邮件列表里。 KV...
3.1基本原理 CPU虚拟化是VMM中最核心的部分,由于内存和IO访问的指令都是敏感指令,所以内存和IO虚拟化都依赖于CPU虚拟化的实现。CPU虚拟化的目标是让虚拟机中执行的所有敏感指令都能产生异常而陷入,并由VMM进行模拟。VMM的陷入是通过CPU的保护机制、中断或...
cat /proc/cpuinfo | egrep vmx|svm apt-get install qemu-kvm libvirt-bin virt-managerbridge-utils lsmod | grep kvm virsh -c qemu:///system list 这个是安装kvm 然后添加虚拟机 qemu-img info aa.img 查看虚拟机现在的事什么格式 qemu-img convert -f...
背景 由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装。因此,我还是更倾向于在命令下安装配置KVM虚拟机。结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使用方法。 安装配置 一、环境介绍 操作系统:ce...