использование zfs снимков для восстановления "/"

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 3:11:15

Люди. куда искать, как правильно восстанавливать снимки корневого раздела и таких разделов, как /usr (someone/usr@дата.создания).
Ведь, на лету явно этого делать нельзя, когда открыто много файлов.

Как я понял - только с live-cd. в голове только импровизация, но какая-то не хорошая она получается.

zpool import someone
пул выстрелится туда же, где и live-cd в памяти. в перемешку будут разделы же.

делать zpool import -R someone /другая точка/ - но а точно ли это хорошая идея?
ведь у лэйблов фс инфа, что она есть на корню, а не где-то там в /другая точка/

Прежде чем написать вопрос, рылся в гугле и по мануалам zfs. Есть еще офф руководство. Но там одни "танки/home/test" примеры. То есть, примеры, когда можно делать откат на лету. Не то место, где море конфигов и исполняемых открытых файлов.

Импровизировать желания особого нет, прочитав лишь руководства. Чего велосипед-то открывать.

В надежде, что сюда заглянет человек, кто сам воспроизводил такие действия и не вслепую воспроизводил их.
Последний раз редактировалось f_andrey 2012-09-25 7:31:30, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение skeletor » 2012-09-25 11:43:38

Я делал это на тестовом серваке http://skeletor.org.ua/?p=2921 . Почитайте полностью. Думаю вам нужно будет импортировать пул в /a и сделать chroot. Дальше уже как обычно zfs rollback. ZFS хранит метки относительно корня пула, так что все потомки будут отталкиваться именно от этого, что очень удобно.
После ребута всё нормально грузиться.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 13:13:54

мм. Это очень даже очень-супер. надо попробовать.

Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 13:42:55

zfs import -f -R /tmp/a zroot прошел на ура, а вот при команде zfs list -t shapsot ругань - failed to initialize ZFS library. live cd девятой fbsd.

как я понял, до чрутенья нужно биндить /proc и /dev. копаю правильное монтирование этих фс.
ибо
mount -t proc none /tmp/a/proc выдает operation not supported by device

2. чрут действительно нужен при роллбэке?

Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 13:52:11

сделал rollback без захода. так работает.
во я туплю. вы, наверное, имели ввиду, что чрут нужен для работы в корне такой системы, уже после восстановления.

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение skeletor » 2012-09-25 13:54:41

chroot - не обязательно. Так же мне кажется, что необязательно и биндить /proc, /dev.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 15:52:52

ну.
сделал себе три файлика.
снимок:

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

#!/bin/sh
#
zfs snapshot zroot@"${1}"
zfs snapshot zroot/usr@"${1}"
zfs snapshot zroot/usr/home@"${1}"
zfs snapshot zroot/usr/home/iron@"${1}"
zfs snapshot zroot/usr/ports@"${1}"
zfs snapshot zroot/usr/ports/distfiles@"${1}"
zfs snapshot zroot/usr/ports/packages@"${1}"
zfs snapshot zroot/usr/src@"${1}"
zfs snapshot zroot/var@"${1}"
zfs snapshot zroot/var/db@"${1}"
zfs snapshot zroot/var/db/pkg@"${1}"
zfs list -t snapshot
пускается он, как snap.sh "тут дату латиницей, без кавычек, или еще что, по желанию".

восстановление. как сработает окружение live cd на #!/bin/sh, правда, еще не в курсе.

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

#!/bin/sh
#
zfs rollback zroot@"${1}"
zfs rollback zroot/usr@"${1}"
zfs rollback zroot/usr/home@"${1}"
zfs rollback zroot/usr/home/iron@"${1}"
zfs rollback zroot/usr/ports@"${1}"
zfs rollback zroot/usr/ports/distfiles@"${1}"
zfs rollback zroot/usr/ports/packages@"${1}"
zfs rollback zroot/usr/src@"${1}"
zfs rollback zroot/var@"${1}"
zfs rollback zroot/var/db@"${1}"
zfs rollback zroot/var/db/pkg@"${1}"
zfs list
удаление:

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

#!/bin/sh
#
zfs destroy zroot@"${1}"
zfs destroy zroot/usr@"${1}"
zfs destroy zroot/usr/home@"${1}"
zfs destroy zroot/usr/home/iron@"${1}"
zfs destroy zroot/usr/ports@"${1}"
zfs destroy zroot/usr/ports/distfiles@"${1}"
zfs destroy zroot/usr/ports/packages@"${1}"
zfs destroy zroot/usr/src@"${1}"
zfs destroy zroot/var@"${1}"
zfs destroy zroot/var/db@"${1}"
zfs destroy zroot/var/db/pkg@"${1}"
zfs list -t snapshot
Неподвижные данные хранятся на других датасетах. фильмы и проч. они часто удаляются, добавляются, а весят дофигищче и я их отдельно засунул. ну и логи не стал добавлять

zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 763G 607G 158M /
zroot/swap 4,13G 611G 341M -
zroot/tmp 208K 607G 208K /tmp
zroot/usr 758G 607G 2,88G /usr
zroot/usr/home 754G 607G 244K /usr/home
zroot/usr/home/iron 754G 607G 916M /usr/home/iron
zroot/usr/home/iron/1 753G 607G 753G /usr/home/iron/1
zroot/usr/ports 1,40G 607G 1,16G /usr/ports
zroot/usr/ports/distfiles 250M 607G 250M /usr/ports/distfiles
zroot/usr/ports/packages 144K 607G 144K /usr/ports/packages
zroot/usr/src 499M 607G 499M /usr/src
zroot/var 170M 607G 1,98M /var
zroot/var/crash 148K 607G 148K /var/crash
zroot/var/db 166M 607G 160M /var/db
zroot/var/db/pkg 5,22M 607G 5,22M /var/db/pkg
zroot/var/empty 144K 607G 144K /var/empty
zroot/var/log 1,73M 607G 1,73M /var/log
zroot/var/mail 160K 607G 160K /var/mail
zroot/var/run 296K 607G 296K /var/run
zroot/var/tmp 164K 607G 164K /var/tmp

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

zpool status
  pool: zroot
 state: ONLINE
 scan: resilvered 934G in 3h4m with 0 errors on Sun Sep 23 05:30:08 2012
config:

	NAME        STATE     READ WRITE CKSUM
	zroot       ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    ada0p2  ONLINE       0     0     0
	    ada1p2  ONLINE       0     0     0
	    ada2p2  ONLINE       0     0     0

errors: No known data errors
Еще понравилось то, что при синхронизации нового устройства, с зеркалом, не весь диск клонируется, а лишь информационная его часть.

осталось разобраться, какой диск какой в системе. что бы не пришлось из-за ошибки выдергивания другого диска в пустую все заново синхронить (если вообще получится засинхронить, когда будет случай полуубитого харда).

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение skeletor » 2012-09-25 16:07:08

А почему не пользуетесь ключиком -R , что бы рекурсивно удалить, восстанавливать, снапшотить? Сейчас у вас 10 Zfs, а будет 100, что тогда?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
carharot
рядовой
Сообщения: 29
Зарегистрирован: 2012-09-22 17:59:34

Re: использование zfs снимков для восстановления "/"

Непрочитанное сообщение carharot » 2012-09-25 16:11:20

потому, что там есть датасеты, которые не нужно снапшотить.
если произвести рекурсию, то захватятся и они, как я понял.
будет 10 - пусть будет. потом, я не планирую делать 1000 снимков.