VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...
wine
jvm, pvm, ...
Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;
硬件级物理内存映射到虚拟机
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。
KVM模块load进内存之后,系统的运行模式:
扫描物理内存,发现多个虚拟机实例有相同的内存空间,合并成为一个共享内存空间,节省内存。
运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它合适的选项及参数即能完成虚拟机启动,终止此进程即能关闭虚拟机;
kvm:核心模块
CentOS 7创建物理桥,使用内核自带的桥接模块实现:
桥接口配置文件保留地址信息;
物理网卡配置文件:
删除地址、掩码和网关等相关的配置,添加
重启网络服务即可:
此时会断网,到虚拟机重启一下,发现已生成网桥,但还要配置网桥的dns,否则无法上网。
其他终端图形登录[root@node-60 ~]# ssh -X root@192.168.1.64
参考链接:
http://www.178linux.com/103971
https://www.cnblogs.com/sunhao96/p/7605865.html
https://bbs.csdn.net/topics/391040787
https://www.ibm.com/developerworks/cn/linux/l-pci-passthrough
内部磁盘快照使用单个qcow2文件来保存快照和快照之后的改动。这种快照是libvirt默认支持的方式,其缺点是只支持qcow2格式的磁盘镜像,而且过程较慢。
使用 virsh save/restore 命令,可以在虚拟机开机状态下保存内存状态、设备状态、磁盘装套到指定文件中,还原的是后虚拟机关机,使用 virsh restore 还原。(类似于休眠)
外置磁盘快照创建的快照是一个只读文件,成为1个backing-file,快照后改动的内容存放到另一个qcow2文件,成为1个overlay,外置快照可以支持各种格式的磁盘镜像文件,外置快照的结果是形成一个qcow2文件链。快照状态为disk-snapshot的为外置快照。
虚拟机的磁盘磁盘状态被保存到一个文件中,内存和设备状态被保存到另一个文件中。
注意:如果虚拟机存在多硬盘,在创建外置快照时,为保证原子性,需要添加参数atomic
虚拟机的快照链:
外置快照可以用合并的方式缩短快照链,而不能通过删除的方式,因为每个快照中都保存相应的数据。合并快照的方式有2种:blockcommit向下合并和blockpull向上合并。
blockcommit将top镜像合并至低层的base镜像,一旦合并完成,处在最上面的overlay将自动被指向低层的overlay或base,即合并overlay到backing-file。
在创建外置快照时出现 Operation not supported: live disk snapshot not supported with this QEMU binary 的错误提示,需要执行以下操作:
KVM的快照之间存在链式关系,快照链中在未执行合并前,不能删除快照链中的任意一个快照。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)