使用fallocate和mkfs.ext4可能会超出可用磁盘空间

格子

背景:我们有一个计算机集群,在节点分配上,作业会获得其自己的请求大小的tmp目录。我注意到,但是我可以将两个作业发送到同一台计算机,而请求的磁盘空间总量大于可用磁盘空间。我将错误追踪到fallocatemkfs.ext4

在具有1.1T磁盘空间可用的测试节点/计算机上,我创建了虚拟磁盘以将tmp目录挂载到该虚拟磁盘。使用fallocatemkfs.ext4

# fallocate -l 900G /tmp/disk-test1
# /sbin/mkfs.ext4 -F /tmp/disk-test1
# fallocate -l 900G /tmp/disk-test2
# /sbin/mkfs.ext4 -F /tmp/disk-test2

创建两个文件(看起来都),大小均为900G

# ll --block-size=G /tmp/
...
-rw-r--r--. 1 root  root 900G Jul  4 14:03 disk-test1
-rw-r--r--. 1 root  root 900G Jul  4 14:03 disk-test2
...

并查看可用的磁盘空间

# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg.01-lv_root  1.1T  8.6G  1.1T   1% /
...

/ tmp目录:

# df -h /tmp
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg.01-lv_root  1.1T  8.6G  1.1T   1% /

我不希望这种情况发生。如果没有足够的空间,则不得创建虚拟磁盘,并且在装入虚拟磁盘后,对其写入必须受其大小限制。

这里发生了什么?

伊尔卡楚

是的,我可以重现一下:

# df -h .
Filesystem           Size  Used Avail Use% Mounted on
/dev/root             30G   14G   14G  51% /
# fallocate -l 8G test1.disk
# df -h .
Filesystem           Size  Used Avail Use% Mounted on
/dev/root             30G   22G  5.8G  80% /
# mkfs -text4 test1.disk
mke2fs 1.43.4 (31-Jan-2017)
Discarding device blocks: done                            
Creating filesystem with 2097152 4k blocks and 524288 inodes
...
# df -h .
Filesystem           Size  Used Avail Use% Mounted on
/dev/root             30G   14G   14G  51% /

当文件为fallocated时,磁盘使用率上升,而在d之后,磁盘使用率下降mkfs注意的输出中“放弃设备块:已完成”mke2fs弗罗斯特斯在评论中提到了这一点。)

手册页说的-E discard

丢弃
尝试在mkfs时间丢弃块(最初丢弃块在固态设备和稀疏/精简配置的存储上很有用)。...这是默认设置。

nodiscard要做相反事情,所以让我们尝试一下:

# df -h .; fallocate -l 8G test2.disk; mkfs -text4 -Enodiscard test2.disk; df -h .
Filesystem           Size  Used Avail Use% Mounted on
/dev/root             30G   14G   14G  51% /
mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 2097152 4k blocks and 524288 inodes
...
Filesystem           Size  Used Avail Use% Mounted on
/dev/root             30G   22G  5.9G  79% /

现在另一个fallocate -l 8G失败了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ext4安装在/和tmp上占用磁盘空间

来自分类Dev

如何计算ext4上的可用磁盘空间?

来自分类Dev

在Cassandra中使用许多小表会降低可用磁盘空间需求吗?

来自分类Dev

使用 Telegraf 和 Cloudwatch 获取 RDS 可用磁盘空间

来自分类Dev

如何使用命令获得可用的可用磁盘空间?

来自分类Dev

我需要使用partpobe和mkfs还是可以将分区自动格式化为ext4?

来自分类Dev

Xubuntu如何检查已用和可用磁盘空间

来自分类Dev

Xubuntu如何检查已用和可用磁盘空间

来自分类Dev

可用磁盘空间的差异-ncdu和df

来自分类Dev

如何在Swift 2.0中使用AttributesOfFileSystemForpaths获得总磁盘空间和可用磁盘空间

来自分类Dev

使用Ruby查找网络位置的可用磁盘空间

