gpt4 book ai didi

linux - inode 号是如何分布在 linux 根文件系统中的?

转载 作者:可可西里 更新时间:2023-11-01 11:50:32 25 4
gpt4 key购买 nike

<分区>

我有几个关于 Linux 文件系统中如何使用 inode 编号的问题。这些问题可能是相关的,但为了清楚起见,我将一一询问。

Q1: 以EXT2/3为例,从“Design and Implementation of the Second Extended Filesystem”知道block groups中有inode tables,也知道inode presents file,但是如果文件太多,inode numbers不够怎么办?我最好的猜测是,如果文件系统的所有 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 在运行的操作系统中呈现文件,如果根文件系统中的一个文件的 inode 编号为 N 而另一个文件系统(如 tmpfs)中的另一个文件也有 inode 编号 N,操作系统将如何处理?

附言。我是 Linux 的新手,我不是来自英语国家,如果我没有表达清楚,请原谅。提前致谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com