AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 775926
Accepted
Alfred.37
Alfred.37
Asked: 2024-05-06 16:44:54 +0800 CST2024-05-06 16:44:54 +0800 CST 2024-05-06 16:44:54 +0800 CST

限制 .qcow2 文件的文件大小

  • 772

Qcow 2 文件是虚拟机的开源文件格式。在我看来,与 .vmdk 文件不同,它们不提供指定最大文件大小的选项。这意味着它们可能会因各种原因而不断增大。

在 Debian 12 衍生版本(例如 LMDE6)下使用时,有哪些方法可以将 .qcow2 文件的文件大小增长限制为某个值或能够实现固定文件大小?

也许它们是比为每个 .qcow 文件使用自己的分区更好的想法。一种替代想法是可能的,即使用文件系统来存储 .qcow 文件,该文件系统提供按文件夹或按文件为用于存储 .qcow 文件的文件系统设置配额。但这只是此时此刻的想法。

debian
  • 2 2 个回答
  • 64 Views

2 个回答

  • Voted
  1. Kusalananda
    2024-05-06T20:24:05+08:002024-05-06T20:24:05+08:00

    qcow2 磁盘映像格式与其他动态分配的映像格式(例如 VDI(由 Virtualbox 使用))一样,不会随着使用而无限期地增长。创建此类磁盘映像时,必须指定其最大大小。映像内的文件系统可能会增长以占据该大小。

    $ qemu-img create -f qcow2 test.qcow2
    qemu-img: test.qcow2: Image creation needs a size parameter
    
    $ qemu-img create -f qcow2 test.qcow2 50G
    Formatting 'test.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=53687091200 lazy_refcounts=off refcount_bits=16
    $ ls -l test.qcow2
    -rw-r--r-- 1 myself myself 197408 May  6 14:22 test.qcow2
    

    要创建预分配的 qcow2 映像文件,请使用-o preallocation=full带有qemu-img create.

    • 2
  2. Best Answer
    Nikita Kipriyanov
    2024-05-07T13:14:19+08:002024-05-07T13:14:19+08:00

    vmdk 在这方面的行为与 qcow2 完全相同:它将增长到设置的虚拟磁盘大小,仅此而已,但如果您执行快照,它可以无限增长(每个附加快照最多可达额外的完整虚拟磁盘大小)。在 qcow2 和 vmdk 中都没有内在的可能性来限制这一点。

    您期望如何实现:假设系统需要将一个块写入 qcow2 映像,并且需要超出限制的文件扩展名;该怎么办?ReturnENOSPC或EIO任何合适的错误代码?然后设置托管该文件的文件系统的大小限制。

    这是非常危险的。这样的硬错误最终会到达想要写入块的进程,无论它是什么;如果那是一个文件系统驱动程序(驻留在 qcow2 文件中的文件系统),并且它将写入一些重要的元数据块,则该文件系统将被损坏,并且没有人知道恢复起来有多困难。

    更好、更安全的是实施有关接近和超过确定的“最大允许”大小的监控和通知。

    这就是典型的“对存储过度配置的恐惧”;任何报告可用空间大于实际可用空间的存储都存在同样的问题,并且通常预计可以通过适当的监视和及时扩展以相同的方式解决该问题。

    另请注意,qcow2 文件的“表观”大小与其在托管文件系统中占用的空间不同。它可以是稀疏的;创建稀疏 qcow2 的一种方法是预分配它但不完全写入;另一种方法是释放其中的一部分,例如,在使用该文件的 qemu 进程中启用丢弃,并在 VM 中发出丢弃命令(SCSI UNMAP、ATA TRIM、using fstrim、等);blkdiscard该文件将释放一些空间(并且它将被视为托管文件系统中可用空间的增加),但ls可能会显示相同的内容。要查看“真实”磁盘使用情况,请使用ls -s; 该数字是以千字节为单位的磁盘使用情况。

    • 1

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve