URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 76225
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Резервное копирование и восстановле..."

Отправлено auto_tips , 10-Апр-11 23:50 
Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса в качестве промежуточного хранилища дампа. В любой сети, как правило, полно Windows ПК с достаточно большими винчестерами, что позволяет рассматривать SMB-ресурс как удобное средство хранения резервных копий системы.

В данной статье описано как можно обеспечить возможность восстановления работоспособной  системы "с нуля", все что нужно - это LiveFS CD и корректный дамп работавшей некогда системы. Причем восстанавливать можно и на другое железо, принципиально это не влияет на технологию. Я, в частности, перенес систему с виртуальной машины на аппаратную (правда ОС была голая практически).

Первоисточники (авторам которых огромное спасибо за их труд):
   http://rm-rf.ucoz.ru/publ/11-1-0-14
   http://sysadmins.ru/post7706741.html#7706741

++ Создание дампа

Подключить сетевой диск:

   mkdir /mnt/smb/
   mkdir /mnt/smb/backup
   mount_smbfs //user@хост/backup /mnt/smb/backup

Выгрузить конфигурацию слайсов:

   fdisk -p /mnt/smb/backup/fdisk.cf

Выгрузить конфигурацию разделов:

   bsdlabel /dev/ad0s1 > /mnt/smb/backup/bsdlabel.ad0s1

++ Восстановление на "левый: винчестер

Загрузиться с LiveFS CD (для виртуалки - убедиться что выставлена загрузка с CD в первую очередь)

Войти в режим Fixit (CD/DVD)

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

  dd if=/dev/zero of=/dev/ad0 bs=1M count=1000

Желательно убедиться что теперь при попытке загрузки с винчестера ничего хорошего не выйдет ;)

Поднять сеть:

   ifconfig le0 192.168.0.99 255.255.255.0 192.168.0.1

Для удобства вписываем NetBIOS-имя того ПК, на котором лежит образ, в файл hosts:

   echo "192.168.0.10  хост" >> /etc/hosts

(проверка : ping backup - должны ходить пакеты)

Нужно помочь mount_smbfs загрузиться:

   mkdir /boot/kernel
   cp /dist/boot/kernel/smbfs.ko /boot/kernel
   cp /dist/boot/kernel/lib*.ko /boot/kernel

Создаем путь для точки монтирования:

   mkdir /mnt/smb
   mkdir /mnt/smb/backup

Монтируем:

   mount_smbfs //user@хост/backup /mnt/smb/backup
   cd /mnt/smb/backup/vmtest03

Восстанавливаем таблицу слайсов:

   fdisk -f fdisk.cf /dev/ad0

возникает предупреждение (Class not found), а также возможно ругательство на геометрию раздела - игнорируем !

Восстанавливаем таблицу разделов и стандартный загрузочный код:
bsdlabel -R -B /dev/ad0s1 bsdlabel.ad0s1

Инициализируем UFS на разделе куда будем разворачивать root:

   newfs /dev/ad0s1a

Монтируем его:

   mkdir /mnt/root
   mount /dev/ad0s1a /mnt/root

Восстанавливаем содержимое:

   cd /mnt/root
   restore -vxf /mnt/smb/backup/root.dump

Извлекаем CD, перезагружаемся.

Внимание ! Если код устройства тома, на который вы восстанавливаете, отличается от кода устройства при создании (например был ad0, стал ad6), придется вручную подключать root и править /etc/fstab

Запускаем редактор:
vi  /etc/fstab

По умолчанию мы оказываемся в "командном" режиме. Переводим курсор в то место, где нам надо заменить символы, например в строку с текстом /ad0s1a под 0. Жмем "x" - 0 удаляется. Теперь жмем "i". Перешли в режим вставки. Жмем 6. Получилось /ad6s1a. Жмем Esc. Теперь мы снова в командном режиме. Жмем ":" - переходим в командную строку vi. Жмем "wq" и Enter - команда "сохранить и выйти".

