Резервное копирование и восстановление данных

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Резервное копирование и восстановление данных

Сообщение kiotr » 19 апр 2006, 08:51

Добрый день
Имеется сервер HP Proliant ML370T03 + 2-а raid массива (raid0 + raid5), установлена OC Redhat8.
Возникла необходимость замены raid контроллера (полетел)
1) Если raid контроллер будет аналогичный необходимо ли заново создавать raid массивы и восстанавливать данные или подключив к нему рабочие raid массивы все восстановится?
2) Если raid контроллер будет другого производителя, как в этом случае?
3) Поскажите чем лучше сделать полный бакап системы на raid5 массиве и восстановить в случае разрушения raid5 или если мне понадобится восстановить систему на другой raid массив?
4) Мне необходим инкриментный бакап setar писал может выложить скрипты, если можно

спасибо

Andrey Y. Ostanovsky
Advanced member
Сообщения: 103
Зарегистрирован: 04 окт 2004, 15:07

Сообщение Andrey Y. Ostanovsky » 06 май 2006, 17:13

Не знаю, насколько это хорошо реализовано в линуксах, а под фрей: dump|restore работают вполне нормально. Для бэкапа - неважно raid там, или просто одиночный винт - оно с разделами операционной системы работает.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 06 май 2006, 17:18

Если контроллер аналогичный и все сделаете правильно, то новый контроллер винты подхватит. Контроллер другого производителя мало того, что конфиг не подхватит, он еще может в колпаке и не заработать вообще.
Только вот бэкап надо было делать ДО ТОГО КАК. А то неизвестно в каком состоянии сейчас данные.

А бэкапных средств навалом - если деньги готовы заплатить, то например веритас Вам в руки...

Забудьте слово рэйд0...

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 11 май 2006, 11:28

3)  можно  #dd  of=/dev/cciss/cXdYpZ of=filesystem.img , где X=номер контролера, Y=диск (лун), Z=раздел (partition) , а файл filesystem.img будет копия-образ файловой системы, которую можно потом накатить на партицию такого же  размера или смонтировать как файловую систему #mount -o loop -t <fstype> filesystem.img /some/path/ дла восстановления отдельный файлов,  ну или  просто  tac cfz  воспользоваться

4) tar --listed-incremental (см. info tar ), или bacula или коммерческий бэкап софт, типа veritas, legato, arkeia и тд.

kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Сообщение kiotr » 12 май 2006, 08:58

Тогда подскажите как лучше сделать
Я сначало с помощью dd делаю несколько img
/ - filesystem1.img
/home - filesystem2.img
/opt - filesystem3.img
/boot - filesystem3.img
/tmp - не надо
/dev/shm - надеюсь не надо

А потом их накатываю на новый разбитый диск

Диск разбивали до меня, посмотреть я могу по df как разбит
1) Вопрос как новый диск разбить точно также?
У меня есть информация по df
                             1K-blocks
/dev/cciss/c0d0p1 -    197546   -   /boot
/dev/cciss/c0d0p2 -  5823016   -   /
/dev/cciss/c0d0p3 - 38954896  -   /opt
/dev/cciss/c0d0p6 - 20155836  -   /home
/dev/cciss/c0d0p7 -    791084   -   /tmp
none                    -   1032344  -   /dev/shm

Не пойму где c0d0p4 и c0d0p5

2) Вопрос правильно ли разбит диск если на нем крутится Oracle

спасибо

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 12 май 2006, 10:12

все вроде верно по оракл если у вас орадата директория будет в home.  

разбить диск на париции можно используя fdisk загрузившись с лайфСД или с resque CD.

почему не видно партиций 4 и 5: скорее щсего потому что могут быть только 4 основные партиции а остальные extended.

kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Сообщение kiotr » 12 май 2006, 10:57

А зачем директория oradata должна быть в home

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 12 май 2006, 11:54

я обычно данные мигрирую так (пространство нового HDD или массива должно быть подготовленно и подмонтировано, у меня это /newraid):

#cd /
#tar cf -l - ./bin ./boot ./dev ./etc ./home ./lib ./root | (cd /newraid; tar xf - )


