Jos*_*eld 7 linux centos inode
经过一些谷歌研究,我发现 inode 的使用可能与目录/文件的数量有关。
zer*_*ime 10
之前的一些答案让您大致了解正在发生的事情,但让我们找出如何对此做些什么。我知道你会认为这很迂腐,但让我们从你的文件系统类型开始,讨论我们在 Linux 下看到的每一种类型。您的问题带有 Linux 标签这一事实很重要,因为其他 *nix 文件系统支持许多其他类型。我不是这些单个文件系统的专家,但我可以快速理解足够详细的文章来了解重要部分。
ext2/ext3/ext4
Oliver Diedrich 写了一篇题为“调整 Linux 文件系统”的文章,其中提出了几个非常重要的观点。首先,这些文件系统将 inode 放入磁盘的保留区域,以便快速缓存和访问它们。这个空间的大小在创建文件系统时是固定的。这意味着为了增加它,您将必须 a) 将文件镜像到另一个大小合适的文件系统并进行切换或 b) 备份文件系统,正确地重新创建它,然后将文件恢复回来。
要了解您在特定文件系统上的运行情况,例如 /dev/sda1,请使用该debuge2fs -h命令并查找有关 inode 的这些行。我的文件系统有大约 2.4% 的 inode 正在使用 226GB 文件系统,其中 100Gb 正在使用(Ubuntu 根磁盘)。
Inode count: 15032320
Block count: 60113214
Reserved block count: 3005660
Free blocks: 32794380
Free inodes: 14658480
Run Code Online (Sandbox Code Playgroud)
其他人说,当 inode 消失时,它们就消失了。他们不是在开玩笑。我找到了一个名为 ext2resize 的工具,它最终将提供此功能,但作者似乎找到了一份有趣的日常工作,这占用了他太多的时间。请参阅常见问题解答。不要因为 ext2/3/4 支持这种增长而屏住呼吸,因为内核和文件系统社区中的大多数人认为真正有趣的工作是在固态磁盘文件系统以及集群文件系统中。ext2/3/4 的东西已经过时了,即使 ext4 是相当新的。
另一个有趣的注意事项是您可以尝试优化包含大量文件的目录。鉴于您认为将耗尽 inode,您可能有一些非常长的目录列表。tune2fs -O dir_index /dev/sda1启用 b 树索引而不是标准链表模型。请参阅 tune2fs 的手册页或Steve在 debian-administration.org 上的帖子。
如果要使用更多 inode 重新制作文件系统,则必须使用mke2fs -N ___mke2fs 选项(请参阅手册页并使用debuge2fs默认的计算数字。可选地,您可以在制作时更改 inode 与块的比率带有mke2fs -i ___mke2fs 选项的文件系统。我的 Ubuntu 10.04 发行版的默认比率为 16384,或者,如果我没看错的话,每 16384 个数据块有一个 256 字节的 inode(每个 4KB)。新闻阅读器的文件系统获得默认值4096 比 1,这是 inode 数量的四倍。
其他文件系统
在过去的三年中,文件系统的流行度呈爆炸式增长。尽管流行的 ZFS 仅在 Sun 的 Solaris 和 FreeBSD 下可用,但许多可在 Linux 下使用。在 Linux 下,您可能会考虑探索Btrfs、 ReiserFS 3、XFS或JFS。还有一些商业文件系统将您的可用性和可扩展性放在心上,但数量太多,您必须在此处查看 Wikipedia。
结论
要么在第 1 天使您的 inode 条带足够大以处理您的文件数,要么移动到可以处理负载的文件系统。
小智 7
文件系统使用 inode 来跟踪磁盘上的文件位置。如果您没有更多的 inode,则在有更多可用文件之前,您无法将更多文件写入文件系统。最好在对文件系统进行格式化之前计划文件系统上的内容,就像许多文件系统一样,您可以选择适合将存在于那里的文件大小的 inode 默认大小(即较大的文件的较大 inode 大小,较小的 inode 大小)对于较小的文件),从而最大化文件系统空间的文件数量。
| 归档时间: |
|
| 查看次数: |
32636 次 |
| 最近记录: |