68 lines
1.9 KiB
Plaintext
Executable File
68 lines
1.9 KiB
Plaintext
Executable File
-- 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
|
|
|