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

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

関連記事

VNC ServerとGNOMEデスクトップの概念や基本的な仕組みについて

(0)目次&概説 (1) 記事の目的・概要 (2) アーキテクチャ  (2-1) VNC Serverとは?  (2-2) Graphical Desktop Environmentとは?  (2-3 …

Linux基礎コマンド(第1回) TeraTermログイン・pwd・cd

初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。本記事はその第1弾です。 (0)目次&概説 >(1) Linuxのディレクトリ構 …

さくらVPS入門!CentOSを初期設定する手順の例をご紹介

<目次> (1) さくらVPS入門!CentOSを初期設定する手順の例をご紹介  (1-1) 設定の概要  (1-2) 【OS設定#1】一般ユーザの作成(rootでないユーザ)  (1-3) 【OS設 …

Linux(CentOS7)にTomcatをインストールする手順について

(0)目次&概説 (1) 記事の目的/前提 (2) 実施手順  (2-1) Tomcat用ユーザ/グループ作成  (2-2) 資源のダウンロード  (2-3) 資源の解凍  (2-4) 資源に必要権限 …

scpコマンドを使った異なるLinuxサーバ間のファイル転送の方法

異なるLinuxサーバ間(サーバA⇔サーバB)でファイルを転送する方法について書きます。 (0)目次&概説 >(1) 転送コマンドの構文 >(2) 転送コマンドの実行  >(2-1) 転送元の転送前( …

  • English (United States)
  • 日本語
Top