来自分类Dev

使用Swift查询可用的iOS磁盘空间

来自分类Dev

使用Gparted后看到的可用磁盘空间量错误

来自分类Dev

使用Ruby查找网络位置的可用磁盘空间

来自分类Dev

我的驱动器(ext4 和 ntfs)上真正有多少可用空间?

来自分类Dev

获取 AzureRm 托管磁盘空间使用情况和可用空间 - Powershell

来自分类Dev

使用df获得可用磁盘空间以仅显示kb中的可用空间吗?

来自分类Dev

MongoDB和磁盘空间

来自分类Dev

如何限制Ubuntu上的neo4j内存和磁盘空间使用?

来自分类Dev

新的ext4分区和已用空间

来自分类Dev

新的ext4分区和已用空间

来自分类Dev

如何在Common Lisp中获得已使用/可用/总计的磁盘空间

来自分类Dev

如何使用13.04(Raring Ringtail)在文件浏览器中查看可用磁盘空间量

来自分类Dev

如何使用13.04(Raring Ringtail)在文件浏览器中查看可用磁盘空间量

来自分类Dev

使用超级按钮时如何确定可用的磁盘空间量?

来自分类Dev

使用单独的凭据获取不同服务器的可用磁盘空间

来自分类Dev

文件系统很长时,如何使用“ df -h”获取磁盘空间(可用)

来自分类Dev

使用事务更新时没有可用磁盘空间警告

来自分类Dev

无法使用自定义CloudWatch指标监视Windows实例的可用磁盘空间

Related 相关文章

  1. 1

    ext4安装在/和tmp上占用磁盘空间

  2. 2

    如何计算ext4上的可用磁盘空间?

  3. 3

    在Cassandra中使用许多小表会降低可用磁盘空间需求吗?

  4. 4

    使用 Telegraf 和 Cloudwatch 获取 RDS 可用磁盘空间

  5. 5

    如何使用命令获得可用的可用磁盘空间?

  6. 6

    我需要使用partpobe和mkfs还是可以将分区自动格式化为ext4?

  7. 7

    Xubuntu如何检查已用和可用磁盘空间

  8. 8

    Xubuntu如何检查已用和可用磁盘空间

  9. 9

    可用磁盘空间的差异-ncdu和df

  10. 10

    如何在Swift 2.0中使用AttributesOfFileSystemForpaths获得总磁盘空间和可用磁盘空间

  11. 11

    使用Ruby查找网络位置的可用磁盘空间

  12. 12

    使用Swift查询可用的iOS磁盘空间

  13. 13

    使用Gparted后看到的可用磁盘空间量错误

  14. 14

    使用Ruby查找网络位置的可用磁盘空间

  15. 15

    我的驱动器(ext4 和 ntfs)上真正有多少可用空间?

  16. 16

    获取 AzureRm 托管磁盘空间使用情况和可用空间 - Powershell

  17. 17

    使用df获得可用磁盘空间以仅显示kb中的可用空间吗?

  18. 18

    MongoDB和磁盘空间

  19. 19

    如何限制Ubuntu上的neo4j内存和磁盘空间使用?

  20. 20

    新的ext4分区和已用空间

  21. 21

    新的ext4分区和已用空间

  22. 22

    如何在Common Lisp中获得已使用/可用/总计的磁盘空间

  23. 23

    如何使用13.04(Raring Ringtail)在文件浏览器中查看可用磁盘空间量

  24. 24

    如何使用13.04(Raring Ringtail)在文件浏览器中查看可用磁盘空间量

  25. 25

    使用超级按钮时如何确定可用的磁盘空间量?

  26. 26

    使用单独的凭据获取不同服务器的可用磁盘空间

  27. 27

    文件系统很长时,如何使用“ df -h”获取磁盘空间(可用)

  28. 28

    使用事务更新时没有可用磁盘空间警告

  29. 29

    无法使用自定义CloudWatch指标监视Windows实例的可用磁盘空间

热门标签

归档