Linux на страже Windows. Обзор и установка системы резервного копирования BackupPC::Журнал СА 9.2004
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6855
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4139
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6282
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3433
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13968
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9099
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7052
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5361
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4593
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3400
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3127
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3378
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2999
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Linux на страже Windows. Обзор и установка системы резервного копирования BackupPC

Архив номеров / 2004 / Выпуск №9 (22) / Linux на страже Windows. Обзор и установка системы резервного копирования BackupPC

Рубрика: Администрирование /  Продукты и решения

Андрей Маркелов АНДРЕЙ МАРКЕЛОВ

Linux на страже Windows
Обзор и установка системы резервного копирования BackupPC

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

Можно бесконечно спорить о преимуществах одних операционных систем над другими, но когда у меня возникло желание сделать единое хранилище для ежедневных архивов информации с более десяти серверов своей организации, работающих под управлением нескольких различных ОС, я свой выбор остановил на платформе Linux. До сих пор каждый сервер с помощью уникальных для него скриптов в назначенное время сбрасывал по сети на сервер резервного копирования или stand by-сервер какие-то свои данные, например, пользовательские файлы с сетевых дисков, или дампы базы данных. Для этого использовались различные протоколы: ftp, SMB или штатные средства СУБД. При этом приходилось следить за уникальным для каждого сервера лог-файлом, и в случае каких-либо изменений в стратегии резервного копирования править скрипты на каждой машине.

Чтобы как-то упростить администрирование и сократить время, затрачиваемое на поддержку и мониторинг всего этого «зоопарка», я начал искать систему, которая бы поддерживала копирование информации по сети, умела делать инкрементальные бэкапы, поддерживала бы удаленное администрирование и не требовала установки клиентского программного обеспечения. Кроме того, было важно, чтобы система умела работать по протоколу SMB, так как часть серверов, в частности основной файл-сервер, работали под управлением ОС Windows.

Спустя непродолжительное время такая система была найдена. Ею оказалась открытая, распространяющаяся по лицензии GNU система архивирования данных масштаба предприятия BackupPC. Сайт расположен по адресу http://backuppc.sourceforge.net.

Основные особенности рассматриваемой программы:

  • Язык программирования, на котором написана система, – Perl.
  • Минимизация хранимой информации за счет того, что идентичные файлы из разных резервных копий хранятся только в одном экземпляре.
  • Настраиваемая степень сжатия данных.
  • Поддержка работы по протоколам smb/ssh/rsh/nfs.
  • Мощный CGI-интерфейс, позволяющий управлять сервером по сети посредством веб-браузера.
  • Поддержка архивирования информации с машин, получающих настройки сети через DHCP, разрешая имена при помощи nmblookup.
  • Гибкие настройки планирования архивации данных.
  • Оповещения о выполненных действиях администратора и пользователей посредством электронной почты.
  • Поддержка клиентов, работающих под управлением Linux, Freenix, Solaris Win95, Win98, Win2000 и WinXP. Сервер тестировался на Linux, Freenix и Solaris.
  • Очень подробная документация.

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

Я проверял работу BackupPC версии 2.1.0, последней на момент написания статьи, при помощи тестовой машины под управлением Fedora Core 2, и на «боевых» серверах, работающих на Red Hat Linux 9 и White Box Enterprise Linux 3. Операционная система, стоящая на тестовом сервере фактически является альфа-версией будущего Red Hat Enterprise Linux 4, а White Box Enterprise Linux 3 перекомпиляцией из свободно доступных исходных текстов текущей, третьей версии коммерческого Linux-дистрибутива от Red Hat.

Необходимость использовать не поддерживающуюся более «девятку» возникла при установке RAID-контроллера Promise SuperTRAX SX6000, для которого существовали драйвера только под эту операционную систему.

Требования к установке

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

Во-первых, как я уже писал, это операционная система, в роли которой может выступать Linux, Solaris либо другая UNIX-подобная система. Во-вторых, необходимо предусмотреть наличие вместительного RAID-массива, или использовать LVM. Кроме того: Perl версии 5.6.0 или выше, Samba- и Apache-сервер.

