スパースファイルとVMware
スパースファイル
データとデータの間に書き込みがないスペースが存在するファイルのこと。
lsで見ると作成した容量分のサイズが表示されるが、
duやdfで見ると実際の使用容量分でしか表示されない。
スパースファイル作成方法
dd if=/dev/zero of=test.img bs=1024k seek=2048 count=1 ※duで見ると、1MB,lsで見ると2GBのファイル
このようにseekを指定することでスパースファイルが作成できる。
実際には1MBのファイルとして存在するので、一瞬で作成される。
ファイルシステムの設定
ext3でスパースファイルを扱うにはファイルシステムの設定を行う必要あり。
- 設定確認
# tune2fs -l /dev/sda1 ・・・略 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal resize_inode filetype needs_recovery sparse_super large_file Default mount options: (none) Filesystem state: clean ・・・略
Filesystem featuresにsparse_superが設定されている場合、
スパースファイルを扱う設定になっている。
- 設定変更する方法
# tune2fs -O ^sparse_super /dev/sda1
'^'をつけるとオプション削除。
'+'をつけるとオプション追加。
sparse_superオプションの変更を行った際は、e2fsckで再構成しないといけない。
実際仮想マシン上で実施してみたが、
fsckが永遠にループして終わらなかった・・・