KVM
介绍
virtualization 资源管理
一台物理机虚拟出多台虚拟机
多个物理机虚拟出一台虚拟机(看应用在哪的情况下)
完全虚拟化
部分虚拟化
硬件辅助(CPU)
系列 | PC/服务器版代表 |
VMware | VMware Workstation、vSphere |
Microsoft | VirtualPC、Hyper-V |
RedHat | KVM、RHEV |
Citrix | Xen |
Oracle | Oracle VM VirtualBox |
KVM/QEMU/LIBVIRTD
KVM是Linux内核的模块,他需要CPU的支持,采用硬件辅助虚拟化技术Intel-VT ,AMD-V,内存的相关如Intel的EPT和AMD的RVI技术
QEMU是一个虚拟化的仿真工具,通过ioctl与内核kvm交互完成对硬件的虚拟化支持
Libvirt是一个对虚拟化管理的接口和工具,提供用户端程序virsh, virt-install, virt-manager ,virt-view与用户交互
必备软件:
qemu-kvm
为 kvm 提供底层仿真支持
libvirt-daemon
libvirtd 守护进程,管理虚拟机
linvirt-client
用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu
libvirtd 连接 qemu 的驱动
可选功能
virt-install 系统安装工具
virt-manager 图形管理工具
virt-v2v 虚拟机迁移工具
virt-p2v 物理机迁移工具
虚拟化平台的安装
yum -y install qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
systemctl satrt libvirtd
kvm虚拟机的组成
内核虚拟化模块(KVM)
系统设备仿真(QEMU)
虚拟机管理程序(LIBVIRT)
一个XML文件(虚拟机配置声明文件)
位置 /etc/libvirt/qemu/
一个磁盘镜像文件(虚拟机的硬盘)
位置 /var/lib/libvirt/images
提供管理各虚拟机的命令接口
支持交互式,查看/创建/停止/关闭....
格式:virsh 指控命令 [虚拟机名称] [参数]
virsh nodeinfo 查看KVM节点(服务器)信息
virsh dominfo 虚拟机名称 #查看指定虚拟机信息
list [--all] 列出虚拟机
start | shutdown | reboot 虚拟机启动,停止,重启
destroy 强制停止虚拟机
define | undefine 根据xml文件 创建/删除 虚拟机
console 连接虚拟的
edit 修改虚拟机的配置(和vim差不多)
autostart