Как бэкапить снапшоты LVM?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Как бэкапить снапшоты LVM?

Сообщение SLEDopit »

vagrantname писал(а):
01.08.2012 00:29
Сама идея - нужна 200% безопасная система.
LVM не для этого был создан. LVM не решает проблему сохранности данных. Используйте raid массив (не нулевой) и регулярные бэкапы (бэкап сервер желательно держать в другом здании). Тогда у вас будет шанс не потерять данные.
vagrantname писал(а):
01.08.2012 00:29
Интересуют скрипты.
Готовые? (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
vagrantname
Сообщения: 4

Re: Как бэкапить снапшоты LVM?

Сообщение vagrantname »

не, сохранность тут и не расматривается. это мой подход к защите рабочего места. при загрузке системы я должен быть 100% уверен что она чистая и никто в ней не ковырялся. векторов атак много, выкручиваюсь )
готовые - тоже в радость ;) я же их модифицировать могу.

зы. я опасаюсь грамотного инсайда, на самом деле (
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Как бэкапить снапшоты LVM?

Сообщение SLEDopit »

vagrantname писал(а):
01.08.2012 01:15
зы. я опасаюсь грамотного инсайда, на самом деле (
Ставите систему на флешку / внешний hdd / варганите live cd, работаете с них и ни на секунду не оставляете без присмотра.
Нужно отойти - всё выключили, носитель забрали с собой.
При грамотном инсайде можно обнаружить и всякие подозрительные снапшоты и разделы на диске (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
vagrantname
Сообщения: 4

Re: Как бэкапить снапшоты LVM?

Сообщение vagrantname »

да ну, ты что )) это нерабочие варианты.
факт обнаружения всегда остается фактом. лишь бы не испоганили )) тоесть, потенциально, для диверсии остается только уничтожение информации.. А LVM не решает проблем сохранности данных ;)
"ни на секунду" - неудобство. я хочу что-то красивое, элегантное и чуть замороченное )
ps. не отговаривай меня! ((:
Спасибо сказали:
vagrantname
Сообщения: 4

Re: Как бэкапить снапшоты LVM?

Сообщение vagrantname »

root fs из файла [решено]
может так же как он изворачивается и мне пойдет?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Как бэкапить снапшоты LVM?

Сообщение SLEDopit »

Ну тогда можно запретить загрузку без пароля:
1. Зашифровать весь жёсткий диск
2. Запаролить загрузчик на изменение настроек на лету
3. Запаролить загрузчик на предмет загрузки (без пароля ядро грузиться не начнёт)
4. Всевозможные пароли в графическом окружении
5. Не оставлять незапароленный сеанс без присмотра

Этого должно быть достаточно для того, чтобы спать спокойно. И никаких извращений с ручным монтированием не нужно.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
sgfault
Сообщения: 586
Статус: -

Re: Как бэкапить снапшоты LVM?

Сообщение sgfault »

Хм, интересно, но способ предложенный nesk-ом
nesk писал(а):
08.09.2009 14:52
rfcr писал(а):
08.09.2009 13:08
Возможно да, но тогда надо делать инкрементальный бэкап на уровне разделов, а не на уровне файлов. Т.к. при заливке данных в снимок он будет занимать столько же места сколько сами данные...

Может я опять не совсем хорошо понял то, что Вы написали.
Мне кажется надо делать инкремент на уровне файлов (бекапатся ведь файлы)
То есть есть исходный том. Там есть файлы f1 f2 f3. Есть его снимок в котором файл f2' поменялся.
Делаем полный бекап раздела и инкремент снимок-раздел.
В полном бекапе будут файлы f1 f2 f3
А в инкременте f2'
Дальше, если надо восстановиться:
Мы восстанавливаем исходный том с полного бекапа (если это требуется)
Делаем новый снимок.
И заливаем в снимок только инкремент. То есть снимок увеличиться на размер данных в инкрементальной копие.
Размер снимка конечно может оказаться больше чем был, а может оказаться даже меньше :)

если для инкрементальных бекапов использовать tar, не работает. Вот тестовый "конфиг":

Код: Выделить всё

# !lvs
lvs | grep 'test[^i]'
  test                              shilvana_user owi-ao 100.00m
  test_snap                         shilvana_user swi-ao  10.00m test      0.51
# cat /proc/mounts | grep 'test[^i]'
/dev/mapper/shilvana_user-test_snap /mnt/test_restore/snap ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/mapper/shilvana_user-test /mnt/test_restore/orig ext3 rw,relatime,errors=continue,data=ordered 0 0
# diff -qr orig snap
Files orig/1.tmp and snap/1.tmp differ
Only in snap: 3.tmp

Теперь я создаю архивы:

Код: Выделить всё

# cd orig
# tar -cvf ../test.0.tar --listed-incremental ../test.lst *
tar: a: Directory is new
tar: lost+found: Directory is new
1.tmp
a/
lost+found/
a/2.tmp
# cd ../snap/
# tar -cvf ../test.1.tar --listed-incremental ../test.lst *
tar: a: Directory has been renamed
tar: lost+found: Directory has been renamed
a/
lost+found/
a/2.tmp

Проверяю содержимое

Код: Выделить всё

# tar --list --verbose --incremental -f ../test.0.tar
-rw-r----- root/root         2 2012-08-01 15:22 1.tmp
drwxr-x--- root/root         8 2012-08-01 15:22 a/
drwx------ root/root         1 2012-08-01 15:13 lost+found/
-rw-r----- root/root         2 2012-08-01 15:22 a/2.tmp
# tar --list --verbose --incremental -f ../test.1.tar
drwxr-x--- root/root         8 2012-08-01 15:22 a/
drwx------ root/root         1 2012-08-01 15:13 lost+found/
-rw-r----- root/root         2 2012-08-01 15:22 a/2.tmp
# tar -xvf ../test.1.tar
a/
lost+found/
a/2.tmp
# ll
total 8
drwxr-x--- 2 root root 4096 Aug  1 15:22 a
drwx------ 2 root root 4096 Aug  1 15:13 lost+found

Те в инкрементальном архиве не содержится измененный файл 1.tmp и новый файл 3.tmp.
Или такой вариант (с --no-check-device), который приводит к почти таким же (те неправильным) результатам:

Код: Выделить всё

# cd orig
# tar -cvf ../test.0.tar --listed-incremental ../test.lst --no-check-device *
tar: a: Directory is new
tar: lost+found: Directory is new
1.tmp
a/
lost+found/
a/2.tmp
# cd ../snap/
# tar -cvf ../test.1.tar --listed-incremental ../test.lst --no-check-device *
a/
lost+found/
# cd ../extr
# tar --list --verbose --incremental -f ../test.0.tar
-rw-r----- root/root         2 2012-08-01 15:22 1.tmp
drwxr-x--- root/root         8 2012-08-01 15:22 a/
drwx------ root/root         1 2012-08-01 15:13 lost+found/
-rw-r----- root/root         2 2012-08-01 15:22 a/2.tmp
# tar --list --verbose --incremental -f ../test.1.tar
drwxr-x--- root/root         8 2012-08-01 15:22 a/
drwx------ root/root         1 2012-08-01 15:13 lost+found/
# ll
total 0
# tar -xvf ../test.1.tar
a/
lost+found/
# ll
total 8
drwxr-x--- 2 root root 4096 Aug  1 15:22 a
drwx------ 2 root root 4096 Aug  1 15:13 lost+found
# ll a/
total 0


Я что-то сделал не так? :huh:
Спасибо сказали:
Аватара пользователя
anonymous.ru
Сообщения: 614

Re: Как бэкапить снапшоты LVM?

Сообщение anonymous.ru »

sgfault писал(а):
01.08.2012 15:58
Я что-то сделал не так? :huh:

В test.lst tar сохранил дату снятия бекапа.
В инкремент tar будет включать те файлы, которые были модифицированны после той даты, которая была сохранена в test.lst.
1.tmp и 3.tmp модифицированны раньше, чем то время, которое сохранено в test.lst, и поэтому не попали в инкремент.

Как вариант: полный бекап делать до создания снепшота, или до первой модификации снепшота.
:drinks:
Спасибо сказали: