inode とは / inode 消費が多いディレクトリの一括確認

inode(Index-node)とは

inodeとはUNIXで扱われるファイル/ディレクトリの所有者や作成/更新日時、サイズ等が格納される管理情報。ファイル/ディレクトリを1つ作成するとその対象に対応するinodeが作成される。inodeには以下のような管理情報が格納される(windowsのファイルプロパティで出てくる情報に近い)
※ファイル名はinodeの管理情報に含まれない。inodeとファイル名の紐付きはディレクトリが保持している。
  • ファイルタイプ ( executable, block special etc )
  • パーミッション ( read, write )
  • UID ( Owner )
  • GID ( Group )
  • FileSize
  • タイムスタンプ
    • Access:作成日時
    • Modify:ファイル内容の最終変更日時
    • Change:inode番号の最終変更日時)
  • 実データが格納されたディスクのブロック番号
  • inode番号
UNIXはファイルを扱う際に、一意なinode番号を基にアクセスする対象のデータを特定する。
iノード番号は以下のように確認が可能。
■lsコマンドを使用する。
# ls -i1
655120 8-07-07_MegaCLI.zip
655141 VMwareTools-9.0.0-782409.tar.gz
655139 anaconda-ks.cfg
667094 fluent-plugin-filter-parse-postfix
657187 git
657178 id_rsa
657180 id_rsa.pub
657232 inode-test.txt
651523 install.log
651525 install.log.syslog
657226 post_ip.sh
657183 test.html
657228 test1.txt
655142 vmware-tools-distrib

■statコマンドを使用する。
# stat test1.txt
  File: `test1.txt'
  Size: 2         	Blocks: 8          IO Block: 4096   通常ファイル
Device: fd00h/64768d	Inode: 657228      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-12-25 20:08:33.690980986 +0900
Modify: 2016-12-25 20:24:08.847977143 +0900
Change: 2016-12-25 20:24:08.847977143 +0900

inode数上限の確認

ディスク上に作成できるinodeの数には上限があり、上限に達するとファイルを作成することができない。inodeが上限に達すると、例えばメールサーバなら新たにメールを受信できなくなる(maildir方式の場合)といった症状が発生する。inode作成上限とディスク上のファイル数上限値は同義と捉えて問題ない。
inode上限は下記コマンドで確認が可能。
# df -hi
Filesystem           Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_labrp01-lv_root
                       891K   67K  825K    8% /
tmpfs                  125K     1  125K    1% /dev/shm
/dev/sda1              126K    38  125K    1% /boot
/dev/sdb1              320K    11  320K    1% /mnt

inodeを多く消費しているディレクトリの特定

inodeが上限に達した場合、どこのディレクトリが多くinodeを消費しているか確認する必要がある。以下ワンライナーを実行することでカレントディレクトリ以下のinode使用数が多いディレクトリを特定できる。
echo "==== `pwd` ====" ; for i in `ls -1`;do echo -n "## $i ### " ; echo "(`find ./$i -type f |wc -l`)" ;done | sort -r
==== /var ====
## yp ### (0)
## www ### (305)
## tmp ### (0)
## spool ### (14)
## run ### (11)
## preserve ### (0)
## opt ### (0)
## nis ### (0)
## mail ### (0)
## log ### (56)
## lock ### (16)
## local ### (0)
## lib ### (2923)
## games ### (0)
## empty ### (0)
## db ### (0)
## cvs ### (0)
## cache ### (33)

 
以上です。

Copyright © 2021 たぐたぐ.com. All rights reserved.