Добрый день! Столкнулся с такой проблемой. Имеется Ubuntu Server x64 16.04. В системе настроен раздел LVM b1c файловая система ext4 с именем lvol0. Хочется по cron делать резервные копии папок из того раздела. Там находятся файловые базы 1С, с которыми работают в течение рабочего дня, так что хотелось бы делать всё из теневой копии. Код скрипта для создания резервной копии:
#!/bin/bash
echo " "
echo "Начало создания резерных копий для LVM " $(date +%Y%m%d_%H-%M-%S)
#удаляем, вдруг что-то завалялось
lvremove -f /dev/b1c/now
umount /mnt/snapshot
sleep 10
#создаём теневую копию(снапшот) баз 1С
lvcreate -s -L 10G -n now /dev/b1c/lvol0
sleep 10
echo "Файлы в папке /dev/b1c"
ls -la /dev/b1c
#подключаем сетевую папку сетевого накопителя
mount тут подключение сетевого хранилища
#монтируем созданный снапшот для создания резервной копии
mount -o ro /dev/b1c/now /mnt/snapshot
echo "Файлы в папке /mnt/snapshot"
ls -la /mnt/snapshot
echo " "
#создаём архивы с бекапами
sleep 10
echo "Создание архива 7z из теневой копии"
7z a -mhe=on -ppfhgkfnfbrflhsrmrail -mx7 /mnt/NetStorage/ZUPLVM$(date +%Y%m%d-%H%M).7z /mnt/snapshot/bases1c/RM_Rail_Ing_ZUP
sleep 10
echo "Удаление теневой копии"
umount /mnt/snapshot
lvremove -f /dev/b1c/now
echo "Завершение резервного копирования " $(date +%Y%m%d_%H-%M-%S)
Пояснения к скрипту. sleep 10 расставил больше от отчаянья, типа не успевает создаться снапшот. Строчки с ls -la просто отладочные, они показывают наличие или отсутствие снапшота now.
В итоге скрипт засовывается в crontab -e строчкой 22 11 * * 1-5 sh /etc/LVMBackup.sh >> /var/log/backupScript.log и в файле лога появляются следующие записи. Как видно в данных по папкам ls должен был появиться снапшот, а там ничего нет, там только сам раздел lvol0
Начало создания резервных копий для LVM 20170523_11-22-01
[color=red]Файлы в папке /dev/b1c[/color]
total 0
drwxr-xr-x 2 root root 60 May 22 21:04 .
drwxr-xr-x 19 root root 4420 May 22 21:05 ..
lrwxrwxrwx 1 root root 7 May 22 21:04 lvol0 -> ../dm-0
[color=red]Файлы в папке /mnt/snapshot[/color]
total 8
drwxr-xr-x 2 administrator администрация 4096 May 17 14:19 .
drwxr-xr-x 7 root root 4096 May 17 14:19 ..
Создание архива 7z из теневой копии
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning
/mnt/snapshot/bases1c/[i]папка базы[/i]: WARNING: No such file or directory
Creating archive /mnt/NetStorage/ZUPLVM20170523-1122.7z
WARNINGS for files:
/mnt/snapshot/bases1c/[i]папка базы[/i] : No such file or directory
----------------
WARNING: Cannot find 1 file
Удаление теневой копии
Завершение резервного копирования 20170523_11-22-52
В случае если я этот скрипт запускаю sudo вручную, то всё отрабатывает идеально. Появляется строчка Logical volume "now" created. и бекап создаётся нормально.
P.S. Абсолютно аналогичная проблема у меня была при разделе в zfs, но я подумал, что zfs ещё недостаточно допилена для Ubuntu и переделал всё на LVM. Нутром понимаю, что проще заново с нуля переделать сервер, но хочется разобраться что не так.