2026-03-12 21:01:38
This commit is contained in:
67
tiddlywiki/LVM snapshots.txt
Executable file
67
tiddlywiki/LVM snapshots.txt
Executable file
@@ -0,0 +1,67 @@
|
||||
-- setup
|
||||
pvcreate /dev/xvdc1
|
||||
pvcreate /dev/xvdd1
|
||||
|
||||
pvs
|
||||
PV VG Fmt Attr PSize PFree
|
||||
/dev/xvdc1 lvm2 --- <100.00g <100.00g
|
||||
/dev/xvdd1 lvm2 --- <100.00g <100.00g
|
||||
|
||||
vgcreate vg_data /dev/xvdc1 /dev/xvdd1
|
||||
|
||||
vgs
|
||||
VG #PV #LV #SN Attr VSize VFree
|
||||
vg_data 2 0 0 wz--n- 199.99g 199.99g
|
||||
|
||||
|
||||
lvcreate -n lv_data -L 99G vg_data
|
||||
|
||||
mkfs.xfs /dev/vg_data/lv_data
|
||||
|
||||
mkdir /mnt/{original,snap}
|
||||
|
||||
mount /dev/vg_data/lv_data /mnt/original
|
||||
echo "/dev/vg_data/lv_data /mnt/original xfs defaults 0 0" >> /etc/fstab
|
||||
|
||||
-- snapshot creation
|
||||
lvcreate -L 99G -s /dev/vg_data/lv_data -n lv_snapshot
|
||||
|
||||
-- mount the snapshot LV (on XFS you should use -o nouuid option)
|
||||
mount -o nouuid /dev/vg_data/lv_snapshot /mnt/snap/
|
||||
|
||||
-- emptying file on snapshot FS
|
||||
> /mnt/snap/file_90G.raw
|
||||
|
||||
df -h /mnt/snap
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/mapper/vg_data-lv_snapshot 99G 33M 99G 1% /mnt/snap
|
||||
|
||||
-- changes on snaphot FS does not affects data Data% usage on the snaphot LV
|
||||
lvs
|
||||
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
|
||||
lv_data vg_data owi-aos--- 99.00g
|
||||
lv_snapshot vg_data swi-aos--- 99.00g lv_data 0.00
|
||||
|
||||
-- change 10Gb of data on source LV
|
||||
dd if=/dev/zero of=/mnt/original/file_90G.raw bs=1G count=10
|
||||
|
||||
lvdisplay /dev/vg_data/lv_snapshot | grep "Allocated to snapshot"
|
||||
Allocated to snapshot 10.14%
|
||||
|
||||
-- revert to a snapshot
|
||||
umount /mnt/{original,snap}
|
||||
|
||||
lvconvert --merge /dev/vg_data/lv_snapshot
|
||||
|
||||
-- if the COW space is exhausted, LV snapshot status become INACTIVE
|
||||
-- we cannot revert from an INACTIVE snapshot
|
||||
|
||||
lvdisplay /dev/vg_data/lv_snapshot | grep "LV snapshot status"
|
||||
LV snapshot status INACTIVE destination for lv_data
|
||||
|
||||
lvconvert --merge /dev/vg_data/lv_snapshot
|
||||
Unable to merge invalidated snapshot LV "lv_snapshot".
|
||||
|
||||
-- remove a snapshot
|
||||
lvremove /dev/vg_data/lv_snapshot
|
||||
|
||||
Reference in New Issue
Block a user