В этой статье я не буду касаться настройки клиента Samba, в частности, работы в составе Active Directory. Я предполагаю само собой разумеющимся, что если вы планируете производить архивацию информации с Windows-серверов, работающих в составе домена, то и должны обеспечить к ним доступ вашей Linux-машины. Отсутствие описания процесса конфигурирования Samba-сервера в данной статье, думаю, компенсируется многочисленными материалами на эту тему в Интернете.

Также предполагается, что вы используете кодировку KOI-8 вместо установленной по умолчанию в большинстве современных дистрибутивов UTF-8. Red Hat, в частности, перешла на ее использование с версии 8.0 своего продукта. Но дело в том, что поддержка русского языка при помощи UTF-8 во многих приложениях далека от совершенства. Безусловно, лучшим решением была бы работа с UTF-8, но в данном случае я предпочел пойти по пути «наименьшего сопротивления» и воспользоваться уже существующими у меня наработками.

Соответственно должен быть настроен и веб-сервер, у которого в качестве кодировки по умолчанию должно быть указано KOI8-R.

Приступая к установке BackupPC, в системе необходимо иметь следующие perl-модули: Compress::Zlib, Archive::Zip и File:RsyncP. Проверить наличие установленных модулей можно, дав команду:

perldoc <имя модуля>

Если в ответ будет получено сообщение вида:

No documentation found for "Compress::Zlib"

следовательно, в вашей системе данный модуль еще не установлен. Оба дистрибутива, в которых я устанавливал BackupPC, по умолчанию этих модулей не содержат.

Процедура установки модулей, которые можно скачать с www.cpan.org, следующая:

#tar zxvf имя_архива.tar.gz // разархивируем исходники

#perl Makefile.PL // формируем makefile

#make // компилируем исходники

#make test // после выполнения этой команды мы должны получить сообщение, что все тесты пройдены успешно

#make install

Имеющие опыт общения с оболочкой cpan, могут поступить проще – для установки модулей воспользоваться ею.

В случае RHEL3 для успешной компиляции модуля Archive::Zip пришлось дать команду:

export LANG=en_US

без которой он отказался «собираться».

Кроме того, мне пришлось установить отсутствующую в дистрибутивах от Red Hat утилиту par2, которая создает «избыточную информацию» для файлов с использованием кодов Рида-Соломона, и позволяет восстанавливать файлы, повреждённые до определённой степени. Скачиваем с сайта http://parchive.sourceforge.net исходники в виде файла par2cmdline-0.4.tar.gz, и выполняем команды:

#tar zxvf par2cmdline-0.4.tar.gz

#cd par2cmdline-0.4

#./configure

#make

#make check

#make install

В принципе установка par2cmdline не обязательна, так как по умолчанию BackupPC работает и без нее. Но все же я рекомендовал бы ее установить, особенно при отсутствии RAID-массива на сервере.

Также для корректной работы CGI-интерфейса при стандартной установке системы, когда веб-сервер запускается из-под специально выделенного для этих целей пользователя (httpd или apache), требуется Suid Perl. В Red Hat дистрибутивах соответствующий пакет называется perl-suidperl.

Ну и, наконец, добавим пользователя, из-под которого будет выполняться запуск системы резервного копирования:

#useradd backuppc

После окончания тестирования системы нелишним будет убрать для пользователя backuppc возможность интерактивного входа.

Установка BackupPC

Теперь можно приступить непосредственно к установке BackupPC. Развернем архив и запустим конфигурационный скрипт:

#tar zxvf BackupPC-x.x.x.tar.gz

#cd BackupPC-x.x.x

#perl configure.pl

Рисунок 1

