Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
В окошечке выбираем поддержку MySQL и NLS.
Он за собой притащит mysql-client'а. Сервер надо ставить отдельно:
Код: Выделить всё
|
Настраиваем MySQL сервер, как написано здесь.
|
Теперь в MySQL надо создать базу данных bacula, пользователя bacula и таблицы, где bacula будет хранить свои данные. Для этого в /usr/local/share/bacula есть специальные скрипты:
|
Создаем каталог, куда будем писать копии и даем к нему доступ бакуле:
|
Обратите внимание, у меня это отдельный раздел. В статье бакула будет настроена таким образом, что старые копии будут удаляться только тогда, когда не станет хватать места под новые. То есть в какой-то момент бэкапы займут раздел целиком, поэтому под это дело нельзя заюзать какой-нибудь /var или /usr.
Настраиваем сервер хранения.
Копируем дефолтовый конфигурационный файл:
|
Правим до следующего состояния:
|
Теперь настраиваем директор. Копируем файл настроек:
|
Предупреждаю: файл получится достаточно громоздким (у меня на бэкап десяти серверов он вышел больше 800 строк), поэтому надо заранее продумать структуру. Особенное внимание стоит уделить системе названий ресурсов, иначе очень легко запутаться.
|
Можно протестировать наши конфигурационные файлы на предмет каких-нибудь ошибок:
|
Запускаем серверную часть:
|
Вроде все нужные порты слушаются.
Теперь идем на компьютер DC и устанавливаем бакула-клиента:
|
В окошечке выбираем NLS.
Как водится, переименовываем конфигурационный файл:
|
Правим конфиг:
|
Проверяем и запускаем:
|
Консоль управления, тянется вместе с bacula-client. Если у вас на админском рабочем месте FreeBSD, надо установить клиент. Затем копируем конфиг.
|
Рихтуем:
|
Запускается командой bconsole. Если появилась звездочка, значит все ок - у нее такое приглашение командной строки. Можно набрать help, он покажет список команд. Можно также установить консоль управления на рабочую станцию с windows. Скачать можно здесь на офсайте www.bacula.org. В процессе установки надо будет ввести имя директора, адрес и порт. После этого можно юзать графическую консоль и обычную, которые, впрочем не сильно отличаются как друг от друга, так и от bconsole. Итак, вводим команду status all. Он опросит всех директоров, клиентов и storage server и выдаст информацию о запущенных и выпоненных заданиях. Если нет ошибок, значит двигаемся дальше.
Попробуем что-нибудь забэкапить. Для этого надо в консоли администрирования бакулы ввести команду run <имя_задания_на_бэкап>. Можно просто run, тогда появится список заданий, которые можно запустить. Если вы все делали по моим конфигам, то должно появиться два задания - под номером 1 будет dc-usr_jails-job. Вводим 1. Все. Теперь если ввести status client=dc-fc, то будет выведена информация, что на данном клиенте сейчас выполняется резервное копирование. Подождем некоторое время, пока оно не закончится.
Теперь пробуем восстановить. Запускаем консоль и вводим следующее:
|
Проверяем, что получилось. Идем на клиентский компьютер и смотрим каталог, указанный нами в определении задания RestoreFiles в конфиге директора:
|
Вроде все получилось. Естественно, это не все возможности по восстановлению из бэкапа, которое в бакуле устроено достаточно гибко. Читайте документацию.
Теперь попробуем забэкапить windows-машину.
Устанавливаем клиента на windows. Надеюсь, проблем не возникнет В окне Choose Components надо выбрать Client, потом указать порт, имя клиента (у меня pdc-fd) и пароль. Если есть желание, можно поправить conf-файл, который можно найти в Пуск->Программы->Bacula->Configuration. Теоретически клиент должен запуститься службой.
Теперь добавляем в конфиг директора следующее:
|
Перезапускаем директора.
Теперь заходим в консоль администрирования. Для начала проверим, подцепился ли наш новый клиент:
*status client=pdc-fd Connecting to Client pdc-fd at pdc.office.local:9102 pdc-fd Version: 2.4.2 (26 July 2008) VSS Linux Cross-compile Win32 Daemon started 15-Sep-08 14:12, 7 Jobs run since started. Heap: heap=0 smbytes=10,980 max_bytes=328,618 bufs=55 max_bufs=225 Sizeof: boffset_t=8 size_t=4 debug=0 trace=1 Running Jobs: Director connected at: 19-Sep-08 16:57 No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== ............ ==== |
Пробуем забэкапить винду. Я специально положил в папку, которую мы планируем резервировать, файл с русским именем. Итак, вводим в консоли
*run pdc-1c-job |
Теперь попытаемся восстановить данные. В FreeBSD я запускаю консоль, вводим restore и все как в прошлый раз. Остановимся на моменте выбора файлов для восстановления:
$ ls F:/ $ cd F:/1C cwd is: F:/1C $ ls я-п¦я¦я-п+п¦п¦я¦ яTпҐя¦пЁп¦.txt ... ... ... |
Вместо файла с русским именем иероглифы, что не удивительно, поскольку консоль фри не cp1251. Пробуем восстановить весь каталог 1C.
Смотрим, восстановил ли:
C:\Users\admin>dir C:\mnt\disk1\bacula-restores\F\1C Том в устройстве C не имеет метки. Серийный номер тома: 8C9D-E89B Содержимое папки C:\mnt\disk1\bacula-restores\F\1C 11.09.2008 17:17 <DIR> . 11.09.2008 17:17 <DIR> .. 11.09.2008 16:26 0 тестовая шняга.txt ... ... ... C:\Users\admin> |
Восстановил. И даже русское имя файла. Стоит заметить, что с фри восстанавливать отдельные файлы с кириллическими именами неудобно, зато с виндовой консоли бакулы - нормально, там русские имена так, как они и должны быть.
При резервировании windows-серверов следует, однако, помнить, что bacula не сможет снять system state. В связи с этим на оффсайте предлагается замысловатая схема с комбинацией bacula и ntbackup, суть которой заключается в том, что ntbackup резервирует состояние системы, а бакула - все остальное, что нужно (%systemroot%, Program Files и т.д.). aks добыл описание на русском языке, как это сделать: ftp://ftp.lissyara.su/BOOKS/OTHER/Bacula_PDC_backup.pdf. Есть еще более хитрый вариант с использованием dd.
Собственно, все. Как я уже говорил, это только самое необходимое, я не стал освещать множество важных моментов. Например, саму мускульную базу бакулы по-хорошему тоже надо бэкапить. Кроме того, она требует некоторого обслуживания. Впрочем, обо всем вы можете почитать на этих ресурсах:
http://www.bog.pp.ru/work/bacula.html
http://www.bacula.org/en/?page=documentation
http://www.freebsddiary.org/bacula.php
статья про бакулу на хабрахабре
И краткая документация на русском он Santa Claus'а: ftp://ftp.lissyara.su/BOOKS/OTHER/Short_Doc_Bacula.pdf
Еще пара ссылок в тему с этого сайта:
Сетевая система резервного копирования amanda
Резервное копирование с помощью dump
Синхронизаци каталогов через сеть с помощью rsync. Некоторые используют его также для резервного копирования.
PS Если у кого-то возникнет вопрос, почему мы дважды ставим level backup'а - в описании job'а и в разделе schedule директора, то ответ на него такой: в дефолтном конфиге так, а поскольку все работало, я не стал менять. Как выяснил Дмитрий Рукавцов, значение в schedule имеет более высокий приоритет, в чем можно удостовериться по этой ссылке.
PPS Я забыл добавить, что перед использованием бакулы надо разметить тома командой label из консоли, иначе не будет работать. Или можно настроить авторазметку. Она у меня не заработала с первого раза, поэтому в статье про нее нет. однако потом выяснилось, что работает (может из-за того, что я начал юзать третью версию?) Как сделать - читайте в комментариях к статье.
PPPS То ли из-за версии, то ли еще из-за чего-то бакула после заполнения всего раздела выдает error и не пишет резервных копий, вместо того, чтоб удалять старые данные. Когда я писал статью, такого почему-то не было. Как избежать этой неприятной ситуации - читайте документацию по ссылкам. Я в ближайшее время, как дойдут руки, собираюсь написать вторую версию статьи, где будет описана и нормальная ротация бэкапов.
размещено: 2008-10-06,
последнее обновление: 2010-03-22,
автор: princeps
Linxpro, 2008-10-06 в 15:35:24
Тема актуальна! Автору спс!!!
dvg_lab, 2008-10-06 в 15:47:41
сам использую бакулу, неудобна одна весч, когда не знаешь точное имя файла и дату, восстанавливать становится сложно, а если при этом помимо фул бэкапов еще куча инкрементальных и диф. то совсем становится печально. искать job id в котором этот файл был, а потом допустим исчез. и все это месяц назад...
Alexander Klimenko, 2008-10-06 в 17:53:08
Тема действительно всегда актуальна. Продукт хороший. Однако в статье не раскрыта тема тонкой настройки пулов. В частности автосоздание томов, максимальный размер тома, автоматическое удаление устаревшего тома и прочее. Без таких нюансов архив будет разростаться пока не закончится свободное место.
princeps, 2008-10-06 в 18:15:18
В статье много что не раскрыто, я написал, что это только необходимый минимум. Она итак большой получилась. Если есть возможность - напиши о тонкой настройке пулов.
pepelac, 2008-10-07 в 0:47:36
Тонкая настройка пулов - изюминка бакулы.
Можно добавить в статью упоминание о Webacula'e, с её помощью работа с системой резервного копирования превращается в сказку :) Её автору респект!
guest_guest, 2008-10-16 в 14:18:17
При архивировании "местных" данных машины в статусе стораджа пишет:
Device status:
Device "backup-disk1-device" (/usr/local/srv/backup) is not open.
====
Лэйбл выставлялся
sad, 2008-10-17 в 2:55:43
как ресторить файлик понятно.
расскажите алогоритм действия, когда с резервируемой машины сняли полные бекап, а потом вот гвоздь случайно в жесткий воткнули. но не беда есть новый жесткий и плюс бекап.
т.е необходимо разбить новый диск, туда залить с бекапа данные, потом fixboot и готово?
princeps, 2008-10-17 в 9:28:21
Можно и так. А можно использовать bacula rescue disk: http://www.bacula.org/en/rel-manual/Disast_Recove_Using_Bacula.html
2 guest_guest: label попробуй еще раз пробить
Вован, 2008-10-21 в 12:29:02
Спасибо за полезную информацию, установил и тестирую, автору уважуха!
Max, 2008-12-03 в 11:28:30
Для того, чтобы автоматически размечались тома согласно Device { .. LabelMedia = yes; ..} в bacula-sd.conf, надо задать параметр Pool { .. Label Format = myVolumePrefix- ..} в bacila-dir.conf
princeps, 2008-12-08 в 13:41:24
в документации так и написано, но у меня, почему-то, не работает
Ksen, 2009-04-03 в 17:07:45
"В статье бакула будет настроена таким образом, что старые копии будут удаляться только тогда, когда не станет хватать места под новые."
данные не удалялись пока в определении пула не было добавлено
Recycle Oldest Volume = yes
p.s.
# uname -a
FreeBSD backup.local 6.3-RELEASE FreeBSD 6.3-RELEASE
# pkg_version -v | grep bacula
bacula-client-2.4.4_1
alonefox, 2009-07-02 в 3:03:49
В отношении:
----
Предупреждаю: файл получится достаточно громоздким (у меня на бэкап десяти серверов он вышел больше 800 строк), поэтому надо заранее продумать структуру. Особенное внимание стоит уделить системе названий ресурсов, иначе очень легко запутаться.
----
на странице официальной документации
Таким образом всегда есть возможность сделать конфиги красивыми
Including other Configuration Files
If you wish to break your configuration file into smaller pieces, you can do so by including other files using the syntax @filename where filename is the full path and filename of another file. The @filename specification can be given anywhere a primitive token would appear.
P.S. Сам ставить только собираюсь, отпишусь, что нашел интерсного
P.P.S. Скажите, а только gzip есть или нет?
fakedream, 2009-11-22 в 4:03:34
нужно указать Label Format в секции pool , иначе не будет работать авторазметка.
Гоги, 2010-01-27 в 14:33:08
Опечатка вкралась:
backup# backup# bacula-dir -t -d /usr/local/etc/bacula-dir.conf
vallico, 2010-02-19 в 11:52:39
к бакуле еще есть веб-морда http://sourceforge.net/projects/webacula/
и кросплатформення десктоп гуя \"Bat\"
SKazurov, 2010-05-27 в 15:15:49
Не знаю, поправили ли сейчас порт, но в портах от 11.05 версия бакулы не ставится, необходимо патчить порт и исходники
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/144507
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/145642
При установке клиента столкнулся с тем, что в make.conf необходимо прописывать такое:
.if $(.CURDIR:M*/sysutils/bacula-client) || \
$(.CURDIR:M*/sysutils/bacula-client)
CONFIGURE_ARGS+=--disable-libtool
.endif
иначе ругется на libtool.
playnet, 2010-06-07 в 1:30:26
SKazurov
на текущий момент все собирается нормально.
Кто ставил Bat, киньте линки как оно работает... интересует веб версия или для винды.
playnet, 2010-06-07 в 1:30:27
SKazurov
на текущий момент все собирается нормально.
Кто ставил Bat, киньте линки как оно работает... интересует веб версия или для винды.
egor_g, 2010-09-18 в 18:03:01
Ошибка:
В конфигурационном файле bacula-sd.conf, в секции Device нет, закрывающей блок, фигурной скобки
arez, 2011-04-08 в 9:24:24
#Конфиг сервера хранения бакулы
отсутствует закрывающая скобка для Device
txm, 2013-01-30 в 8:39:20
Address = backup.office.local.ru # Адрес сервера хранения. Настоятельно не
# рекоMендуется использовать localhost
nike, 2013-01-30 в 9:55:36
> Address = backup.office.local.ru # Адрес сервера хранения. Настоятельно не рекоMендуется использовать localhost
А здесь его и нет!
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [23 шт.]