PS: После восстановления из дампа, если необходимо, можно поднять зеркало "вживую" - как это сделать описано в статье http://www.opennet.me/base/sys/freebsd_gmirror_raid1.txt.html Винчестер 120 Гб дублируется (без прочей нагрузки) примерно за час - полтора.

URL:
Обсуждается: http://www.opennet.me/tips/info/2561.shtml


Содержание

Сообщения в этом обсуждении
"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено анон , 10-Апр-11 23:50 
>Создание дампа
>Подключить сетевой диск:
>...
>Выгрузить конфигурацию слайсов:
>...
>Выгрузить конфигурацию разделов:
>...
>Восстановление на "левый: винчестер

Прикольно. А где, собсно, вызов dump для дампа собсно данных?


"Резервное копирование и восстановление системного раздела Fr..."
Отправлено getfr , 11-Апр-11 02:36 
ему и так пойдет, видимо.

После restore еще в корне файл лишний убить надо, да еще выход из vi не такой замудренный, а после ESC достаточно ZZ.

Короче, ждем правильную редакцию статьи


"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено 62mkv , 11-Апр-11 06:09 
блин, с дампом точно, промазал ;)) как создать дамп подробно расписано у rm-rf.ucoz.ru, поэтому на этом я не сосредотачивался, а вот над восстановлением пришлось повозиться...

насчет vi - что знал, то и написал.

да и насчет опций restore есть у меня сомнения... постараюсь в ближайшее время все косяки устранить


"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено 62mkv , 11-Апр-11 06:15 
про дамп добавил, жду когда модератор проверит

"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено iZEN , 11-Апр-11 07:08 
Вместо инопланетянского vi надо использовать человеческий ee.

"Резервное копирование и восстановление системного раздела Fr..."
Отправлено анон , 11-Апр-11 16:37 
особенно классно чувствуют себя любители ее в ситуации, когда всё отвалилось и надо грузиться в single user mode и там что-то править. Мне лично человек звонил и слёзно просил сказать, как выйти из vi, а в идеале - чтобы вся им натворённая вакханалия не сохранилась.
vi нужно обязательно уметь пользоваться, хотя бы на минимальном уровне. А при достаточном скилле это вообще сумасшедший редактор по своим возможностям

"Резервное копирование и восстановление системного раздела Fr..."
Отправлено iZEN , 11-Апр-11 18:05 
> vi нужно обязательно уметь пользоваться, хотя бы на минимальном уровне. А при
> достаточном скилле это вообще сумасшедший редактор по своим возможностям

Необходимый минимум команд /usr/bin/vi для пользователя обычных редакторов, созданных для стандартных компьютерных клавиатур, а не для телетайпа:
Переход в режим набора текста: "a"
Выход из режима набора текста с его сохранением: "ESC:qw"
Выход из режима набора текста без его сохранения: "ESC:q!"
ВСЁ. Этого достаточно, чтобы ничего не запортить. В других случаях vi/vim бибикает и всё портит!

Если не ССЗБ, то лучше использовать /usr/bin/ee с развитой системой меню и наглядных опций редактирования, а то придётся в КАЖДОЙ статье объяснять неофитам, как пользоваться убожищем vi.


"Резервное копирование и восстановление системного раздела Fr..."
Отправлено анон , 12-Апр-11 00:03 
>А при достаточном скилле это вообще сумасшедший редактор по своим возможностям

vi умеет только пищать и всё портить. Вот vim - это реально крутой редактор. Жаль, что его в базовую систему не включают.


"Резервное копирование и восстановление системного раздела Fr..."
Отправлено Анонимка , 14-Апр-11 10:26 
Блин, как меня этот fud порадовал! :)

"Резервное копирование и восстановление системного раздела Fr..."
Отправлено Аноним , 20-Апр-11 11:01 
> Вместо инопланетянского vi надо использовать человеческий ee.

