首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改时使用假挖孔安全吗?

修改时使用假挖孔安全吗?
EN

Server Fault用户
提问于 2017-01-22 08:58:52
回答 1查看 635关注 0票数 1

在修改/写入文件时在文件上使用fallocate --dig-holes安全吗?例如,在KVM来宾打开的QCOW2映像上?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-06-10 09:11:15

我一般会说不。如果该文件是安装到VM的映像,则可以尝试TRIM (例如fstrim -a)。严格地说,这不是一个等价的(TRIM也可以释放一些被删除的文件,而不是零),但这可能是你想要的。

在某些特定的情况下,它可能是安全的,但我不会依赖它。例如,当某些数据在没有预先分配的情况下按顺序流到文件中时,听起来可能是安全的。但是,由于这不是文档所暗示的,而且它只依赖于实现,所以我强烈建议不要这样做。

什么会出错?想象一下,app/VM将覆盖一些零块,同时运行fallocate -d。这场比赛看上去可能是:

  1. F配看到了一个零块,所以它决定在那里挖一个洞。
  2. 另一个应用程序/VM向零块写入某些数据。
  3. 在这个块上挖一个洞。

这听起来像是在1到3之间有一个很小的时间框架,也许是真的,但是fallocate可能想要一次释放多个后续的块。(不确定,我还没有检查实现,但即使相反,将来也不能依赖它。)这会增加1到3之间的延迟,使比赛条件更有可能发生。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/827805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档