<目次>
(1) Linuxの「inode」とは?概要や確認方法をご紹介
(1-1) Linuxの「inode」の概要
(1-2) 「inode」の確認方法
(1-3) 「inode」が枯渇について
(1) Linuxの「inode」とは?概要や確認方法をご紹介
(1-1) Linuxの「inode」の概要
「inode」はLinuxOSにおけるファイルに関する各種情報(例:パーミッション、所有者、ファイルサイズ、ファイル種別など)を保持したデータ構造です。「inode」はint型の整数により表現され、ファイルの生成時に割当てられます。
(1-2) 「inode」の確認方法
「inode」は「ls」コマンドで「-il」オプションを指定して確認できます。コマンド実行時の一番左に表示される数字が「inode」になります。
(図121)
(例)
[root@tk2-216-17994 bin]# ls -lai
合計 502184
5898594 drwxr-xr-x 2 oracle oinstall 12288 5月 9 15:23 2020 .
5898261 drwxr-xr-x 72 oracle oinstall 4096 7月 23 17:08 2017 ..
5902796 -rwxr-xr-x 1 oracle oinstall 9060 2月 15 13:06 2008 AgentLifeCycle.pm
5902797 -rwxr-xr-x 1 oracle oinstall 2343 7月 26 14:02 2006 AgentMisc.pm
5902798 -rwxr-xr-x 1 oracle oinstall 17833 9月 13 07:03 2007 AgentStatus.pm
5902799 -rwxr-xr-x 1 oracle oinstall 3265 7月 31 15:11 2008 AgentSubAgent.pm
また、システム全体のinode情報を確認するには「df」コマンドの「-i」オプションを使用します。
(図122)
(1-3) 「inode」が枯渇について
●枯渇するとどうなる?
「inode」が枯渇すると、例えディスク上に空き領域が残っていても、(カーネルが)新しいファイルを生成出来なくなります。例えば、以下は「inode」が逼迫(使用率100%)に達している例です。
(図131)仮想ディスクの3つ目のパーティション「vda3」(※注1)のinodeが100%
(例)
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda3 6414336 6414336 0 100% /
tmpfs 240224 3 240221 1% /dev/shm
/dev/vda1 64000 50 63950 1% /boot
(※注1)「/dev/vda3」について==========
まず頭の「/dev/」はデバイスフォルダを保持するためのディレクトリです。
その中でも「/dev/vda」はシステムの1つ目の準仮想化ディスクを表しており、更にその中のパーティションが順番に「/dev/vda1」「/dev/vda2」と順番に名づけられていきます。更に別の仮想ディスクがあれば、今度は3文字目を「b」にして「/dev/vdb」という名前になります。なので「/dev/vda3」は仮想ハードディスクの3つ目のパーティションという事になります。
他にも種類があり、「/dev/hda」はシステムの1つ目のハードディスク全体を表しています。これらも命名規則(末尾のアルファベットや番号)の付き方はvdaと同じです。
最後に「/dev/sda」は「スカジー」の事で、コンピューターとハードディスクを繋いで通信する際のインターフェイスです(ちょっと古めの技術)。これらも命名規則(末尾のアルファベットや番号)の付き方はvdaと同じです。
================================
●「inode」の上限値はどのように決まる?
では、「inode」の上限値はどのように決まるのでしょうか?これはOS(Linux)のファイルシステムを構築する段階で指定する「bytes per inode」(inode単位のバイト数)という値が重要になります。
つまり、「ファイルシステム全体の容量」÷「bytes per inode」した値が、ファイルシステム上で作れるinodeの数(=ファイル数)の上限値になります。そして、ひとたび「inode」が割り当てられると、ファイルシステムを作り直さない限りは、その上限値は変動しません。