On Thu, Sep 19, 2002 at 12:18:11PM +0400, Victor Wagner wrote:
> > On Thu, Sep 19, 2002 at 11:00:02AM +0400, Victor Wagner wrote:
> > > > Я бекаплю всю серверную на ленточку Amanda-ой.
> > > > Весьма приятная вещь. Рекомендации лучших собаководов.
> > > > В Дебиане есть. Настроек минимум.
> > > Вот это-то и хреново. Ситуация из тех, когда лучше два часа потерять,
> > > а потом за пять минут долететь. Поэтому решения, которые обеспечивают
> > > максимальную гибкость в настройке
> > А мне не шашечки, мне ехать. Я оказывался пару раз в ситуации когда у
> А мне - тоже ехать. Да так, чтобы не разориться на бензине, не слишком
> медленно, и чтобы само везло.

Словоблудие.

> > меня летели винты. Восстановление было максимально коротким:
> > Выяснили какие ленточки понадобятся для восстановления слайса:
> > # /usr/sbin/amadmin DailySet1 info mail ad0s1a
> > Сливаем этот слайс с ленточек в файл.
> > # /usr/sbin/amrestore -p /dev/nst0 mail ad0s1a >/root/kusok
> > # cd /tmp
> > Затем распаковываем файл в иерархию директорий, или сразу тем же
> > amrestore, заливаем его на новый винт. В этом случае последний две
> > команды лишние. льем просто >/dev/ad0s1a
> > # restore -rf /root/kusok
> Что-то сложно. Во-первых, непонятно как в /root этот самый kusok
> уместился. Как это вообще на нормальной машине может на диске найтись
> место, куда можно сложить архив цельной файловой системы (если, конечно,
> это не /)

Виктор, ну от тебя я не ожидал:)
Не нравится руут, складывай в другой место, да хоть сразу на новый винт
лей, хоть через пайп на ресторе кидай. Шо нэясно? В чем проблемы?
Упрямство?

> во-вторых у меня это делается так:
> mt fsf `grep -n 'feast.*:/var$' /etc/backup/filesystems|cut -d : -f 1`
> rsh feast restore -rf party:/dev/nst0
> что по-моему, несколько короче, и, главное, удобозапоминаемее.
> Поскольку основное место в данных двух командах занимают стандантные
> grep и cut, которые помнить не надо - и так в пальцах сидят. А ежели на
> сисадмина совсем затмение найдет, можно этот файлик less-ом открыть и
> пальчиком строчки посчитать.

Это мало чем отличается от моего варианта...
У меня тоже одна строка, или дописать к restore ключики извлечения
_конкретного_ файла? Я просто выше показывал строку восстановления
_всей_ файловой системы, на полетевшем винте. Так что равнозначно.

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

> А самое главное - точно такая же схема применима в случае, когда
> прибегает девочка секретарша и говорит "ой, я тут важный-важный файл
> убила, как называется - не помню". Только restore надо с ключиком -i 
> запускать.

Не спорю. Применима.

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

Ну что я могу сказать, личные предпочтения, - не преступление.

Но в данном случае по функциональности аманда меня вполне устраивает.
Она тоже складывает dump-ом, файловые системы или директории tar-ом, на
ленточку в несколько записей. Далее наши пути одинаковы: в случае
проблем, есть сбэкапленная иерархия файлов/директорий, и тут уж у кого
насколько ума хватит над этим поизвращаться во всех направлениях в
процессе восстановления.

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

А во всем остальном, она полностью аналогична твоим вариантам. Разве не
так?

Хорошо, поставим вопрос по-другому... если ты найдешь, то нечто, что
аманда не сможет сделать ибо не может, а вот ты с помощью tar+dump это
сделаешь, и я скажу да "Реально на аманде я такого не сделаю", то я
прекращаю спор. И говорю "Ты прав". Пока что, твои аргументы
неубедительны. Мне есть чем заниматься кроме как изобретать велосипед.

