不是KVM不支持精简置备的磁盘,而是VMM

news2024/11/18 23:44:41

2990ac3b7dbb05b546f195d98b04f730.gif

正文共:999 字 11 图,预估阅读时间:1 分钟

书接上文不会吧!KVM竟然不支持磁盘的精简置备!?,我们已经掌握了通过“虚拟系统管理器VMM”创建虚拟机的基本方法,但是遗留了一个问题,那就是通过页面创建没有“精简置备”磁盘的选项,导致磁盘空间占用非常高,无法创建足够数量的虚拟机。

简单回顾一下,这是我们虚拟机的虚拟磁盘,存储大小为30 GB,存储格式为qcow2,其他为默认选项,没有“精简置备”的选项。

330a1e2749f8d5c90281ca4bce14cef5.png

从命令行查看文件,大小同样为30 GB。

9e02a7e98610d409ef9d2b7bf811a199.png

我想在网上搜一下解决方案,没想到竟然直接搜到了我提出的问题,这也太尴尬了!

d1206dd1b2c0b2c7cb5e282c0fa04168.png

没办法,再翻翻其他的。

结合广大同学的建议,基本上都指向了一个改进方向,那就是命令行操作。但是Libvirt不能直接使用精简置备的卷来作为存储池,即创建逻辑卷时,没有精简置备的选项。

如果要将精简卷与libvirt一起使用,有两种可能的操作:

1、手动创建所需的精简卷,再将其挂载到虚拟机上;

2、创建一个大型精简卷,使用XFS对其进行格式化,挂载它并使用libvirt创建一个基于目录的存储池(将VM磁盘映像创建为XFS文件系统上的纯文件)。

主要操作命令是qemu-img,命令的介绍和用法请参考qemu-img命令手册

使用qemu-img命令手册查看磁盘镜像文件信息。

5dec3caacffcc96ef834d65887e09166.png

可以看到,文件格式为qcow2,磁盘大小为30 GB,但是实际已使用空间为31 GB,估计是计算方法不一样导致的。

“compat”值为1.1,表示需要匹配QEMU版本为1.1或更新版本,才能支持镜像格式扩展。“lazy_refcounts”值为true,表示引用计数更新将被推迟,目的是避免元数据I/O并提高性能。

但是并没有精简置备相关的说明。

qemu-img命令手册中提到,“qcow”和“qcow2”格式支持压缩-c,我们测试一下。

qemu-img convert -c -O qcow2 centos7.0.qcow2 thin.qcow2

4a722dd624debb649a36a6a2704c0da2.png

压缩之后的文件大小仅有800多兆,查看一下文件信息。

059d074aa6408cebc7ae83fa339ef373.png

看一看到,“lazy_refcounts”的值发生了变化,变成了false,同时,磁盘使用大小变成了797 MB,锐减至只有之前的2.6 %。难道和这个属性相关?

我们把之前的硬盘移除,然后挂载这个新的硬盘看看能不能用。

3c9925aa66570184a3e205372a70c29d.png

可以看到,磁盘信息和之前没有差别。启动虚拟机试一下。

0f8d39f5cc31d57d7bdec4865cd0cc79.png

OK,可以使用。

也就是说,我们前面提到的第一种方法,手动创建所需的精简卷,再将其挂载到虚拟机上,这种方式是可行的。

然后看一下磁盘的大小变化。

14fc0c2ef239d80d6ecf6ed56217c1d7.png

上面是虚拟机开机的情况,下面是虚拟机关机的情况,可以看到,qemu-img命令读到的实际磁盘大小差别不大。但是在开机状态下,使用du命令读到的估计文件空间使用情况稍大,大概多300M左右,可能和虚拟内存相关。

当然,我们也可以在创建虚拟机之前手工创建磁盘文件,命令如下:

qemu-img create -f qcow2 test.qcow2 30G

e7e77e035eb683799a0afd6b77e8224a.png

lazy refcounts的值同样为false,我们试着创建一个值为true的镜像。

qemu-img create -f qcow2 -o compat=1.1 -o lazy_refcounts=on test2.qcow2 30G

2d97faf0dd21b906a44928826836d16b.png

OK,确认了,不是lazy refcounts属性的问题。

综合来看,确实是VMM或者说是Libvirt的问题,它不能直接创建精简置备的卷来作为存储池,而是需要先手动创建所需的精简卷,再将其挂载到虚拟机上。

这么一来,确实麻烦了不少啊。

c219c76219ce46e0794709b7f2e02b71.gif

长按二维码
关注我们吧

50b788db5a8e708b35d625189a2fdf41.jpeg

e2851bff991b796fa4905169c5e16684.png

KVM部署初体验

不会吧!KVM竟然不支持磁盘的精简置备!?

vCenter Server Appliance部署实录

vCenter(Linux版)从开机到部署一镜到底

VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!

IPsec VPN文章及知识点汇总【墙裂建议收藏】

仅需一个公网IP地址,就能在互联网搞一张大二层网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1867250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vscode设置主题的颜色

点击主界面左下角的 展开的菜单中点击“themes” 点击“color themes” 选择颜色

windows USB 设备驱动开发-总章

通用串行总线 (USB) 提供可扩展的即插即用串行接口,确保外围设备的标准、低成本的连接。 USB 设备包括键盘、鼠标、游戏杆、打印机、扫描仪、存储设备、调制解调器、视频会议摄像头等。USB-IF 是一个特别兴趣组 (SIG),负责维护官方 USB 规范、测试规范和…

浅谈Tomcat

文章目录 一、什么是Tomcat?二、Tomcat的下载安装三、使用tomcat访问资源 一、什么是Tomcat? Tomcat 就是一个 HTTP 服务器。 前面我们聊了HTTP服务器,像我们在网页输入URL,其实就是在给人家的HTTP服务器发送请求,既…

