Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Linux

Linuxの「inode」とは?概要や確認方法をご紹介

投稿日:2021年12月26日 更新日:

 

<目次>

(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」が割り当てられると、ファイルシステムを作り直さない限りは、その上限値は変動しません。
 

Adsense審査用広告コード


Adsense審査用広告コード


-Linux

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Linux(CentOS 6)のパケットフィルタリング方法(iptables)

(0)目次&概説 >(1) “iptables”の概要 >(2) “iptables”の解説  >(2-1) “iptables&#8221 …

Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)

<目次> (1) Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 (1) Tomca …

Linuxのviで貼り付け時にコメントがある場合の注意点(コメントアウトされてしまう)

  <目次> (1) Linuxのviで貼り付け時にコメントがある場合の注意点(コメントアウトされてしまう)  (1-1) 発生事象  (1-2) 原因  (1-3) 対処  (1-4) 切 …

CentOS6にVNCServerでリモート接続して日本語入力を可能にする方法

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順  (2-1) ibus系のインストール  (2-2) dbusインストール+エラー回避  (2-3) mocz系パッケージのインストー …

CentOS7でfirewalldを用いてポートの開放を行う方法について

(0)目次&概説 (1) パケットフィルタリングの概要  (1-1) CentOS7のパケットフィルタリング概要  (1-2) CentOS6(iptables)との主な違い  (1-3) 「ゾーン」 …

  • English (United States)
  • 日本語
Top