我怎样才能最大化这个限制,以便我可以将大约 1,000,000 张书籍封面图像上传到运行网站的服务器中?
我们的服务器有100GB的磁盘空间,而图片不到10GB,那么为什么我的服务器会因为空间不足而中途停止提取文件呢?
答案1
您的 inode 即将用完。您可以通过运行来验证这一点$ df -i
。
据我所知,没有办法增加现有文件系统的 inode 数量。不过,您可以在创建文件系统时使用 标志指定更多的 inode-N
数量mkfs.ext4
。
答案2
正如 EEAA 所说,这肯定是 inode 问题。您需要在文件系统级别修复此问题。如果您无法重新创建整个文件系统,例如,如果您将所有数据都放在一个挂载在 / 的分区中 [注意:这通常很糟糕!],您可以缩小根文件系统,然后从可用空间中创建具有适当 inode 计数的第二个文件系统,并将其挂载到合理位置(例如 /var/www)。
理想的服务器将有多个分区用于不同的主文件系统。我建议阅读https://www.debian.org/releases/stable/amd64/apcs03.html.en因为它是一个很好的参考,虽然有点过时:我自己更喜欢使用 ext4 /、/var 和 /var/log 分区,并使用“tmpfs”/tmp 和不同系统所需的其他数据分区(例如邮件服务器上的 /var/vmail、Web 服务器上的 /var/www、桌面上的 /home 等)。请记住,/ 中有很多系统文件会影响您的 inode 计数!
还要确保这些图片具有某种文件夹组织结构。如果一个目录级别(文件夹)中的文件超过几千个,则会导致 extX 文件系统中的读取和“ls”等操作阻塞。最好在尝试上传之前尽可能地组织它们。