Вечно нужно встрять со своим ее?


"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено daloman , 11-Апр-11 20:11 
Бывает иногда полезным переопределить переменную окружения TMPDIR, например:

# export TMPDIR=/mnt/disk1

Я делаю всегда, особенно, если на машине меньше 1Gb оперативки. Неприятно, когда restore не может записать временные файлы.

"Раздел полезных советов: Резервное копирование и восстановле..."
Отправлено Аноним , 18-Апр-11 08:58 
>dd if=/dev/zero of=/dev/ad0 bs=1M count=1000

Если используются geom модули, то данная команда не верна, т.к. свою информацию они хранят в последних 5МБ. т.е. при такой команде достаточно велика вероятность, что получите в итоге хрен знает что.


"Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса"
Отправлено gardener , 28-Янв-12 21:14 
> Выгрузить конфигурацию слайсов:
>
>   fdisk -p /mnt/smb/backup/fdisk.cf

Как написано, у меня не работает. Работает так:
fdisk -p > /mnt/smb/backup/fdisk.cf

>Выгрузить конфигурацию разделов:
>
>   bsdlabel /dev/ad0s1 > /mnt/smb/backup/bsdlabel.ad0s1

А их может быть несколько. Для начинающих, как для меня, следовало бы упомянуть ;)

>Собственно, создаем дамп:
>
>   dump -0aLuf /mnt/smb/backup/root.dump

Как я понял из документации, если точек монтирования несколько, то дамп нужно создавать для каждой. И лучше сразу в архив:
dump -0aLuf - [точка монтирования] | gzip -9 > /mnt/smb/backup/­[имя точки монтирования].dump.gz
Например, для моего случая:
dump -0aLuf - / | gzip -9 > /mnt/smb/backup/­root.dump.gz
dump -0aLuf - /usr | gzip -9 > /mnt/smb/backup/­usr.dump.gz
dump -0aLuf - /var | gzip -9 > /mnt/smb/backup/­var.dump.gz


"Раздел полезных советов: Резервное копирование и восстановле..."
Отправлено dagerys , 26-Фев-12 15:51 
Если кому интересно, немного больше именно текстовой информации о резервном копировании и восстановлении данных, так сказать в дополнение к существующей теме http://4debian.info/posts/administration/id-438-debian-admin...

"Раздел полезных советов: Резервное копирование и восстановле..."
Отправлено iZEN , 26-Фев-12 16:03 
> Если кому интересно, немного больше именно текстовой информации о резервном копировании
> и восстановлении данных, так сказать в дополнение к существующей теме http://4debian.info/posts/administration/id-438-debian-admin...

Неинтересно становится сразу после фразы: "В Unix системах существует встроенная программа dd с помощью которой можно провести данные действия.".

dd не предназначена для резервного копирования.



"Раздел полезных советов: Резервное копирование и восстановле..."
Отправлено dagerys , 26-Фев-12 19:44 
> dd не предназначена для резервного копирования.

При копировании простых файлов в виде баз данных и т.д. - я спорить не буду, поскольку для этого есть более безопасные (в плане ввода команды при ошибке) и удобные решения. Но при создании копий системных разделов - я больше предпочитаю использовать dd в результате получая полностью исходный вариант данных, особенно чувствительно это при обслуживании всяких умников на windows которые каждый месяц обращаются с проблемами (утрирую но суть уловили) восстановление системы сводится к создании копии текущего раздела, восстановлении исходного состояния с установленными программами и драйверами, в последующем переносом нужных файлов с проверкой (например антивирус, если требуется) и все не более чем через час человек снова получает работающий компьютер без потери данных. И еще очень интересно, что даже через всякие акронисы они не могут восстановить тот "негатив", который привел к краху (это про вирусы).

P.S. Я не в коем случае не настаиваю, что это единственный правильный метод, но к каждой задаче свой подход и это не бесполезный вариант.