すべてのオペレーティングシステムで、私はファイルシステムが占めるスペースよりも大きなスナップショットを作成しました。たとえば、容量が 250 GB で、100 GB を使用する /try というファイルシステムがある場合は、100 GB 以上のスナップショットを作成します。 AIXでは、fsスペースよりも小さいサイズのスナップショットを作成しました。 2GBの論理ボリュームに590MBのファイルを作成しました。
dd if=/dev/zero of=hello bs=1m count=590
590+0 records in
590+0 records out
次に、590MB以上ではなく256MBのスナップショットを作成します。
snapshot -o snapfrom=/try -o size=256m
Snapshot for file system /try created on /dev/fslv00
dfはfs「試行」の正確なサイズを報告します。
df -hT /try
/dev/try jfs2 2,0G 591M 1,5G 29% /try
スナップショットをマウントできます。
mount -o snapshot /dev/fslv00 /mnt/
dfはスナップショットサイズを256MBと報告しますが、1.5MBが使用されます。
df -hT /mnt
/dev/fslv00 jfs2 256M 1,5M 255M 1% /mnt
最後の試みで、ファイルに対してmd5sumチェックを実行しました。スナップショットと物理ファイルシステムの両方で機能します。
b7fb2207c641085a9cf02064edf1742e /mnt/hello
b7fb2207c641085a9cf02064edf1742e /try/hello
質問は簡単です。どのようにスナップショットのサイズが実際のファイルシステムのサイズより小さいのですか?スナップショットのスペース(1,5 mb)が実際のファイルシステムで使用されているスペース(591 mb)より低いのはなぜですか?
答え1
解決策を見つけてください。使用されている実際のファイルシステムよりも小さいサイズでスナップショットを作成することは「可能」ですが、これはまったく役に立ちません。元のファイル/try/helloを削除すると(ファイルブロックの転送によって)スナップショットサイズが大きくなり、実際のファイルシステムサイズで作成したため、ファイルシステムがいっぱいになり、「hello」ファイルが表示されます。 "が破損してI / Oエラーを返します。
df -hT /mnt
/dev/fslv00 jfs2 256M 256M 0 100% /mnt
md5sum /mnt/hello
md5sum_64: /mnt/hello: There is an input or output error.