> скриптик из 10 строк, который читает упомянутый файлик со списком
> файловых систем проще и не требует специальных усилий на освоение и
> понимание - любой новичок-сисадмин, пришедший в контору, его один раз
> прочитает и все поймет. Если он, конечно шелл знает. А такого, который
> не знает, я в кандидаты на сисадмина не возьму.

Я знаю шел, ну и что? Я обожаю писать на bash+cut+grep+awk+sed итд. Ну и
что? О чем спор?
Я не хочу засорять Дебиан самосбором, тем более таких задач которые уже
реализованы и реализованы неплохо. Почему бы тебе не написать mutt или
rtin на баше, свой, зачем пользоваться тем что уже написано?

> > Мне большей гибкости не надо.
> 
> Вопросы для самопроверки:
> 
> 1. Какие порты надо открыть на файрволлах, чтобы машина с ленточкой
> и клиент могли при помощи аманды общаться (вот тебе и ненулевая
> конфигурация клиента)

В данном случае, все машины в трастед нетворк. Файрволл только снаружи.
В случае возникновения такой потребности, на циске моим машинам
разрешено посылать TCP с SYN, наружу и определенным машинам. То же
касается и прохождения пакетов снаружи, вовнутрь. Это не проблема.
Тоже самое придется сделать в любом случае, при коммуникациях через
файрволл, даже для твоей поделки общающейся через ssh. Или ssh уже
правилам не подчиняется?

Так что насчет файрволла мимо.

> 2. Если у нас имеется девочка-секретарша, уходящая из офиса последней,
> у которой шелла на машине с
> ленточкой нет, но кассету в стример она втыкать умеет, какие понадобятся
> усилия чтобы научить ее перед уходом запускать бэкап?

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

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

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

То есть бэкап в час ночи ты запускаешь сам _лично_? Не по крону? В моем
случае все проще. Я имею рута на всех серверах.

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

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

А вот каким образом твой скрипт проверяет какую ленту ему подсунули, я
не знаю:) Возможно никак не проверяет...

Так что, это мимо.

> 4, Если у меня накрылась партиция на машине с ленточкой, причем как раз
> та, где лежат всяческие логи бэкапной системы, то как я узнаю, с какой
> ленточки мне восстанавливаться и какой файлик с нее читать?
> /etc/backup/filesystems у меня распечатан посредством 
> a2ps --line-numbers=1 и на стенку над машиной с ленточкой повешен.

Бэкапная, машина тоже бэкапится:) На ту же ленточку...
Рассказывать как на соседней машине подключить драйв и слить список?

Или ты вообще каждой машине дал по ленточке и никакого кольца? никаких
уровней? Если так, то еще раз повторю - не ожидал от тебя такого:)

В случае концептуально правильного бэкапа, с применением кольца и
уровней, никакого _статического_ списка лента=машина, быть в природе не
может. Разве что твой скрипт просто по окончании бэкапа на принтер
каждые сутки кидает бумажку... ну так что? я тоже так могу сделать.

> > Что еще нужно?
> > По-моему задача бэкапа настолько тривиальна, что особо извращаться не
> > стоит.
> А по-моему - нет. Поскольку есть куча привходящих обстоятельств,
> зависящих от организации бизнес-процессов в конторе, и далеко не все из
> них учтены авторами аманды. Ее все равно придется скриптами обвешивать.

Я же спросил, _конкретные_ пример?
Я не вижу _ни_одной_ ситуации в которой бы аманда не вырулила.

> > Вопрос: рулить библиотекой на 4-ре драйва DLT, и 6 контейнеров по 10
> > ленточек в каждом, тоже будем с помощью tar+gzip+mt?
> > Можно. Не проще ли взять соответствующие решения Sun-а или HP?
> А не факт. Надо внимательно посмотреть и подумать. Планирование бэкапа
> это задача, которая однозначного решения не имеет. Потому что
> планируется оно один раз, делается каждый день (и должно быть
> спланировано так, чтобы делать его правильно было удобно, а "правильно"
> - у каждого свое), а используется редко, но в обстановке крайней спешки.

:) Тьфу:)
Задача бэкапа складывается из нескольких этапов:

1 подготовка клиента, если необходимо. Это например дать команду ораклу о
начале горячего бэкапа или сделать флаш для каких либо пишущих
процессов. Ну смысл понятен.

2 Собственно сам процесс сборки и упаковки необходимых данных, пересылка
на центральный хост.

3 Здесь вступает система менеджмента бэкапными кусками. В случае с
лентой, проверка на именно ту ленту что необходима, в случае с
библиотекой, смена кассет на необходимые в процессе бэкапа, и в обоих
случаях - ведение журнала бэкапа для учета лент.

Нетривиальность может вытекать из шибко жутко быстро меняющейся fs
которую dump-ом просто не снять. Либо из времени бэкапа, например
какая-то машина хочет бэкапиться днем, а ночью загружена работой.
Какие еще варианты?

> > Я имел в виду со стороны клиента настроек минимум. То что Вы поскипали
> > выше:)
> А я имел в виду, что мне в общем-то пофигу с какой стороны настройки.
> Я настраиваю систему. Рутовый шелл сервера у меня в одном окне, рутовый
> шелл клиента - на соседним
> А настройки по клиентам наряду с прочим содержимым
> /etc можно и rdist-ом али там cvs-ом распространять.

Давай к uucp спустимся еще?:)

> > Со стороны сервера, как и положено на клиент-серверных приложениях,
> > настроек побольше. И продиктованы они самыми реальными потребностями.
> > Что из вышеприведенных настроек лишнее?
> Ничего. В общем случае. В каждом конкретном - примерно половина.
> Например, если у меня бэкап делается когда все уходят из офиса, нафига
> мне полосу, занимаемую им, ограничивать?

А если твоими же словами про "ненормированный рабочий день"?:)) Ну ты
понял...

> > Или на написание скриптов их отладку, дописывание, и разнесение их на все 
> > машины Вы потратите меньше времени? Вряд-ли.

> Заметим, что в моей схеме скрипты бывают только на одной машине. На той,
> на которой ленточка. А на остальных нужно только иметь сервер
> соответствующего транспортного протокола (rsh или ssh) но он там все
> равно есть, и dump/restore, которыми, насколько я понял из примера,
> аманда все равно пользуется.

У мну тоже самое. Вместо ssh стоит amanda-client. Равнозначная замена.

> > В данном случае amanda входит в дистрибутив Debian. И по времени
> > развертывания системы бэкапа "с нуля", на мой взгляд является
> > оптимальным.
> Признаюсь честно, данную схему я никогда не разворачивал с нуля.
> Она унаследована еще со времен BSDI 2.1. А если учесть что сетка была
> и осталась гетерогенной - в ней есть, например солярисы, то время
> разворачивания с нуля возрастает существенно.

Аманда есть под Солярис.

> > А самосбором заниматься не люблю. Политика Дебиана не позволяет... да и
> Почему-то мне  - позволяет. Цельный репозиторий самосбора на ftp.ice.ru
> держу.

На вкус и цвет...
Я предпочитаю копаться и извращаться в своем домашнике.

> > на Slackware, откуда я пришел пару лет назад, этим назанимался под самое
> > некуда...
> > Самосбор в Дебиане оправдан только для тех решений, для которых нет
> > адекватного решения в самом дистре. Или решение есть, но не выполняет
> > ожидаемых от него функций.
> Вот именно. Но видать у меня ожидания завышены.  

Я еще не услышал _конкретных_ ожиданий, которые по-твоему не реализует
аманда.

-- 
С уважением,
Лях Юрий
сервисный инженер, V6
tel/fax: +7 (095) 363-0140,
http://www.v6.ru

Ответить