В ходе установки вам потребуется ответить на ряд вопросов. На первый – просьбу указать полный путь к уже установленной старой версии – можно ответить, просто нажав «Enter», поскольку выполняется первоначальная установка. После вам будут показаны пути к утилитам, требуемым BackupPC, которые скрипт определил самостоятельно, с просьбой подтвердить их расположение. Затем необходимо проверить, правильно ли скрипт определил имя хоста и имя пользователя, которого мы создали ранее, а также директорию для установки исполнимых файлов и директорию для хранения данных.

В зависимости от быстродействия сервера вам необходимо будет выбрать уровень компрессии резервируемых данных. Уровень можно менять от 1 до 9. По умолчанию предлагается третий уровень. По заявлениям разработчиков, при увеличении c «умолчальной» тройки до пятерки, например, загрузка процессора увеличивается на 20%, а данные занимают на 2-3% меньше места. По этим данным видно, что особого смысла увеличивать степень сжатия нет. При первоначальной установке я бы порекомендовал оставить тройку. Позднее можно попробовать поэкспериментировать с этим значением, поменяв его в конфигурационном файле.

Следующий вопрос касается пути к cgi-bin директории вашего веб-сервера (в Red Hat-подобных дистрибутивах это /var/www/cgi-bin/) и пути к директории с устанавливаемыми иконками для CGI-интерфейса (/var/www/html/BackupPC). Кроме того, будет предложено ввести часть URL, указывающего на иконки, а именно расположение относительно корневого каталога веб-сервера. Обратите внимание, что путь должен начинаться со слэша. В нашем случае он будет выглядеть как /BackupPC.

Настройка BackupPC

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

Интересующий нас файл config.pl расположен в подкаталоге /conf, который был создан внутри директории, предназначенной для хранения данных. На самом деле этот файл очень хорошо документирован, поэтому я пройдусь лишь по основным параметрам. Config.pl состоит из четырех групп настроечных значений, содержащих:

  • основные параметры сервера;
  • описание тех машин, информацию с которых нужно архивировать;
  • указания, как часто это надо делать;
  • параметры CGI-интерфейса.
  • $Conf{WakeupShedule} – как часто сервис должен проверять, были ли изменения на подлежащих архивированию компьютерах, и в случае изменений выполнять резервирование данных. По умолчанию – каждый час, кроме полуночи.
  • $Conf{MaxBackups} – максимальное число одновременных процессов архивирования.
  • $Conf{DfMaxUsagePct} – при заполнении указанного в процентах объема диска, заданного для хранения данных, архивирование не производится. По умолчанию 95%.
  • $Conf{SmbShareName} – имя расшаренного ресурса на Windows-машине. По умолчанию – это диск C:, который в Win2000/XP доступен через SMB по имени «С$».
  • $Conf{SmbShareUserName} – имя пользователя на Windows-машине, которому даны права на ресурс общего доступа .
  • $Conf{SmbSharePasswd} – его пароль. В настоящее время он приводится в открытом виде. В следующих версиях планируется хранение в зашифрованном виде.
  • $Conf{FullPeriod} – период в днях между полными резервными копиями.
  • $Conf{IncrPeriod} – период в днях между инкрементальными резервными копиями.
  • $Conf{FullKeepCnt} – максимальное число сохраняемых полных резервных копий. $Conf{BackupFilesOnly} – список директорий, которые необходимо архивировать. По умолчанию – не определено.
  • $Conf{BackupFilesExclude} – то же самое, но для директорий-исключений.
  • $Conf{ArchivePar} – при использовании par2cmdline процент избыточных данных в архиве. По умолчанию – 0.
  • $Conf{EmailAdminUserName} – почтовый адрес администратора, на который будут приходить сообщения об ошибках и предупреждениях.
  • $Conf{CgiAdminUserGroup} и $Conf{CgiAdminUsers} – пользователи и группы, которым доступен CGI-интерфейс.

Обратите внимание, что параметры, относящиеся к конкретной машине, могут быть переопределены машинно-зависимым файлом Config.pl, который хранится в поддиректории каталога с данными /BackupPC/pc/<имя_компьютера>/. Действительно, на каждой машине могут быть свои конкретные папки общего доступа, списки исключений, свой локальный пользователь с паролем, для которого установлены свои разрешения.

