Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:articles:samba4_br [05/09/2013 16:52]
graf
wiki:articles:samba4_br [13/09/2013 20:49]
Строка 1: Строка 1:
-<note warning> 
-**Статья не закончена! Продолжение следует!** 
-</note> 
- 
-^   **Резервное копирование и восстановление Samba AD DC**   ^ 
- 
-====== Предисловие ====== 
- 
-Оригинал: [[https://wiki.samba.org/index.php/Backup_and_Recovery | Backup and Recovery]] \\ 
-Перевел: //Graf// \\ 
-Дата перевода: //сентябрь 2013 г.//\\ 
- 
-Всё, что описано в пункте "Практика", выполнено мной на тестовом стенде. До это пункта идет перевод оригинала. 
- 
-====== Введение ====== 
- 
-Содержание этого документа скорректировано для samba 4.x. 
-Надеемся, что этот учебник по резервному копированию и восстановлению samba, будет полезен. Но написанное здесь идет **БЕЗ КАКИХ ЛИБО ГАРАНТИЙ!** 
- 
-**До удаления этой строки, рассматривайте этот документ в качестве черновика, который может содержать дефекты или не хватку чего-то!** 
- 
-====== Общее ====== 
-<note warning> 
-//Если у вас запущенно более одного DC:// \\ 
-**Никогда не восстанавливайте из резервной копии DC, если хотя бы один другой DC все еще работает!\\ 
-Вы повредите каталог, так как репликация метаданных рассинхронизируется!** 
-</note> 
- 
-Просто [[https://wiki.samba.org/index.php/Samba4/HOWTO/Join_a_domain_as_a_DC | присоедините новую машину как DC]]. Все будет синхронизировано с рабочим(и) DC - кроме репликации SysVol, это пока не реализовано. 
- 
-Если же сломан весь домен на всех DC, вы должны отправить сообщение в [[mailto:samba-technical@lists.samba.org | samba-technical]] на [[http://lists.samba.org| http://lists.samba.org]], для обсуждения наилучшего способа исправления. 
- 
- 
-===== Как можно сделать резервную копию/восстанавление LDB и TDB файлов ===== 
- 
-Если запланируйте изменение скрипта //samba_backup// или создание собственного решения, то вы найдете здесь некоторую полезную информацию: 
-  * Вы никогда не должны копировать работающую базу данных! 
-  * Онлайн резервные копии файлов //*.ldb// и //*.tdb// могут быть сделаны при помощи //tdbbackup// 
-  * Файлы созданные при помощи //tdbbackup//, это целые и невредимые TDB-файлы. //tdbbackup// делает извлечение безопасным. 
-  * Для восстановления, резервных копий //*.ldb// файлов можно просто переименовать их в свои старые названия (убрав *. bak). 
- 
- 
-===== О скрипте backup_samba ===== 
- 
-Samba предоставляет очень простой шелл скрипт резервного копирования баз данных (//source4/scripting/bin/samba_backup//, в архиве с исходными кодами). Для этого необходимо, чтобы вся Samba  была установлена в одном месте (например в ///usr/local/samba///). Если вы использовали параметры настройки для хранения частей Samba в разных местах, то вы можете исправить скрипт или использовать его в качестве базы для написания собственного скрипта. 
- 
-Поскольку, на данный момент, этот скрипт очень прост и вы планируете использовать его без изменений, то вам необходимо знать некоторые вещи : 
-  * Сценарий не делает резервных копий расширенных ACL. В следствии чего вы теряете разрешения, например, на общий ресурс //SysVol//. Если у вас есть версия //tar//, которая поддерживает опцию  //- -xattrs// (см. страницу руководства по использованию //tar//), вы должны добавить эту опцию ко всем //tar// командам внутри сценария. Что позволит //tar// сохранять  расширенные ACL в архивах. 
- 
-====== Резервное копирование ====== 
- 
-Samba скрипт, для резервного копирования, не устанавливается во время запуска //make install//. Рекомендуется скопировать его из директории с исходным кодом (//source4/scripting/bin/samba_backup//) в систему, например в ///usr/sbin// и установить разрешения: 
-<code> 
-# cp ..../source4/scripting/bin/samba_backup /usr/sbin  
-# chown root:root /usr/sbin/samba_backup  
-# chmod 750 /usr/sbin/samba_backup 
-</code> 
- 
-Настройте следующие переменные, внутри скрипта, под свои нужды: 
-<code> 
-FROMWHERE=/usr/local/samba  
-WHERE=/usr/local/backups  
-DAYS=90 
-</code> 
- 
-Создайте директорию назначения, которую вы прописали в переменной //$WHERE// и установите разрешения:  
-<code> 
-# mkdir /usr/local/backups  
-# chmod 750 /usr/local/backups 
-</code> 
- 
-Запустите скрипт резервного копирования для первого теста  
-<code> 
-# /usr/sbin/samba_backup 
-</code> 
- 
-Если сценарий завершился без ошибок, то вы должны найти три файла в папке назначения: 
-  * etc.{Timestamp}.tar.bz2 
-  * samba4_private.{Timestamp}.tar.bz2 
-  * sysvol.{Timestamp}.tar.bz2 
- 
-Если тест резервного копирования удался, то для ежедневного резервного копирования, вы должны добавить его в cron:  
-<code> 
-# crontab -e 
-</code> 
- 
-Для ежедневного резервного копирования в 2 часа ночи, добавьте следующую строку : 
-<code> 
-0 2 * * *       /usr/sbin/samba_backup 
-</code> 
- 
-====== Восстановление ====== 
- 
-Следующее руководство по восстановлению предполагает, что вы сделали резервные копии баз данных при помощи скрипта //samba_backup//. Если у вас есть свой собственный сценарий, отрегулируйте соответствующие шаги. 
- 
-<note warning> 
-\\ 
-** 
-Никогда не делайте восстановление и изменение версии одновременно! \\ 
-Всегда восстанавливайте в системе, которая использует ту же версию Samba, что была во время создания резервной копии! \\ 
-Восстанавливайте в системе с тем же IP и именем хоста. В противном случае вы будете работать с ошибками в Kerberos и DNS. \\ 
-Рекомендуем: Восстанавливать на той же ОС, где была создана резервная копия.\\ 
-\\ 
-Самое важное в ситуации восстановления, это вернуть вашу систему в рабочее состояние. Сделайте изменения позже, если все "поднялось" и тест прошёл успешно. Никогда не делайте изменения вместе с восстановлением! 
-** 
-</note> 
- 
-Если вся ваша система не работает, вы должны сперва настроить всю машину, как описано в практических руководствах (HowTo) ([[wiki:articles:samba4_ht| контроллера AD]] или [[https://wiki.samba.org/index.php/Samba4/Domain_Member | рядового сервера]]). 
- 
-Удалите те директории, которые мы будем восстанавливать (Samba не должна работать!): 
-<code> 
-# rm -rf /usr/local/samba/etc  
-# rm -rf /usr/local/samba/private  
-# rm -rf /usr/local/samba/var/locks/sysvol 
-</code> 
- 
-Распакуйте последние рабочие файлы резервного копирования в старое место расположение: 
-<code> 
-# cd /usr/local/backups  
-# tar -jxf etc.{Timestamp}.tar.bz2 -C /usr/local/samba/  
-# tar -jxf samba4_private.{Timestamp}.tar.bz2 -C /usr/local/samba/  
-# tar -jxf sysvol.{Timestamp}.tar.bz2 -C /usr/local/samba/ 
-</code> 
- 
-Переименуйте файлы //*.ldb.bak//, в каталоге //private//, в //*.ldb//. С GNU //find// и //Bash// это можно сделать сразу: 
-<code> 
-# find /usr/local/samba/private/ -type f -name '*.ldb.bak' -print0 | while read -d $'\0' f ; do mv "$f" "${f%.bak}" ; done 
-</code> 
- 
-Если ваша резервная копия не содержит расширенные списки управления доступом (ACL) (см. раздел о скрипте  
-[[wiki:articles:samba4_br#o_skripte_backup_samba | backup_samba]] ), то вы должны запустить: 
-<code> 
-# samba-tool ntacl sysvolreset 
-</code> 
- 
-Если вы используете Bind в качестве сервера DNS, вы должны исправить жесткие ссылки на базы данных DNS: 
-<code> 
-# samba_upgradedns --dns-backend=BIND9_DLZ 
-</code> 
- 
-Смотрите [[https://wiki.samba.org/index.php/Dns-backend_bind#New_added_DNS_entries_are_not_resolvable |DNS Backend BIND - New added DNS entries are not resolvable.]] 
- 
-Теперь, если восстановление прошло успешно, вы можете запустить samba и начать тестирование. 
-<note tip> 
-Подсказка: Конечно, можно восстановить одну базу данных из резервных копий,если вы знаете, какая из них сломана. Но будьте уверены, некоторые базы данных могут быть связаны с другими. И так тщательно, что вы получите неустойчивую систему! Если вы не уверены, зависят ли ваши сломанные данные от других, вы должны спросить в [[mailto:samba-technical@lists.samba.org | samba-technical]] на [[http://lists.samba.org| http://lists.samba.org]] 
-</note> 
- 
-====== Практика ====== 
  
Печать/экспорт
QR Code
QR Code wiki:articles:samba4_br (generated for current page)