kvm压缩虚拟机磁盘

2024-08-22 22:20
文章标签 压缩 虚拟机 磁盘 kvm

本文主要是介绍kvm压缩虚拟机磁盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

kvm压缩虚拟机磁盘

kvm通过图形界面创建虚拟机后,如果指定的磁盘为200G,创建后查看物理位置文件大小为200G,注意,这里创建的时候并没有勾选“立即分配磁盘空间”。

出现以上原因会造成虚拟机安装完操作系统或者其他软件后,物理位置虚拟机文件大小会超过200G!明显是不合理的。如果用图形化界面创建虚拟机后,会造成“镜像空洞”。

解决方案:
1.创建的时候提前在需要保存的路径使用命令先创建镜像文件:

# 使用qemu-img命令创建kvm虚拟机镜像文件
qemu-img create -f qcow2 xxx.qcow2 200G

2.或者虚拟机创建完成后使用相应工具压缩镜像文件

#第一种方案
qemu-img convert -c -O qcow2 /path/xxx.qcow2 /newpath/xxx.qcow2
#第二种方案
sudo apt-get install libguestfs-tools
sudo virt-sparsify --compress /path/xxx.qcow2 /newpath/xxx.qcow2

注意:如果是执行qemu-img命令创建的,这个文件创建后会非常小,安装完操作系统后文件会随之变大。

例如:
1.使用命令创建

# 此时创建的文件122k
qemu-img create -f qcow2 win2022.qcow2 200G

2.kvm创建虚拟机,选择win2022.qcow2文件
3.设置kvm虚拟机其他选项
4.安装windows操作系统后清理windows磁盘,优化windows磁盘
5.关闭kvm虚拟机
6.查看win2022.qcow2文件大小为12G
7.使用命令压缩:

sudo virt-sparsify --compress /home/temp/win.qcow2 /home/temp/test/win2022.qcow2

注意:使用virt-sparsify压缩的时候,会产生临时文件到/tmp目录中,如果/tmp目录比较小,则建议进行如下操作,否则压缩会失败

注意,一定要用root的身份登录后操作,不要使用sudo

# mkdir /home/temp/linux-temp
# chmod 1777 /home/temp/linux-temp
# export TEMP=/home/temp/linux-temp
# export TMPDIR=/home/temp/linux-temp

8.将压缩后的虚拟机镜像移动到指定存放路径后重新迁移虚拟机(其实这里就就相当于把虚拟机磁盘优化到最小后,重新指定了镜像位置)

这篇关于kvm压缩虚拟机磁盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097556

相关文章

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h 确保没有文件正在使用 使用lsof 命令来检查 sudo lsof |grep /dev/sdc 卸载分区 假设硬盘的分区是 /dev/sdc1,使用u

虚拟机ubuntu配置opencv和opencv_contrib

前期准备  1.下载opencv和opencv_contrib源码 opencv-4.6.0:https://opencv.org/releases/ opencv_contrib-4.6.0:https://github.com/opencv/opencv_contrib 在ubuntu直接下载或者在window上下好传到虚拟机里都可以 自己找个地方把他们解压,个人习惯在home下新建一

OpenStack创建虚拟机过程

OpenStack创建虚拟机过程 一、在分析OpenStack创建虚拟机的过程之前,先来梳理一下需要用用到哪些组件。 二、每一步都需要去keystone去进行验证,下图有详细的流程。 登录界面或命令行通过RESTful API向keystone获取认证信息。keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。界面或命令行通过RESTful API

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例,其 OOM 时的内存快照大小通常在512M左右,要有效的存储和获取都是一个问题。 线下拿到hprof文件相对容易,也可以预防OOM,但覆盖的场景十分有

VMware Fusion Pro 13 Mac版虚拟机 安装Win11系统教程

Mac分享吧 文章目录 Win11安装完成,软件打开效果一、VMware安装Windows11虚拟机1️⃣:准备镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:安装虚拟机5️⃣:解决连不上网问题 安装完成!!! Win11安装完成,软件打开效果 一、VMware安装Windows11虚拟机 首先确保自己的mac开启了网络共享。不然虚拟机连不上👀的 1️⃣:准备镜像