如何使用sr2t将你的安全扫描报告转换为表格格式

关于sr2t sr2t是一款针对安全扫描报告的格式转换工具,全称为“Scanning reports to tabular”,该工具可以获取扫描工具的输出文件,并将文件数据转换为表格格式,例如CSV、XLSX或文本表格等,能够为广大研究人员提供一个…

Renesas MCU使用SCI_I2C驱动HS3003

目录 概述 1 软硬件介绍 1.1 软件版本信息 1.2 认识HS3003 1.2.1 HS3003特性 1.2.2 HS3003寄存器 1.2.2.1 温湿度数据寄存器 1.2.2.2 参数寄存器 1.2.2.3 一个参数配置Demo 1.2.3 温湿度值转换 1.2.4 HS3003应用电路 1.2.4.1 PIN引脚定义 1.2.4.2 sensor 应用电路 …

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析3

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

grpc学习golang版( 四、多服务示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写Client客户端五、测试六、示例代码 一、前言 多服务,即一个rpc提供多个服务给外界调用…

js+php 上传文件到服务器

https://andi.cn/page/621473.html

沙盒在数据防泄密领域意义

在信息化快速发展的今天,数据已成为企业最宝贵的资产之一。然而,数据泄密事件频发,给企业的安全和发展带来了巨大威胁。SDC沙盒防泄密系统,作为一种创新的数据防泄密解决方案,正逐渐在数据防泄密领域发挥着越来越重要的…

计算机网络期末复习(大题+小题)

计算机网络期末复习 一、计算机网络概述 Point 1 计算机网络就是以传输信息为基本目的,用通信线路和通信设备将多个计算机连接起来的计算机系统的集合。由自治的计算机互联起来的结合体。 Point 2 按网络的覆盖范围进行分类 (1)局域网*…

[leetcode]k-th-smallest-in-lexicographical-order 字典序的第K小数字

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int getSteps(int curr, long n) {int steps 0;long first curr;long last curr;while (first < n) {steps min(last, n) - first 1;first first * 10;last last * 10 9;}return steps;}int find…

深度学习11-20

1.神经元的个数对结果的影响&#xff1a; &#xff08;http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html&#xff09; &#xff08;1&#xff09;神经元3个的时候 &#xff08;2&#xff09;神经元是10个的时候 神经元个数越多&#xff0c;可能会产生…

海南云亿商务咨询有限公司解锁抖音电商新纪元

在数字时代的浪潮中&#xff0c;电商行业如日中天&#xff0c;其中抖音电商更是异军突起&#xff0c;成为无数商家和创业者关注的焦点。而在这股汹涌的电商洪流中&#xff0c;海南云亿商务咨询有限公司凭借其专业的服务、深厚的行业背景和独特的创新理念&#xff0c;成为了抖音…

【Python机器学习】分享、离散化、线性模型与树

数据表示的最佳方法不仅取决于数据的语义&#xff0c;还取决于所使用的模型种类。线性模型与基于树的模型&#xff08;比如决策树、梯形提升树、随机森林&#xff09;是两种成员很多同时又非常常用的模型&#xff0c;他们在处理不同的特征表示时就具有非常不同的性质。 下面是…

数据结构与算法笔记:高级篇 - 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

概述 上篇文章我们讲到&#xff0c;如何用位图、布隆过滤器&#xff0c;来过滤重复数据。本章&#xff0c;我们再讲一个跟过滤相关的问题&#xff0c;如果过滤垃圾短信&#xff1f; 垃圾短信和骚扰电话&#xff0c;我想每个人都收到过吧&#xff1f;买房、贷款、投资理财、开…

【JavaScript】流程控制和函数

目录 一、分支语句 1、if语句&#xff1a; 2、switch语句&#xff1a; 二、循环语句 1、while循环语句 2、for循环语句 三、函数声明 1、function 函数名(形参列表){ 函数体 } 2、var 函数名function(形参列表){函数体} 一、分支语句 1、if语句&#xff1a; if(表达式){ }else …

20240626每日AI-----------创建你的第一个文心智能体平台Agent

载体 文心智能体平台Agent 注册 统一使用百度账户登录即可 创建智能体 登录后即可在左边菜单进行点击&#xff0c;创建智能体。 创建官方智能体 编写你的智能体名称等等信息

MCU复位时GPIO是什么状态?

大家一定遇到过上电或者复位时外部的MOS电路或者芯片使能信号意外开启&#xff0c;至此有经验的工程师就会经常关心一个问题&#xff0c;MCU复位时GPIO是什么状态&#xff1f;什么电路需要外部加上下拉&#xff1f; MCU从上电到启动&#xff0c;实际可分为复位前和复位后、初始…

0X JavaSE-- 并发编程(ThreadGroup、JMM、volatile、synchronized、线程池)

ThreadGroup 线程组可以对线程进行批量控制。 每个 Thread 必然存在于一个 ThreadGroup 中&#xff0c;Thread 不能独立于 ThreadGroup 存在。执行 main()方法的线程名字是 main。如果在 new Thread 时没有显式指定&#xff0c;那么默认将父线程&#xff08;当前执行 new Thr…

Win11 恢复快捷方式箭头

Win11 恢复快捷方式箭头 前言步骤 前言 本作者习惯了当文件类型是快捷方式时左下角有个小箭头。但无语的是&#xff0c;我重装了 Win 11 系统后&#xff0c;快捷方式中没有了小箭头&#xff0c;当真抓狂。啊&#xff01;&#xff01;&#xff01;查了那么多资料&#xff0c;很多…