inode数如何在linux根文件系统中分发?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了inode数如何在linux根文件系统中分发?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2784字,纯文字阅读大概需要4分钟。
内容图文
![inode数如何在linux根文件系统中分发?](/upload/InfoBanner/zyjiaocheng/953/fa9071887cae40fcb4f898ec9210e311.jpg)
关于如何在linux文件系统中使用inode编号,我有几个问题.这些问题可能是相关的,但为了清楚起见,我会逐一问他们.
Q1:以EXT2 / 3为例,从“Design and Implementation of the Second Extended Filesystem”开始我知道块组中有inode表,我知道inode会显示文件,但是如果文件太多但inode编号不够呢?
我最好的猜测是,如果文件系统的所有inode编号都用尽了,那么它就什么都不做.如果某个文件稍后被删除,其inode可能会被回收.
Q2:我在我的Linux服务器上运行“df -i”,我得到了这个:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1313280 7853 1305427 1% /
devtmpfs 0 0 0 - /dev
tmpfs 525298 4 525294 1% /dev/shm
/dev/sda2 65808 50 65758 1% /boot
/dev/sda5 1313280 146 1313134 1% /opt
/dev/sda6 655776 37 655739 1% /tmp
/dev/sda7 655776 5219 650557 1% /home
/dev/sda8 1313280 840 1312440 1% /var
/dev/sda9 655776 36529 619247 6% /usr
/dev/sda10 6432 11 6421 1% /crash
/dev/sda12 135488 11 135477 1% /usr/local/instances
tmpfs 525298 3 525295 1% /var/run/xenstored
tmpfs 525298 3 525295 1% /var/lib/xenstored
tmpfs 525298 3 525295 1% /var/lib/xend/socket
tmpfs 517536 3 517533 1% /var/run/libvirt/socket
我看到每个文件系统都有自己的inode计数,这些文件系统(如devtmpfs和tmpfs)都安装到root file system.我猜每个文件系统都有自己的inode表,但是不同文件系统的inode编号分布在不同的范围内,比如根文件系统是[0,N],tmpfs是[N 1,M]?
如果不同文件系统的inode数量在不同的范围内(我不这么认为),文件系统如何就范围划分达成一致?
如果基于相同的规则生成不同文件系统的inode号(就像从0开始一样),如果我们将它们安装在一起,不同的文件系统会发生冲突吗?据我所知,inode在运行的操作系统中显示文件,如果根文件系统中的文件的索引节点号为N而另一个文件系统中的另一个文件(如tmpfs)的索引节点号为N,操作系统将会执行哪些操作?
PS.我对Linux很陌生,我不是来自英语国家,对不起,如果我没有表达清楚的话.提前致谢.
解决方法:
文件的完整唯一标识符是(st_dev,st_ino).这意味着inode编号不必在文件系统中是唯一的,并且每个文件仍然是唯一标识的.
这就是为什么你不能拥有跨设备的硬链接.目录条目仅包含inode编号,而不是设备编号.因此,目录条目只能引用与目录所在文件系统相同的文件.
即使您在目录条目中添加了设备字段,它也没有意义,当您添加或删除驱动器时设备编号可能会更改,并且在系统运行时仅指向特定设备.此外,您将如何唯一地编号整个世界中的所有设备.例如,使用USB驱动器,您可以在一台机器之间使用给定的设备.您如何确保设备编号保持不变,以便链接仍然有效?
最后,并非所有文件系统类型都具有固定数量的inode编号. reiserfs和(我相信)btrfs根据需要动态分配新的inode,因此文件系统的总inode字段并不真正反映任何类型的有用值.
内容总结
以上是互联网集市为您收集整理的inode数如何在linux根文件系统中分发?全部内容,希望文章能够帮你解决inode数如何在linux根文件系统中分发?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。