использование zfs снимков для восстановления "/"
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- carharot
- рядовой
- Сообщения: 29
- Зарегистрирован: 2012-09-22 17:59:34
использование zfs снимков для восстановления "/"
Люди. куда искать, как правильно восстанавливать снимки корневого раздела и таких разделов, как /usr (someone/usr@дата.создания).
Ведь, на лету явно этого делать нельзя, когда открыто много файлов.
Как я понял - только с live-cd. в голове только импровизация, но какая-то не хорошая она получается.
zpool import someone
пул выстрелится туда же, где и live-cd в памяти. в перемешку будут разделы же.
делать zpool import -R someone /другая точка/ - но а точно ли это хорошая идея?
ведь у лэйблов фс инфа, что она есть на корню, а не где-то там в /другая точка/
Прежде чем написать вопрос, рылся в гугле и по мануалам zfs. Есть еще офф руководство. Но там одни "танки/home/test" примеры. То есть, примеры, когда можно делать откат на лету. Не то место, где море конфигов и исполняемых открытых файлов.
Импровизировать желания особого нет, прочитав лишь руководства. Чего велосипед-то открывать.
В надежде, что сюда заглянет человек, кто сам воспроизводил такие действия и не вслепую воспроизводил их.
Ведь, на лету явно этого делать нельзя, когда открыто много файлов.
Как я понял - только с 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
Тарифы на хостинг в России, от 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/
Тарифы на виртуальные сервера (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
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: использование zfs снимков для восстановления "/"
Я делал это на тестовом серваке http://skeletor.org.ua/?p=2921 . Почитайте полностью. Думаю вам нужно будет импортировать пул в /a и сделать chroot. Дальше уже как обычно zfs rollback. ZFS хранит метки относительно корня пула, так что все потомки будут отталкиваться именно от этого, что очень удобно.
После ребута всё нормально грузиться.
После ребута всё нормально грузиться.
- carharot
- рядовой
- Сообщения: 29
- Зарегистрирован: 2012-09-22 17:59:34
Re: использование zfs снимков для восстановления "/"
мм. Это очень даже очень-супер. надо попробовать.
- carharot
- рядовой
- Сообщения: 29
- Зарегистрирован: 2012-09-22 17:59:34
Re: использование zfs снимков для восстановления "/"
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. чрут действительно нужен при роллбэке?
как я понял, до чрутенья нужно биндить /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 снимков для восстановления "/"
сделал rollback без захода. так работает.
во я туплю. вы, наверное, имели ввиду, что чрут нужен для работы в корне такой системы, уже после восстановления.
во я туплю. вы, наверное, имели ввиду, что чрут нужен для работы в корне такой системы, уже после восстановления.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: использование zfs снимков для восстановления "/"
chroot - не обязательно. Так же мне кажется, что необязательно и биндить /proc, /dev.
- carharot
- рядовой
- Сообщения: 29
- Зарегистрирован: 2012-09-22 17:59:34
Re: использование zfs снимков для восстановления "/"
ну.
сделал себе три файлика.
снимок:
пускается он, как snap.sh "тут дату латиницей, без кавычек, или еще что, по желанию".
восстановление. как сработает окружение live cd на #!/bin/sh, правда, еще не в курсе.
удаление:
Неподвижные данные хранятся на других датасетах. фильмы и проч. они часто удаляются, добавляются, а весят дофигищче и я их отдельно засунул. ну и логи не стал добавлять
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
Еще понравилось то, что при синхронизации нового устройства, с зеркалом, не весь диск клонируется, а лишь информационная его часть.
осталось разобраться, какой диск какой в системе. что бы не пришлось из-за ошибки выдергивания другого диска в пустую все заново синхронить (если вообще получится засинхронить, когда будет случай полуубитого харда).
сделал себе три файлика.
снимок:
Код: Выделить всё
#!/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
восстановление. как сработает окружение 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
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: использование zfs снимков для восстановления "/"
А почему не пользуетесь ключиком -R , что бы рекурсивно удалить, восстанавливать, снапшотить? Сейчас у вас 10 Zfs, а будет 100, что тогда?
- carharot
- рядовой
- Сообщения: 29
- Зарегистрирован: 2012-09-22 17:59:34
Re: использование zfs снимков для восстановления "/"
потому, что там есть датасеты, которые не нужно снапшотить.
если произвести рекурсию, то захватятся и они, как я понял.
будет 10 - пусть будет. потом, я не планирую делать 1000 снимков.
если произвести рекурсию, то захватятся и они, как я понял.
будет 10 - пусть будет. потом, я не планирую делать 1000 снимков.