LinuxForum.Fans
Тема

backup "/" и восстановление через GRUB

Автор: DiabloPC 64 сообщений 8002 просмотров
15.11.2014 23:16 · отредактировано #401017

Подкиньте идею как такое сделать?
Имеем:
[console]/dev/sdb1 * 2048 67102719 33550336 83 Linux
/dev/sdb2 67102720 78161919 5529600 82 Linux swap / Solaris[/console]
Загрузчик GRUB1
В конце диска есть свободное место, там будет раздел ~10GB (если нужно, можно и больше, но не желательно)

Нужно:
Сделать образ корневой ФС, и желательно сжатый
На третий раздел впилить какой-то MinimalBoot
И в GRUB добавить раздел "RESTORE" - откуда должна загрузится эта системка распаковать образ в /dev/sdb1 и уйти в перезагрузку.
И все это полным автоматом так как в управлении ориентируемся на ПДУ, а там с нормальных кнопок, которые есть и на клавиатуре доступно только стрелки, "esc" и "Enter", так что в грабе выбрать и загрузить что-то отличное от образа по умолчанию можно, но дальше особо рулить не получится...

15.11.2014 23:30 #401018

diablopc
Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?

15.11.2014 23:34 #401019
"mvt" написал:
Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?

В принципе подойдет...
...единственное - это как паралельно сжать это все???
а то образ в 12-13 гиг эт как-то некошерно будет)

15.11.2014 23:41 #401020
diablopc написал:
[quote="mvt"]Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?

В принципе подойдет...
...единственное - это как паралельно сжать это все???
а то образ в 12-13 гиг эт как-то некошерно будет)[/quote]
А сожмёте, как грузить будете? Вы хотели 10 а будет 12 - сильно много?
PS У меня штук восемь - и все нормально грузятся и работают. Общий загрузчик - grub 0.97.
Это уж потом они как-то со своими грузятся. А можно и ядро с initrd просто прописать.

15.11.2014 23:47 #401022
"mvt" написал:
А сожмёте, как грузить будете?

Эммм.....
Мне его грузить и не нужно...
на разделе с backup должна быть отдельная система, никак не зависящая от основной

"mvt" написал:
можно и ядро с initrd просто прописать.

Вот что-то эдакое и нужно....
и еще там должен быть образ системного раздела, который должен после загрузки распаковаться в основной раздел....

15.11.2014 23:54 #401025

Не, ну сделайте образ в файл. Меняйте его ежедневно. При неудаче на основной машинке разворачивайте на основном разделе. Нет? Или сделайте две машины и синхронизируйте их. Как вообще Вы хотите?

16.11.2014 00:04 · отредактировано #401026
"mvt" написал:
сделайте образ в файл

Это и нужно

"mvt" написал:
Меняйте его ежедневно.

Это, как раз и ненужно)

"mvt" написал:
Как вообще Вы хотите?

Хочу что-то типа FactoryReset
Тоесть образ создается вручную, кидается на отдельный раздел, туда-же отдельное ядро, которое никак на связано с основной системой.
В случае необходимости при загрузке выбирается именно это ядро, и все что оно делает - это распаковывает образ в основной раздел.
После распаковки образа должна получатся чистая система.

16.11.2014 00:21 #401027
diablopc написал:

Тоесть образ создается вручную, кидается на отдельный раздел, туда-же отдельное ядро, которое никак на связано с основной системой.
В случае необходимости при загрузке выбирается именно это ядро, и все что оно делает - это распаковывает образ в основной раздел.
После распаковки образа должна получатся чистая система.

Вы тихо прикалываетесь. :)
dd if=/dev/sda1 of=/dev/sda6/vach.file #это просто пример
при неудаче - dd if=/dev/sda6/vach.file of=/dev/sda1
Вот и всё :)
Загрузчик в MBR останется. Но. Если накроется жёсткий диск - накроется всё. А Вы не могли бы инфу (ценную) держать на другом разделе, диске, внешнем носителе...? Это не проще?

16.11.2014 00:32 #401028

Ценная инфа и так на другом разделе.
НО!
Но все это ориентируется не на себя, а на юзверей для которых слово "консоль" - из области ядерной физики, а систему убить всеравно умеют.
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.

16.11.2014 00:43 #401031
diablopc написал:
Ценная инфа и так на другом разделе.
НО!
Но все это ориентируется не на себя, а на юзверей для которых слово "консоль" - из области ядерной физики, а систему убить всеравно умеют.
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.

Вот здесь Вы борзеете :) Никакой юзверь не будет Вам восстанавливать систему. Или учите их хотя бы команде dd :)

16.11.2014 00:46 #401032

Вот мне и нужно чтобы востановление системы выглядело просто как выбор другого пункта при загрузке системы.

16.11.2014 01:00 · отредактировано #401033
"diablopc" написал:
Вот и нужно установить систему, настроить все и сделать возможность отката до этой точки самим юзверем, без моего вмешательства и переустановки системы. ну а на ПДУ ориентируемся так как есть пару машин которые таскаются как медиацентры и с управления кроме пду там ничерта нету.

ты ищешь что-то готовое или хочешь сделать сам?

Если первое, то вероятность того, что кто-то из местных сталкивался с этим минимальна... а вероятность найти в гугле что-то готовое, что можно использовать, что будет в открытом и лёгком доступе и что потребует усилий на то, чтобы понять «как эта чертовщина работает» меньше, чем запилить с нуля, тоже не особо велика, ИМХО. [Возможно я не прав в своих оценках]

Если хочешь сделать сам, то флаг в руки... начинай, задавай конкретные вопросы, что не понятно/не знаешь как, рассказывай как-что решил сделать — попытаемся подсобить советами/идеями/конструктивной критикой... а продумывать всю архитектуру с нуля и подробно описывать за вас ИМХО ни кто не станет — это тяжёлый неоплачиваемый труд...

16.11.2014 01:27 #401035
"Fat-Zer" написал:
Если хочешь сделать сам, то флаг в руки... начинай, задавай конкретные вопросы,

ОК
Начнем с того чем сделать сжатый образ диска?
предполагаю что-то такое dd if=/dev/sdb1 bs=1M conv=noerror | gzip -c > /root.gz
ну и обратно: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror
Вопрос в том на сколько это правильно и эфективно? Ну и стоит ли использовать именно gzip или есть варианты получше??

Второе - это что поставить в качестве второй системы, учитывая что нужно только чтобы после загрузки запустилось это: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror, а после окончания этого процеса reboot. Соответственно чем меньше оно будет весить - тем лучше.

16.11.2014 01:31 #401036
"diablopc" написал:
Начнем с того чем сделать сжатый образ диска?

fsarchiver

16.11.2014 01:33 · отредактировано #401037
diablopc написал:
[quote="mvt"]Не, ну dd и прописать машинку в основной загузчик. Не подойдёт?

В принципе подойдет...
...единственное - это как паралельно сжать это все???
а то образ в 12-13 гиг эт как-то некошерно будет)[/quote]
ИМХО в данном случае dd не очень хорошо подходит в силу множества подводных камней и ухищрений, на которые придётся идти, при снятии образа. Хотя, как вариант конечно допустим...
Если рассматривать исключительно простые инструменты, то я бы в качестве бекенда использовал бы tar, а ФС пересоздавал бы с нуля...
Если что-то посложнее, то после быстрого просмотра гугла, я бы копал в сторону fsarchive.

1000Mhz, опередил на минуту))

16.11.2014 01:38 · отредактировано #401038
"Fat-Zer" написал:
1000Mhz, опередил на минуту))

:) "dd не нужен" как сказали бы на лор`е

16.11.2014 01:48 · отредактировано #401040
"diablopc" написал:
Второе - это что поставить в качестве второй системы, учитывая что нужно только чтобы после загрузки запустилось это: gzip -dc /root.gz | dd of=/dev/sdb1 bs=1M conv=noerror, а после окончания этого процеса reboot. Соответственно чем меньше оно будет весить - тем лучше.

В качестве тяжёлого решения: я бы брал любой (который мне кажется наиболее подходящим) дистр и убирал бы оттуда лишнее... как конкретный вариант: сборка минимального образа с помощью debootstrap. Из бонусов: кроме восстановления резервной копии всегда под рукой будет полноцеппая рабочая система на всякий пожарный. Из минусов: относительно толсто.
В качестве малого: initrd и всё. честно признаться, сам initrd я ни когда не собирал, так что тут деталей сказать не могу...

После загрузки я бы запускал скрипт-меню на ncurses'е... Как сам запуск организовать зависит от дистра или initrd... для sysvinit-based системы достаточно просто подправить inittab.

"1000Mhz" написал:
"dd не нужен" как сказали бы на лор`е

на лоре за такое можно и саной тряпкой по мордасам схлопотать он анонимов =)

16.11.2014 02:11 #401042
"Fat-Zer" написал:
в данном случае dd не очень хорошо подходит
потом у что можно взять простой tar.

Единственное, при создании "образа" нужно явно указать список каталогов НЕ указывая там каталог с бекапами и всякие /proc. (или наоборот, tar --exclude).

"Fat-Zer" написал:
В качестве малого: initrd
в данном случае я не очень понимаю, как тут initrd заюзать. В смысле — зачем?

"Fat-Zer" написал:
сам initrd я ни когда не собирал

там не сложно:

text
mkinitrd -c -k 3.14.17-smp -m ehci_pci:ums_realtek:hid_generic:usbhid:loop:f2fs -f ext4 -r /dev/sda3 -w 3

как-то так.

16.11.2014 02:16 · отредактировано #401043
"drBatty" написал:
потом у что можно взять простой tar.

Не надо брать tar. Хотя бы потому, что он не сможет сжать корневой раздел запущенной системы и вывалится с ошибкой, уже проходили-с. Да, это можно сделать с лайв-сд.. но зачем?

16.11.2014 02:32 #401046
"1000Mhz" написал:
Хотя бы потому, что он не сможет сжать корневой раздел запущенной системы и вывалится с ошибкой, уже проходили-с.

C backup определились, будет fsarchiver.

"Fat-Zer" написал:
После загрузки я бы запускал скрипт-меню на ncurses'е...
Ненене, никаких меню и управления со стороны юзверя))
Запустилось, прогресбар от 0 до сотни и ребут)

"Fat-Zer" написал:
на лоре за такое можно и саной тряпкой по мордасам схлопотать он анонимов =)

Это точно и не только от анонимов)

"drBatty" написал:
там не сложно:
text
mkinitrd -c -k 3.14.17-smp -m ehci_pci:ums_realtek:hid_generic:usbhid:loop:f2fs -f ext4 -r /dev/sda3 -w 3

как-то  так.

А вот с этого места поподробнее пожалуйста, такого никогда не приходилось делать_)

Войдите или зарегистрируйтесь, чтобы ответить.