Sponsored Content
Full Discussion: how inode works
Operating Systems Solaris how inode works Post 302277245 by bakunin on Thursday 15th of January 2009 06:57:24 PM
Old 01-15-2009
Jim is absolutely correct, just to explain where all these "rules of thumb" come from:

For every file you need exactly one inode, which contains the information the filesystem has about the file. In this data structure, for instance, the information which "ls" displays is stored. It doesn't matter how big or small the file is, even if it contains nothing at all it still needs an i-node. Links, btw., are just inodes, which point to another inode. So links also need one inode.

That means: the number of inodes you need depends on the size of the disk and your estimation about how big the average file (in fs blocks) in it is going to be. Jim has already mentioned databases, because they have usually a few very big files. A multi-terabyte Oracle database might consist of, say, a hundred files, thats all. On the other side of the spectrum are log directories of tools which produce many very small logfiles. Most filesystems are somewhere in between these extremes.

Run a "find" command over the various filesystems on some machines and calculate the average file size and the number of the files to get some empirical data to build on your experience.

If in doubt between two variants, opt for the bigger number of inodes. The space wasted this way is not that much and certainly not as big as the space wasted if the filesystem runs out of inodes.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. AIX

%Inode used full

Hello I have used 100% of inode in a file system can you increase thie number of inode without backup-make the file system again-restore ? thank you (0 Replies)
Discussion started by: pascalbout
0 Replies

2. Shell Programming and Scripting

INode

hi i am nitin... jus a new kid on the block... my query is... does the concept of region invovle sharin of inodes wen the sticky it is set... eg... if two process share two text regions... wat actually happens thank u (1 Reply)
Discussion started by: nitinsharma_ssn
1 Replies

3. Filesystems, Disks and Memory

Inode number

as kernel keeps track of user activities on a file by its INODE number and I node table . what is the structure of Inode table. and where does this Inode table mapped into?user space or kernel space? is the Inode Number is fixed for a file till its deletion? thanks (1 Reply)
Discussion started by: compbug
1 Replies

4. Red Hat

inode no and fd path

hi, can anyone please tell me where i can extract inode numbers and path associated with all file descriptors. i want these informations only. is there any system call or functions to get these things? i hav a RHEL 4. also /proc/pid/fd shows some file descriptor list. is that the proper path to... (1 Reply)
Discussion started by: sanjaykhuntia
1 Replies

5. UNIX for Dummies Questions & Answers

incore inode

Dear Friend , what is incore inode ? and what is difference between incore inode and inode ????? sanjay (1 Reply)
Discussion started by: sanjaygoyan
1 Replies

6. Solaris

about inode

how can i see inode table information of a perticler inode.anybody knows pls tell me. Than.Q (3 Replies)
Discussion started by: nag.mi2000
3 Replies

7. AIX

FS inode 58%

Hi Guys, I have this filesystem got big with inode: /dev/hd4 3670016 183664 95% 63705 58% /var I don't know why the system doesn't give alerts on this FS although it's 95% and why the inode is 58%. Any comments will be highly appreciated. Thanks, itik (1 Reply)
Discussion started by: itik
1 Replies

8. UNIX for Dummies Questions & Answers

inode filename

can someone please tell me why is the filename not inlcuded in the inode of the file? (2 Replies)
Discussion started by: wowman
2 Replies

9. Solaris

inode in solaris

Dear, How can i check inode information in my Solaris box? With Regards, Mjoshi (4 Replies)
Discussion started by: mjoshi87
4 Replies

10. Solaris

Specify the inode of a file?

Is there any way to create a file on Solaris 10 (ZFS preferably, but UFS would be helpful as well) with a specific inode number? I need to create a file with a large inode, greater than a 32bit integer. I am trying to test a piece of software which may be incorrectly truncating large inodes down... (16 Replies)
Discussion started by: unblockable
16 Replies
xfs_check(8)						      System Manager's Manual						      xfs_check(8)

