qcow2
OpenStack ploop和qcow2的区别? ploop和qcow2都是虚拟磁盘格式,它们有以下区别: 设计思想不同:ploop的设计思想是采用增量块的方式存储数据,而qcow2则是采用基于镜像的方式存储数据。 文件结构不同:ploop镜像文件包含多个存储区域,包括Delta文件、Map文件和Snapshot文件;而qcow2镜像文件只包含一个存储区域。 内存消耗不同:ploop镜像使用内存管理更加高效,内存消耗较低;而qcow2镜像则需要更多的内存管理操作,因此内存消耗较高
虚拟机最迷人之处大概就是快照功能了,花个几秒建个快照,有问题马上就可以还原,可以省下无数的时间。KVM 同样也支援快照的功能,不过它有两种不同的建立方式,Internal Snapshot 与 External Snapshot,这边先介绍比较简单的 internal snapshot internal snapshot 是 libvirt 预设使用的快照模式,用 virsh 指令就可以建立与还原,算是最简便的方式,不过 internal snapshot 比起 external snapshot 的劣势在于建立快照的时间较久,且只支援 qcow2 的 image 格式,不过所有操作都可在 virsh 下完成(用 virt-manager 的预设模式也是 internal)因此在系统不是特别复杂或只是稍微想测试个小东西时很适合使用。
最近需要一个环境调试一些非 x86 的二进制和学习一下其他体系架构的汇编,最基本的思路是 qemu 启动 qcow2 虚拟机(如果需要模拟调试路由器等设备,可能需要这种办法,现成的 qcow2 镜像可以从类似 [URL]~jcowgill/qemu-mips/ 的地方找到),但是有更轻量的用户态方式,本文将简要讨论在 qemu 的支持下,通过 debootstrap + chroot / 容器等方法构建其他指令集架构的系统基本环境,并使用 gdb-multiarch 等工具进行交叉编译、调试。