blob: 49914953fefbf2964326e0eed04eac4a48d993b5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/bin/sh
set -e
vg="x230"
lv="root"
snap_name="${lv}-snap"
mountpoint="/mnt/snap"
PERCENT="100"
mount_fs() {
_device="$1"; shift
_opts="nouuid,rw"
_mntpoint="$1"; shift
if ! [ -d "$_mntpoint" ] ; then
mkdir "$_mntpoint"
fi
mount -o "$_opts" "$_device" "$_mntpoint"
}
# If snapshot doesn't exist
if ! lvm lvs "$vg/$snap_name" >/dev/null 2>&1 ; then
lvm lvcreate "$vg/$lv" -s --name "$snap_name" -l "${PERCENT}%ORIGIN"
mount_fs "/dev/$vg/$snap_name" "$mountpoint"
sed -i.bak -r "s@(/dev/${vg}/${lv})@\1${snap_name}@" \
"$mountpoint/etc/fstab"
umount "$mountpoint"
else
printf 'Cannot continue snapshot "%s" already exists.\n' \
"$vg/$snap_name"
exit 1;
fi
|