虚拟机镜像文件

article/2025/10/11 6:39:49

通常虚拟机用到的image文件有两种:raw和qcow2。

制作raw格式文件的命令:

#qemu-img create –f raw Linux-test.raw 20G

制作qcow2格式文件的命令:

制作qcow2格式的文件有两种方式:一种是backing_file方式,另外一种就是非backing_file方式。

非backing_file方式制作qcow2文件:

#qemu-img create –f qcow2 Linux-test.qcow2 20G

用上面命令制作出来的qcow2文件与raw格式的区别就是,qcow2格式的image的大小可以动态增长。

backing_file方式制作qcow2格式文件:

#qemu-img create –f qcow2 –o cluster_size=2M,backing_file=Linux-test.raw Linux-test.qcow2 40G

backing_file方式的创建虚拟,这里写的40G并不会真正占用40G的空间,只是限制Linux-test.qcow2文件的最大的大小。

当raw格式文件中安装的系统是windows系列的时候,创建qcow2格式最后文件大小需要比raw格式大2~3倍。

这里的Linux-test.qcow2格式的文件并不是独立的image。在使用时需要与Linux-test.raw磁盘一起用。

如下图所示:

image

虚拟机是直接与qcow2格式image交互。raw格式image作为backing file,对虚拟机而言,是完全透明的。实际上,qcow2文件采用的是写时复制策略。qcow2 格式image只是保存了所有的更改数据,raw格式image中的数据不会发生丝毫变动。所以一个backing_file可以被多个虚拟机采用qcow2的方式进行共享,因为此时虚拟机不会直接对backing_file进行写操作。

如果使用的是qcow2格式的磁盘,那么虚拟机xml文件应该按照如下格式填写:

image

 raw格式qcow2格式
格式转换可以直接转换为其他格式很多时候不能直接转换为其他格式,不过可以先转换为raw格式,再转换成其他格式。花费时间较长
占用空间qemu-img命令旧版本是硬盘多大则占用多大空间。
新版本则根据实际使用量来决定占用空间。
根据实际用量来决定占用空间大小
宿主机文件系统需要宿主机分区使用特定的文件系统,如:ext2、ext3、ext4、NTFS等等宿主机文件系统选择范围更大
改变空间最大值直接可以改变不可以直接改变,需要转为raw格式后再改变
持载可以直接挂载可以直接挂载
加密、压缩、快照不支持支持
删除文件占用空间与磁盘使用量会变小只是删除文件描述符,并没有真正删除数据,占用空间不变

在为虚拟机添加raw格式的image的时候,xml文件格式如下:

image

查看image文件格式:

#qemu-img info Linux-test.raw

 

摘自:OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop 戢友 清华大学出版社.


http://chatgpt.dhexx.cn/article/lfqZ97dR.shtml

相关文章

【调试】——idea远程调试服务器上的代码

前提 有些时候难免会出现一些线上问题,可能就需要远程调试服务器上的代码,依次快速定位错误代码,进行改正。小编最近通过idea进行了远程代码调试,特此记录一下,希望可以帮需要的朋友。 步骤 1、保证本机的代码和服务…

Idea远程调试tomcat

Idea远程调试tomcat Idea配置 配置remote 传输方式,默认为Socket ​ Socket:macOS 及 Linux 系统使用此种传输方式; ​ Shared memory: Windows 系统使用此种传输方式。 ​ 调试模式,默认为Attach ​ Attach&…

详述 IntelliJ IDEA 远程调试 Tomcat 的方法

博主说:在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试。 首先,配置remote: 如…

Idea设置远程debug

1、在tomcat配置文件 apache-tomcat-8.5.56/bin/catalina.sh 第一行添加以下语句: //12345为远程连接端口,可自己设置 CATALINA_OPTS"-server -Xdebug -Xnoagent -Djava.compilerNONE -Xrunjdwp:transportdt_socket,servery,suspendn,address12345…

使用 IDEA 远程 Debug 调试

背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例。首先,启动springboot需要加上特定的参数。…

利用IDEA的远程debug进行远程代码调试。

经常开发的同学肯定会遇到一个恶心的问题。 MD!明明老子本地是正常的,怎么一上测试环境or生产环境就炸崩崩了。 现在我们来配置远程debug,配完以后我甚至再也不喜欢在本地调试了(手动斜眼) 首先第一步请在linux服务…

