当您使用 VirtualBox 创建虚拟机时,在创建虚拟磁盘时会出现两个选项:
- 动态分配
- 固定尺寸
动态分配只会创建一个稀疏文件,该文件会随着需求的扩展而增长。
但是固定大小会创建一个消耗分配的磁盘空间的文件。
创建动态分配和固定大小的分区不会花费很长时间。
固定大小会创建什么样的文件?它是否被写入磁盘并增加了写入 SMART 的总 TB 数?我可以创建这样一个占用巨大空间但不需要时间来创建的文件吗?
编辑:
我注意到一个新创建的非常小的磁盘,价值 194M,有 5 行二进制数据。
我还创建了一个 12G 的文件,它也大部分是空的。但是创建12G文件不需要时间。
文件数据存储在硬盘上的块中。有关哪些块构成文件的信息存储在有关文件的元数据中。这就是我们所说的文件系统。
所以要创建一个 1TB 的文件,操作系统只需要分配 1TB 的块。这使得这些块对任何其他文件都不可用。但是操作系统不需要写入 1TB,除非它实际上有 1TB 的数据要写入。
truncate
您可以使用该命令查看此行为。要以这种方式扩展文件,您可以在命令行使用truncate或以编程方式使用truncate()