KVM学习(1)
- KVM是一种开源的虚拟化技术
虚拟机技术的演变
- 软件模拟:通过软件完全模拟CPU、芯片组、磁盘、网卡等硬件
- 虚拟化层翻译:通过虚拟化引擎,捕获虚拟机的指令,并进行处理。
- 容器虚拟化:通过CGroups、Namespace等技术将进程隔离。,每个进程都像一台独立的虚拟机,有自己被隔离出的资源,比如根目录,进程编号,内存空间
KVM的架构
- KVM是内核的虚拟化模块
- QEMU:模拟硬件提供虚拟机使用
- Libvirt:提供对虚拟机的管理的命令行工具
QEMU与KVM
- QEMU是硬件模拟器,还内建了DHCP、DNS、SMB、TFTP服务器。
- 因为QEMU是纯软件模拟器,所有非常慢
- KVM是只是一个内核模块,没有内核管理工具,KVM的虚拟机可以借助QEMU的管理工具进行管理。
- QEMU可以借助KVM加速虚拟化速度。
Libvirt和KVM
- libvirt是一套虚拟化管理工具,由三部分组成
- 一套API的lib库,
- Libvirt服务
- 命令行工具virth
-
libvirt可以实现对虚拟机的管理,比如虚拟机的创建、启动、关闭、暂停、恢复、迁移、销毁,以及虚拟机网卡、硬盘、cpu、内存等设备的热添加。
-
libvirt对虚拟机的管理分为两个部分
- 存储池资源管理,支持本地文件系统目录、裸设备、lvm、nfs、iscsi等方式。在虚拟机磁盘格式上支持qcow2、vmdk、raw等
- 网络资源管理,支持linux桥、VALN、多网卡绑定管理,libvirt还支持nat和路由方式的网络
网友评论