NAME
xfs_check - check XFS filesystem consistency SYNOPSIS
xfs_check [ -i ino ] ... [ -b bno ] ... [ -f ] [ -s ] [ -v ] [ -l logdev ] device DESCRIPTION
xfs_check checks whether an XFS filesystem is consistent. It is normally run only when there is reason to believe that the filesystem has a consistency problem. The filesystem to be checked is specified by the device argument, which should be the disk or volume device for the filesystem. Filesystems stored in files can also be checked, using the -f flag. The filesystem should normally be unmounted or read-only during the execution of xfs_check. Otherwise, spurious problems are reported. OPTIONS
-f Specifies that the filesystem image to be processed is stored in a regular file at device (see the mkfs.xfs(8) -d file option). This might happen if an image copy of a filesystem has been made into an ordinary file. -l logdev Specifies the device where the filesystem's external log resides. Only for those filesystems which use an external log. See the mkfs.xfs(8) -l option, and refer to xfs(5) for a detailed description of the XFS log. -s Specifies that only serious errors should be reported. Serious errors are those that make it impossible to find major data struc- tures in the filesystem. This option can be used to cut down the amount of output when there is a serious problem, when the output might make it difficult to see what the real problem is. -v Specifies verbose output; it is impossibly long for a reasonably-sized filesystem. This option is intended for internal use only. -i ino Specifies verbose behavior for the specified inode ino. For instance, it can be used to locate all the blocks associated with a given inode. -b bno Specifies verbose behavior for the specific filesystem block at bno. For instance, it can be used to determine what a specific block is used for. The block number is a "file system block number". Conversion between disk addresses (i.e. addresses reported by xfs_bmap(8)) and file system blocks may be accomplished using xfs_db(8)'s convert command. Any output that is produced when xfs_check is not run in verbose mode indicates that the filesystem has an inconsistency. The filesystem can be repaired using either xfs_repair(8) to fix the filesystem in place, or by using xfsdump(8) and mkfs.xfs(8) to dump the filesystem, make a new filesystem, then use xfsrestore(8) to restore the data onto the new filesystem. Note that xfsdump may fail on a corrupt filesystem. However, if the filesystem is mountable, xfsdump can be used to try and save important data before repairing the filesystem with xfs_repair. If the filesystem is not mountable though, xfs_repair is the only viable option. DIAGNOSTICS
If the filesystem is completely corrupt, a core dump might be produced instead of the message device is not a valid filesystem If the filesystem is very large (has many files) then xfs_check might run out of memory. In this case the message out of memory is printed. The following is a description of the most likely problems and the associated messages. Most of the diagnostics produced are only meaning- ful with an understanding of the structure of the filesystem. agf_freeblks n, counted m in ag a The freeblocks count in the allocation group header for allocation group a doesn't match the number of blocks counted free. agf_longest n, counted m in ag a The longest free extent in the allocation group header for allocation group a doesn't match the longest free extent found in the allocation group. agi_count n, counted m in ag a The allocated inode count in the allocation group header for allocation group a doesn't match the number of inodes counted in the allocation group. agi_freecount n, counted m in ag a The free inode count in the allocation group header for allocation group a doesn't match the number of inodes counted free in the allocation group. block a/b expected inum 0 got i The block number is specified as a pair (allocation group number, block in the allocation group). The block is used multiple times (shared), between multiple inodes. This message usually follows a message of the next type. block a/b expected type unknown got y The block is used multiple times (shared). block a/b type unknown not expected The block is unaccounted for (not in the freelist and not in use). link count mismatch for inode nnn (name xxx), nlink m, counted n The inode has a bad link count (number of references in directories). rtblock b expected inum 0 got i The block is used multiple times (shared), between multiple inodes. This message usually follows a message of the next type. rtblock b expected type unknown got y The real-time block is used multiple times (shared). rtblock b type unknown not expected The real-time block is unaccounted for (not in the freelist and not in use). sb_fdblocks n, counted m The number of free data blocks recorded in the superblock doesn't match the number counted free in the filesystem. sb_frextents n, counted m The number of free real-time extents recorded in the superblock doesn't match the number counted free in the filesystem. sb_icount n, counted m The number of allocated inodes recorded in the superblock doesn't match the number allocated in the filesystem. sb_ifree n, counted m The number of free inodes recorded in the superblock doesn't match the number free in the filesystem. SEE ALSO
mkfs.xfs(8), xfsdump(8), xfsrestore(8), xfs_ncheck(8), xfs_repair(8), xfs(5). xfs_check(8)
All times are GMT -4. The time now is 10:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy