kvm:是linux内核的模块,它需要CPU的支持,采用硬件辅助虚拟化技术Intel-VT,AMD-
V,内存的相关如Intel的EPT和AMD的RVI技术,主要是提供底层命令支持
qemu:一个虚拟化的仿真工具,通过ioctl不内核kvm交互完成对硬件的虚拟化支持,主要提供虚拟硬件的仿真支持
libvirt:是一个对虚拟化管理的接口和工具,提供用户端程序virsh,virt-install,virt-manager,virt-view不用户交互,因为一条完整的启动虚拟机的命令是非常非常非常长的,要在命令中指定所有的虚拟机配置,简直就是反人类,所有我们都是通过和libvirt交互来控制虚拟机
libvirt-client//客户端软件,提供客户端管理命令,eg:virsh,virt-manager
libvirt-daemon-driver-qemu//libvirtd连接qemu时的驱动,libvirtd不单单可以连接qemu也可以连接VMware和virtualBOX
–virshconsole虚拟机名称//通过这个命令连接到虚拟机是连接的虚拟机的串口,相当于直接连接的虚拟机的屏幕,能够进行任何操作,包括修改网卡,甚至进入修复模式,断开连接只能用“ctrl ]”
镜像文件使用的比较多的时RAW和QCOW2这两种格式,QCOW2是kvm默认的格式,除了在I/O速度上比不上RAW,其他方面都完爆RAW,它主要是使用了COW技术,能够非常快速的拷贝文件
client访问前端盘,当前端盘有client需要的数据的时候,前端盘直接将数据返回给client;当前端盘没有对应数据的时候,前端盘就访问后端盘,copy一份数据到前端盘,然后再返回给client。client对数据的修改保存在前端盘上,后端盘的数据是readonly的
qemu-imgcreate-f格式磁盘路径大小//-f:指定文件格式,创建的文件存放在当前路径
其中disk.img是后端盘,disk1.img是前端盘,前端盘的大小一定要大于等于后端盘