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でアプリケーションサーバを構築する手順の例

<目次> (1) Linuxでアプリケーションサーバを構築する手順の例  (1-1) APサーバの全体像  (1-2) APサーバの構築手順  (1-3) 各手順のURL (1) Linuxでアプリケ …

yum groupinstallで「Warning: Group development does not have any packages to install.」が出た時の対応

<目次> (1) yum groupinstallで「Warning: Group development does not have any packages to install.」が出た時の対応 …

Linux基礎コマンド(第4回) viエディタの操作・ログの取得

初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。本記事はその第4弾で、viエディタの使い方を簡単に紹介します。第1弾の記事はこち …

CentOS6で「Cannot find a valid baseurl for repo」が発生した時の対処方法について

<目次> (1) CentOS6で「Cannot find a valid baseurl for repo」が発生した時の対処方法について  (1-1) 発生状況・エラーメッセージ  (1-2) 原 …

パイプ通信とは?概要やサンプルプログラムをご紹介

  <目次> (1) パイプ通信とは?概要やサンプルプログラムをご紹介  (1-1) パイプ通信の概要  (1-2) パイプ通信の構文  (1-3) パイプ通信のサンプルプログラム①(単一プ …

  • English (United States)
  • 日本語
Top