错误提示: [root@localhost kvm_demo]# qemu-system-x86_64 -m 1024 -smp 4-bootorder=cd -hda /home/kx/kvm_demo/xp.img -cdrom /home/kx/kvm_demo/winxp_32.iso Could not access KVM kernel module: No such file or directory failed to initialize KVM:...
在centos6.5上面创建kvm很顺利,在centos7.1上面遇到有些问题,在此记录下来,参考文档 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/chap-Network_configuration.h...
1. KVM 介绍 1.0 虚拟化简史 其中,KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor: 它由Quramnet 开发,该公司于 2008年被Red Hat 收购。 它支持x86 (32 and...
1. 为什么需要 CPU 虚拟化 X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完全占有计算机硬件。x86 架构提供四个特权级别给操作系统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别,Ring 0是最高级别,Ring1次之,Ring2更次之就 Li...
在 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...