先週末、私の同僚の1人が共有コンピューティングサーバーの1つで奇妙なことが起こったことを発見しました。
ls -l
サイズ132Gのファイルを含むと思われるディレクトリがあります。
ただし、実行すると、df -h
使用されている合計ディスク容量が128Gであることがわかります。また、du -h --max-depth=1
ドライブルートで実行すると、128Gが報告されます。.
最初は、問題が開かれたファイルハンドルまたはそれに似ているため、これらのバイナリが他の情報を報告するのかどうか疑問に思いました。ただし、ディスクの取り外しと再インストールに疲れ、すべてのバイナリは以前と同じ結果を報告します。
ドライブ構成に関する追加情報を提供します。
- ボリュームは、LUKS暗号化に加えてEXT4を使用してフォーマットされます。
- ディスクは NFS などで共有されません。
- 問題のファイルを確認してみましたが、リンクがないようです。
- ボリュームをアンマウントして再マウントしたときにボリュームから実行して強制的にディスクチェックを実行しましたが、
fsck -f
問題は返されませんでした。 - ディスクを持つサーバーは仮想化ホストではなく、オペレーティングシステムとしてUbuntu 14.04を実行しています。
答え1
あなたのサーバーは仮想化ホストですか?
物理ファイルとディスク領域のサイズが異なることは、動的に拡張される仮想ディスクの一般的な動作です。ディスクは実際のファイルサイズとヘッダファイルサイズのデータが異なります。
はい:
おそらくqemu仮想ディスク(qcow2拡張子など)を使用しています。以下で見つけることができます。
find / -regex '.*\.qcow.*$'
/var/lib/vz/images/105/vm-105-disk-1.qcow2
...
vm-105-disk-1.qcow2
寸法を確認してみましょうstat
:
stat vm-105-disk-1.qcow2
File: vm-100-disk-1.qcow2
Size: 68745560064
79728541696 - 約64GB
調査するwc
:
wc -c <vm-105-disk-1.qcow2
68745560064
同じ結果...確認du
:
du -sh vm-105-disk-1.qcow2
15G vm-105-disk-1.qcow2
たった15GB! utilを使って確認してみましょうqemu-img
。
qemu-img info vm-105-disk-1.qcow2
image: vm-105-disk-1.qcow2
file format: qcow2
virtual size: 64G (68719476736 bytes)
disk size: 14G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
次の2行に注意することで、すべてが明確になります。
virtual size: 64G (68719476736 bytes)
disk size: 14G
サーバーが仮想化ホストでない場合は、次のトピックを参照してください。