ディレクトリサイズとは何ですか?
環境
- ONTAP
- ディレクトリ
回答
注:この場合、「ディレクトリサイズ」というフレーズは、特定のディレクトリ内のすべてのファイルの内容によって使用される合計ディスクスペースには適用されません。
ディレクトリのサイズを理解するには、最初にディレクトリが実際に何であるかを理解する必要があります。UNIXタイプのオペレーティングシステムには、一般に3つの主要なファイルタイプがあります。
- 通常のファイル
- 特殊ファイル
- ディレクトリファイル(Directory File)
通常のファイルには、ユーザやアプリケーションによって作成されたデータが格納されます。特殊ファイルについて は、Linux/Unixでのファイル形式の詳細を参照してください。 この記事では、ディレクトリファイルについて説明します。
ディレクトリファイルとは
ファイルシステムは、すべてのファイルの名前、場所、およびその他のメタデータを追跡します。このメタデータがinodeのみに含まれていた場合、またはファイル自体に含まれていた場合は、ディスクから読み取ってファイルを探すのに非常に長い時間がかかります。このパフォーマンスの問題を軽減するために、ファイル名やその他の必要なメタデータはディレクトリファイルと呼ばれる1つのファイルに保存されます。
注: ファイルのファイルメタデータの内容の例については、下記の「追加情報 」を参照してください。inodeとは何ですか?
ディレクトリファイルの内容には、次のものが含まれます。
- ファイル名
- CIFSで作成されている場合は、DOS 8.3の名前
- inode番号
ディレクトリファイルのサイズを確認する方法
ディレクトリファイルのサイズは、1つのディレクトリ内にファイル数の多い環境で重要になります。 最新のファイルシステムでは、長いファイル名とディレクトリ内に多数のファイルを格納できます。 ファイル名の長さと1つのディレクトリ内のファイル数は、いずれもディレクトリファイルのサイズに影響します。
ディレクトリファイルのサイズを確認するには、クライアントから次のコマンドを使用します。
$ ls -l
-rwxr-xr-x 1 user group 98404 Nov 8 2021 application.png
drwxr-xr-x 3 user group 4096 Apr 13 2022 backup
-rw-rw-r-- 1 user group 2221823 Aug 30 2021 ems.log.0000000009.txt
-rwxr-xr-x 1 user group 1174298 Feb 12 2020 putty.log
drwxrwxr-x 4 user group 12288 Sep 17 2021 logs
- この出力の5列目には、各ファイルで使用されているスペースが表示されます。
- 強調表示されたエントリは、ディレクトリファイルのサイズ(バイト単位)です。
- 新しく作成されるディレクトリのデフォルトサイズは4096バイトです。
ディレクトリファイルのサイズが大きいと考えられる場合
ONTAP では、検索にはディレクトリファイルサイズが2MiB以上であるとみなされます。このサイズ以上のディレクトリファイルは、検索パフォーマンスを向上させるために自動的にインデックスが作成されます。
追加情報
- maxdirsizeは何ですか?
- 通常のファイルメタデータの例:
$ stat file.dat
File: file.dat
Size: 419430400 Blocks: 822432 IO Block: 65536 regular file
Device: 3bh/59d Inode: 99629125 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1010/user) Gid: ( 80/ grp)
Context: system_u:object_r:nfs_t:s0
Access: 2017-01-16 04:54:15.115626000 -0800
Modify: 2013-01-09 02:48:00.000000000 -0800
Change: 2017-01-16 04:54:15.116631000 -0800
Birth: -
- ディレクトリファイルメタデータの例
$ stat fspopulate
File: fspopulate
Size: 4096 Blocks: 8 IO Block: 32768 directory
Device: 3bh/59d Inode: 89991994 Links: 4
Access: (2755/drwxr-sr-x) Uid: ( 1010/user) Gid: ( 80/ grp)
Context: system_u:object_r:nfs_t:s0
Access: 2022-05-30 03:45:53.110149000 -0700
Modify: 2017-01-16 04:54:15.538648000 -0800
Change: 2017-01-16 04:54:15.538648000 -0800
Birth: -