语境

语境

语境

我必须复制Ubuntu 18.04 服务器大约有 5,000,000 个小文件,它们是用于 Web 应用程序的地图图块。

它们目前存储在另一台带有 XXL 硬盘(1 TB)的机器上的文件夹中。总重量该文件夹的大小略小于 30 GB。

服务器上的目标文件夹是单个 ext4 分区中具有 50 GB 可用空间的磁盘。应该没问题。

错误

使用复制文件时scp,我最终遇到了许多以下错误(在复制 3​​'271'897 个文件后它们大量弹出,也许这个数字很重要?):

(...)
scp: /media/data/tiles/16/69654: No space left on device
(...)

如果我检查设备上的可用空间,它会显示:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
(...)
/dev/sdb1        49G   19G   28G  41% /media/data

那么为什么会有这个"No space left on device"消息呢?

我感觉文件数量太大,无论磁盘空间如何,或者诸如此类的东西,而且我错过了一个重要的概念......

并且也许可以通过在某个较低级别正确“准备”分区本身(parted例如使用)来摆脱该消息。

或许ext4不适合保存大量小文件?

问题

我需要注意什么才能正确设置我的 50 GB 磁盘以有效地托管 5'000'000 个文件(之后通过 Web 应用程序提供这些文件时也应该具有良好的性能)?

更新

在 Soren A 的评论之后:

$ df -hi
Filesystem     Inodes IUsed IFree IUse% Mounted on
(...)
/dev/sdb1        3.2M  3.2M     0  100% /media/data

相关内容