Alexandr (xsite) wrote,
Alexandr
xsite

Эксперимент по восстановлению сервера из резервных копий

Железо для развертывания сервера (моя рабочая машина) — P3-800 RAM 512Mb, HDD 40Gb MAXTOR.

Пару слов про настройку fsbackup на Info:
там имеется 3 раздела резервного копирования:

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


1. all в него входят:

/
!/mnt
!/home
!/proc
!/tmp

2. conf в него входят:

/home/fsbackup

# System configuration
/etc
/var/spool/cron

# Jabber
/var/lib/jabber

# WWW
/var/www


3. homes в него входят:

/root
/home/alexandr
/home/forester
/home/kim
/home/lida
/home/dandy
/home/dimka
/home/analit
/home/samba/cd
/home/samba/DMP
/home/samba/doc_pdf
/home/samba/site
/home/samba/spusers
/home/samba/hdc1/vjv
/home/samba/hdc1/ito


ПОЕХАЛИ ;-)

12:09 Установка винчестера с ререзными копиями;
12:11 Базовая установка ALT Linux Master 2.2;
12:15 разбивка HDD на разделы, форматирование;
12:18 начало установки пакетов (работа инсталятора ALT linux);
12:23 создание учетной записи для root, alexandr
(временные настройки сети)
12:26 Базовая установка дистрибутива завершена. Rebooting.

12:28 Монтирование HDD с резервными копиями в /mnt/backup
! на томе с резервными копиями должны быть скрипты для востановления (пакет fsbackup), у меня их не оказалось поэтому пришлось достать его из ререзвной копии conf;

12:38 оказалось, что резервная копия info_vzljot_all не нужна для востановления,
разве что для контроля целостности, так как эта копия содерижт все изменения в файлах
за последнюю неделю.

12:58 sys_backup — востановление исходных пакетов;
fsbackup каждые сутки формирует список rpm пакетов, установленных на резервируемой системе;
изначально Info стоял на ОС Alt Linux Master 2.0, а я стал востанавливать на новую систему
ALT Linux Master 2.2. В результате было потрачено довольно много времени впустую при попытке
установить теже пакеты, что и на старом сервере (некоторые из них вообще исчезли из дистрибутива, некоторые добавились и т.д.). Скрипт автоматического востановления sysrestore.sh не пошел.
! Я пришел к выводу, что для успешного sys_backup, востанавливать надо строго на тот же дистрибутив, что и исходная система. (а обновлять дистрибутив уже потом, после того как все сервисы нормально запустятся и заработают).

13:26 Восстановление файлов, конфигов (скрипт fsrestore.sh распаковывает все резервируемые файлы на исходные места, назначает исходные права, владельцев и т.д.)

начал с homes, а зря так как на тот момент в системе существовали только две
учетные записи root и alexandr — файлы распаковались, но права владельцев не востановились.
! (надо было начинать с востановления конфигов)

развернул с помощью fsrestore.sh conf — все Ок,
еще раз развернул homes — тоже Ок.

обнаружил, что fstab перезаписался от Info, а там была другая разбивка — поправил;
! (при востановлении конфигов надо помнить о специфичных для данного железа конфигах,
как /etc/fstab, /etc/mtab, /etc/lilo.conf, /etc/apt/* (для ALT,Debian) возможно еще что-то упустил ...)


Кстати, я еще чуть ошибся (initrd не указал) при правке lilo.conf и после перезагрузки система не грузилась, ядро сказало что-то там про »unable to mount root ...«

! Так что всегда под рукой надо иметь загрузочный компакт диск или дискету «rescue».

14:18 - поднят apache (пришлось вручную доустанавливать некоторые пакеты (php-mysql), как я уже писал выше sys_backup не прошел)
- поднят jabber (пришлось закоментировать несколько строк в конфиге, иначе сервис просто не запускался);
- поднят сервис samba (без проблем);

14:29 ушел на обед :)
14:59 вернулся с обеда ;-)

немного повозился с lilo (выше уже писал — initrd забыл вписать в lilo.conf)

15:21 The END. система востановлена и обновлена. Hurray!!! ;-)




Выводы, итоги:
Было потрачено 2:42 минуты, что довольно много...
грабли были:
1. взял более новый дистрибут (провозился с sys_backup, который в итоге не пошел);
многи пакеты пришлось устанавливать «вручную» с помощью apt.
2. скрипты для востановления должны быть также доступны как и резервные копии;
3. порядок установки — пакеты (sys_backup), конфиги, данные (файлы пользователей, сетевые шары итд), базы данных.
4. при восстановлении НЕ ТРОГАТЬ: /etc/fstab, /etc/mtab, /etc/lilo.conf, /etc/apt/* от базовой установки. Эти конфиги имеют отношение к железу.


Порядок восстановления:
1. подготовиться к ререзвному копированию заранее — заготовить тот же дистрибут, что и в оригинале (если все надо сделать быстро) обязательно иметь загрузочный компакт или дискету (rescue);
2. Установить тот же дистрибутив в минимальном варианте;
3. Подключить (по сети, физичеки винт) резервные копии;
4. Произвести sys_restore (установить все пакеты, что и на резервируемой системе);
5. Сохранить /etc (в /tmp к примеру),
5.1. развернуть конфиги;
5.2. вернуть на место (/etc/fstab, /etc/mtab, /etc/lilo.conf, /etc/apt/*);
6. развернуть данные (файлы, домашние директории, сетевые шары и т.д.);
7. Развернуть резервные копии баз.данных. (mysql, postgre, ...).



TODO по Info:
1. Добавить резервирование шар //Info/public/, //Info/public2; и еще некоторых из (smb.conf);
2. положить скрипты востановления fsbackup к резервным копиям.

TODO по fsbackup:
поправить скрипт sysrestore.sh, чтобы для альта работал через утилиту apt-get, а не RPM.
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

  • 0 comments