LVMのスナップショット領域を使い切ったら?
Linux上にあるVMwareの仮想ハードディスクファイルをバックアップする際、LVMの機能でスナップショットを作成しています。スナップショットには、スナップショットを取った時点からデーターが変更されたときに、元のデーターを保存するスナップショット領域があります。スナップショット領域のサイズは、スナップショットを作成する際に指定します。
スナップショット領域をどのくらい使っているか調べる方法
スナップショット領域をどのくらい使っているか調べるには、lvdisplayを使います。
[root@everest ~]# lvdisplay (中略) --- Logical volume --- LV Name /dev/vg0/snap0 VG Name vg0 LV UUID P6Z0Ko-pEKw-suqJ-57Qr-gTJQ-0v7C-g3EIa6 LV Write Access read/write LV snapshot status active destination for /dev/vg0/root LV Status available # open 0 LV Size 300.00 GB Current LE 9600 COW-table size 1.00 GB COW-table LE 32 Allocated to snapshot 1.17% Snapshot chunk size 4.00 KB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
ここで表示される「Allocated to snapshot」がスナップショット領域の使用率になります。
スナップショット領域を使い切ったらどうなるのか?
スナップショット領域を使い切ったらどうなるのか、調べてくださっている方がいらっしゃいました。
少々乱暴ですが、実際に溢れさせてみました。
(中略)
lvscan コマンドで確認してみますと、もとのファイルシステムと共に、 inactive にされてしまったようです。
LVM のスナップショット機能を使ってみる - いますぐ実践! Linuxシステム管理 / Vol.166
スナップショットだけではなく、元の論理ボリュームも使えなくなるようです。スナップショットを使ったバックアップが途中でコケたためにスナップショット開放せず、スナップショット領域を使い切ったら、元のファイルも使えなくなってしまうということです。これはガクブルです!
スナップショット領域サイズは、使い切らないように適切に設定する必要があると思いました。