Теперь настроим список компьютеров, данные с которых необходимо архивировать. Файл с настройками находится в том же каталоге, где и основной конфигурационный файл, и называется hosts. Собственно, синтаксис файла максимально прост. Каждая строчка содержит три параметра: имя машины, имя (e-mail) ее хозяина и признак, получает ли данный компьютер сетевые настройки по DHCP или нет.

Теперь осталось скопировать скрипт старта и остановки сервиса из дистрибутива /init.d/linux-backuppc в /etc/rc.d/init.d/backuppc, в случае Red Hat дистрибутива, а затем можно попробовать стартовать BackupPC командой:

#service backuppc start

Кроме того, нелишне добавить автоматический старт при загрузке сервера в консоль и в X-Window:

#chkconfig - -add backuppc

#chkconfig - -level 35 backuppc on

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

В лог-файле messages вашего сервера должно появиться сообщение об успешном старте сервиса, а в директории с данными /BackupPC/log будет создан подробный лог самого сервиса. После успешного старта можно попробовать запустить браузер, и обратиться по адресу http://имя_сервера/cgi-bin/BackupPC_Admin. Если вы сделали все правильно, то должны получить нечто подобное тому, что изображено на рисунках. В случае проблем с доступом к CGI-интерфейсу рекомендую обратиться к FAQ на сайте http://backuppc.sourceforge.net. В большинстве случаев в первую очередь необходимо проверить права доступа к файлам и директориям BackupPC. Однако, если вы следовали приведенному порядку установки, таких проблем возникнуть не должно.

Русификация

Еще одной проблемой при работе с CGI-интерфейсом, решение которой, однако, пришлось искать самому, может стать некорректное отображение русских имен файлов и папок. Для исправления этой ситуации придется внести небольшие изменения в файл Lib.pm, расположенный в подкаталоге /CGI директории с исполняемыми файлами программы. Данный файл содержит системные процедуры BackupPC.

Во-первых, найдите в теле процедуры Header строчку:

print $Cgi->header();

и замените ее на:

print $Cgi->header(-charset=>"koi8-r");

Ну а во-вторых, в процедуре EscHTML закомментируйте предпоследнюю строчку, стоящую перед «return»:

$s=~s{([^[:print:]])}{sprintf("%02X;", ord($1));}eg;

Теперь все имена будут отображаться в нормальном виде, используя кодировку KOI-8.

Кроме того, рекомендую обратить внимание на папку /lib/BackupPC/Lang, которая находится в директории с исполнимыми файлами. Там находятся файлы с локализованными сообщениями, выводимыми CGI-интерфейсом. В комплект поставки русский язык не входит, но вам ничего не мешает создать свой файл по образцу существующих, переведя сообщения с английского на русский язык. Часть этой работы я уже проделал для своего «внутреннего» использования. Перевод, не претендующий на полноту и высокое литературное качество, я выложил на своем сайте. Скачать архив можно по ссылке http://www.markelov.net/program/bpcrus.tgz.

Интерфейс

Интерфейс системы достаточно прост и нагляден. Обратившись по адресу: http://имя_сервера/cgi-bin/BackupPC_ Admin, вы попадаете в окно с общей информацией по серверу BackupPC. В левой части окна присутствует меню с ссылками на более подробную информацию по работе всего сервера, а также выпадающее меню с возможностью выбора информации по конкретному архивируемому хосту.

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

Заходя в инкрементальную резервную копию, вы видите полную картину сохраненной файловой системы, то есть полную резервную копию плюс наложенную на нее инкрементальную копию. А для всех измененных файлов можно просмотреть список версий и восстановить нужную из них.

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

В конце мне хотелось бы поблагодарить Павла Шера за ряд ценных советов, которые мне пригодились при написании статьи.

Рисунок 2

Рисунок 3

Рисунок 4


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru