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ノード番号は以下のように確認が可能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
■lsコマンドを使用する。 [root@lab-rp01 ~]# 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コマンドを使用する。 [root@lab-rp01 ~]# 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上限は下記コマンドで確認が可能。
1 2 3 4 5 6 7 |
[root@lab-rp01 ~]# 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使用数が多いディレクトリを特定できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@dist var]# 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) |
以上です。