存储 - 空洞文件

Posted 王万林 Ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储 - 空洞文件相关的知识,希望对你有一定的参考价值。

存储 - 空洞文件

不同存储的user quota与什么相比?

NetApp是block base;
Huawei是file size;
Dell EMC是支持两种。

空洞文件如何产生

在支持空洞的文件系统中,如果程序操作的文件偏移量已跨越文件结尾,继续执行IO操作,将会产生文件空洞。它是不占实际空间的。

如何保持文件的空洞

在copy或rsync时,如何保持文件的空洞?参考手册,可以知道以下命令选项可以满足,

$ cp -a <src> <dest>
$ rsync -S <src> <dest>

创建空洞文件

$ dd if=/dev/zero of=./file_with_hole bs=4096 seek=2048 count=1

在这里插入图片描述

检查空洞

$ find . -type f -printf "%S\\t%p\\n"
  • 普通文件,该值等于1.0
  • 空洞文件,但不包含indirect block的,该值小于1.0
  • 非空洞文件,包含indirect block的,该值大于1.0
  • 空洞文件,包含indirect block的,该值不确定

将sparseness值小于1.0的文件过滤出来

$ find . -type f -printf "%S\\t%p\\n" | awk '$1 < 1.0 {print}'

在这里插入图片描述

总结

完毕。

以上是关于存储 - 空洞文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件空洞与稀疏文件

Mysql 表空间和 数据页空洞

Unix系统编程()文件空洞

UNIX环境高级编程APUE练习4.6-实现类似cp的程序,保留文件中的空洞

如何将 r ggplot 图存储为 html 代码片段

Unix - 文件里构成一个空洞的分析