Idea进行远程Debug

问题定位,数据追踪?离不开远程Debug,下面让我们来看看那怎么实现远程Debug 第一步、在Idea中创建Remote 点击Edit Configurations--创建Remote 第二步、在服务器中启动项目 原先启动命令: $ java -jar api-gateway-exec.jar …

IntelliJ IDEA远程调试

远程服务DEBUG模式启动 远程服务以debug模式启动需要执行java命令时带上以下JVM参数 java -Xdebug -Xnoagent -Djava.compilerNONE -Xrunjdwp:transportdt_socket,address5005,servery,suspendnaddress指定调试端口,可以按需更改。无论你的服务是普通的java进程&a…

IDEA如何进行远程Debug

1. 问题背景 项目的部署方式有主要有两种,第一种是以本地SpringBoot直接启动或是非SpringBoot的应用在本地应用服务器进行部署;第二种则是将项目在远程服务器部署。一般本地直接启动的项目可以直接进行DEBUG调试,但是在企业内部或是多人协同…

idea远程Debug,远程调试

如果需要进行测试直接跳到第三步进行设置就可以 idea远程Debug,远程调试 一.为什么使用远程Debug二.搭建项目1.项目配置2.打包项目 三.Debug测试1.创建链接2.启动项目3.测试接口 一.为什么使用远程Debug 由于部署环境和本地环境的差异性,在本地运行的好…

IDEA配置远程debug调试

当项目部署到远程服务器上的时候,很多时候会发现在远程服务器上执行的结果与我们在本地的执行结果不一致,因此,为了方便我们部署到远程服务器上和在本地debug调试一直,特需配置远程debug调试。 配置远程debug的条件: …

IDEA tomcat远程调试

最近研究tomcat内存马,但本地不具备代码运行条件,本地dns坏了,本地运行报错: 错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: ***-PC: ***-PC 遂尝试远程调…

IDEA如何远程断点调试jar包

1.问题 以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境下编译运行Spring Boot项目不报错,如何复现jar包运行时的错误呢?这就需要在IDEA下远程断点调试jar包代码。 2.步骤 将 springboot 项目打成jar包;在IDEA中&a…

Idea Intellij 远程开发调试

一、背景 在构建MiniOB开发环境时需要Linux环境,另外结合分布式系统,利用较好的通信,萌发了远程开发的想法;实际上远程部署、开发在很久之前有过想法(大约刚开始学SpringBoot进行部署软件时,反复地本地开发…

IDEA远程debug调试设置

1写作目录 最近发现工作的项目竟然不能本地跑,只能在预发环境测试,那只能远程debug了,所以写个博客记录一下。 2实操 2.1项目启动添加参数 如下所示,配置了一个debug端口8000 java -Djavax.net.debugssl -Xdebug -Xnoagent -…

IDEA远程调试Java代码

文章目录 1 前言2 远程 Debug 调试原理2.1 理论基础2.2 远程调试分类 3 主动连接调试3.1 远程服务中开启 Debug 服务3.1.1 对于 SpringBoot3.1.2 对于 Tomcat 3.2 IDEA 中指定 Debug 服务器3.3 远程服务器防火墙端口放行 4 被动连接调试4.1 对于 Tomcat4.2 对于 SpringBoot 5 开…

IDEA如何开启远程调试

要进行远程调试,首先被调试的服务必须支持远程调试,先要开一个远程调试接口,在启动参数里面增加下面的语句: -agentlib:jdwptransportdt_socket,servery,suspendn,address6001 这主要是指定远程调试的端口,为6001。一…

IDEA 远程调试

IDEA 远程调试,像运行本地代码一样调试远程主机上的程序,以排查远程程序的BUG或代码执行流程。 作者:王克锋 出处:https://kefeng.wang/2018/03/06/idea-remote-debug/ 版权:自由转载-非商用-非衍生-保持署名&#…

IDEA 远程断点调试

IDEA 远程断点调试 有时候,有些bug无法在本地环境复现,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 首先,点击Edit Configurations 然后点击左上角的Add New Configuration,选择Remove…

idea实现远程调试

1.项目开启远程调试 在-jar 后面配置 -agentlib:jdwptransportdt_socket,servery,suspendn,address8327 (8327是远程调试的端口号,注意不要和项目端口号冲突) nohup java -jar -agentlib:jdwptransportdt_socket,servery,suspendn,address8…