首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么限制用户可以访问的inode数量?

为什么限制用户可以访问的inode数量?
EN

Unix & Linux用户
提问于 2014-02-05 05:35:54
回答 2查看 4.9K关注 0票数 6

似乎可以在网络挂载上设置用户可以使用多少空间的配额。

代码语言:javascript
复制
# edquota ramesh

Disk quotas for user ramesh (uid 500):
  Filesystem           blocks       soft       hard     inodes     soft     hard
  /dev/sda3           1419352          0          0       1686        0        0

您还可以设置一个软的和硬的限制用户有多少索引。

为什么您需要限制用户可以访问多少inode?

用户还不能用一个非常大的文件来填充磁盘吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-02-05 05:54:57

限制用户可以访问的inode数量的原因是,通过创建大量的0字节文件,用户不会使系统作为一个整体耗尽inode。

对于大多数Linux文件系统(例如ext3和ext4),每个文件(包括设备文件)或目录都有一个inode --这个数字用于指向给定的文件/目录。如果一个系统耗尽了inode,那么硬盘有多少空闲空间并不重要;在释放inode之前,不可能创建一个新文件。

要查看每个文件系统还剩下多少inode:

代码语言:javascript
复制
df -i

当格式化文件系统时,文件系统的inode数量由-i参数决定。示例:

代码语言:javascript
复制
mkfs -t ext4 -i 1024 /dev/foo # One inode per 1024 bytes
mkfs -t ext4 -i 2048 /dev/foo # One inode per 2048 bytes
mkfs -t ext4 -i 8192 /dev/foo # One inode per 8192 bytes

使用-i 1024选项创建的文件系统的inode将是用-i 8192选项创建的文件系统的8倍(假设两个文件系统的大小相同)。有时,特别是对于一些使用“maildir”或老式Usenet假脱机的邮件服务器,需要更多的inode,因为这些用例创建了大量的小文件。

请注意,一些Linux文件系统(如Reiserfs )能够动态分配inode,而不是在文件系统创建时创建所有inode。

票数 9
EN

Unix & Linux用户

发布于 2014-02-05 05:50:18

当然,用户可以用一个非常大的文件填充磁盘,但这只是一个文件系统饱和的矢量。另一个矢量更微妙--你可以使可用的节点数饱和。在这种情况下,df -h看起来仍然不错,但是df -i会报告您已经没有inode了(您可能会开始阅读大量的“设备上没有空间”)。

代码语言:javascript
复制
$ df -i /
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda2      7266304 490108 6776196    7% /

在达到使用节点的最大数量时,就不能创建更多的inode了。在许多方面,这与用一个巨大的文件填充文件系统有着相似的症状,除了现有的inode将继续像往常一样工作。

对文件大小和可用节点数量的限制应同时使用。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/113615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档