если миграция идёт через узкое горло например сеть, то лучше добавить пересылку через архивирование (добавить опцию z на запаковку и распаковывание потока: tar czf ; tar xzf)
опция -l позволяет не уйти с локальной файловой системы при копировании с маской * например /* , это исключает бесконечную рекурсию. Если каталоги заданы так как указано у меня и их содержимое лежит на разных массивах, то опцию -l  нужно убрать.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 12 май 2006, 12:14

вот мои скрипты для инкрементального бакапа:

результатом действия скрипта будут файлы полного бакапа и инкрементальных бакапов к нему в каталоге BACKUPDIR.
время последнего полного бакапа можно посмотреть в файле лежащем в TIMEDIR.

запускать по крону, я делаю 2 раза в сутки.

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

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


сам скрипт :

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

#!/bin/bash
COMPUTER=gw       	                    	# name of this computer
BACKUPDIR=/backup	                      	# where to store the backups
TIMEDIR=/backup/last-full	              	# where to store time of full backup

DOW=`date +%w`       		       		# Day of the week e.g. 01
DT=`date +%Y-%m-%d`            			# Date

# functions

do_backup () {
 for fn in `cat /etc/backup.conf|grep -v  [#]`;
 do
  [ -e $fn ] && tar $NEWER -rhf $BACKUPDIR/$COMPUTER-$TYPE-$DT.tar $fn 1>/dev/null 2>&1;
 done;
 gzip -qf $BACKUPDIR/$COMPUTER-$TYPE-$DT.tar
 if [ "$NEWER" = "" ]; then
  echo `date +%Y-%m-%d` > $TIMEDIR/$COMPUTER-full-date;
 fi
}

# basic cycle 

# first backup
[ ! -e $BACKUPDIR ] && mkdir $BACKUPDIR
if [ ! -e $TIMEDIR ]; then
 mkdir $TIMEDIR && echo "2000-01-01" > $TIMEDIR/$COMPUTER-full-date;
 NEWER="";
 TYPE="full";
 do_backup;
else
# planning backup
 if [ $DOW = "5" ]; then
# full backup
  NEWER="";
  TYPE="full";
  do_backup;
 else
# changes backup
  NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`";
  TYPE="changes";
  do_backup;
 fi
fi

###### keep 2 fresh *full*.tgz files & delete other ########################
num="0"
ls -t $BACKUPDIR/*full*.tar.gz | while read fn ; do
if [ $num -lt 2 ] ;
 then
# echo 'keep' $fn;
 : $[num=num + 1];
 else
# echo 'delete' $fn;
 rm -f $fn;
fi
done
### remove old changes files ###############################################
find $BACKUPDIR/ -name "$COMPUTER*changes*"  ! -cnewer $BACKUPDIR/last-full/$COMPUTER-full-date -exec rm -f {} \;
############################################################################
конфиг к нему :
в вышеидущем скрипте жестко привязан к /etc/backup.conf
можно перечислять как файлы так и каталоги (без * и оконечного / )

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

#######################################################
# System
#######################################################
/etc/backup.conf
/etc/named.conf
/etc/httpd/conf/httpd.conf
/etc/lilo.conf
/etc/hosts
/etc/fstab

/etc/postfix
/etc/samba
/etc/sysconfig
/etc/squid
/var/named
/usr/local/bin
/usr/local/sbin
#######################################################
# WEB
#######################################################
/home/www


Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 12 май 2006, 12:50

kiotr писал(а):А зачем директория oradata должна быть в home
а зачем тогда столько места в home?

kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Сообщение kiotr » 16 май 2006, 12:09

Туда кидаются копии баз oracle, лучше конечно перенести туда oradata, чтобы если полетит раздел opt хоть базы сохраню, или если полетит home, то сохраню рабочий oracle
если не прав поправте

спасибо

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 16 май 2006, 14:52

я так и делал, весь оракл в опт а базы в /хоум/орадата, а копии базы лучше в бэкап копировать что на другой машине.

kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Сообщение kiotr » 01 июн 2006, 14:22

Еще вопрос
Стоит samba расшарена папка и пользователи по сети сбрасывают туда свои файлы, почти все файлы имеют длинные русские имена.
Объем файлов примерно на 200-300 ГБ. Архивирую папку командой tar на ленту и tar  спотыкается на некоторых длинных русских названиях. Что можно предпринять

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 02 июн 2006, 12:40

в какой кодировке у вас консоль?  ( echo $LANG )

kiotr
Power member
Сообщения: 35
Зарегистрирован: 31 янв 2005, 10:19
Откуда: Perm

Сообщение kiotr » 02 июн 2006, 15:16

Кодировка
ru_RU.UTF8

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей