formations/modules_EOLE_envole/scribe/20-sauvegarde.tex

275 lines
10 KiB
TeX

\begin{frame}
\frametitle{Présentation générale}
\begin{itemize}
\item Bacula ;
\item outil de sauvegarde libre pour :
\begin{itemize}
\item les fichiers/dossiers ;
\item les droits POSIX ;
\item les ACLs.
\end{itemize}
\item séparation EOLE :
\begin{itemize}
\item directeur (+ serveur de fichier) ;
\item espace de stockage.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Commandes EOLE pour bacula}
\begin{itemize}
\item pour EOLE 2.3 :
\begin{itemize}
\item les commandes ne sont pas dans le \uppercase{path} ;
\item \commande{/usr/share/eole/bacula/baculaconfig.py} ;
\item \commande{/usr/share/eole/bacula/baculamount.py} ;
\item \commande{/usr/share/eole/bacula/bacularestore.py} ;
\end{itemize}
\item pour EOLE 2.4 :
\begin{itemize}
\item les commandes sont dans le \uppercase{path} ;
\item \commande{baculaconfig.py} ;
\item \commande{baculamount.py} ;
\item \commande{bacularestore.py} ;
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configuration du directeur}
\begin{itemize}
\item types de sauvegarde :
\begin{itemize}
\item sauvegarde totale (T) ;
\item sauvegarde différentielle (D) ;
\item sauvegarde incrémentale (I).
\end{itemize}
\item durée de rétention (modifiable dans gen\_config) :
\begin{itemize}
\item totale : 6 mois ;
\item différentielle : 5 semaines ;
\item incrémentale : 10 jours.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configuration du directeur}
\includegraphics[width=8cm]{modules_EOLE_envole/scribe/sauvegarde.png}
\end{frame}
\begin{frame}
\frametitle{Configuration des fichiers sauvegardés}
\begin{itemize}
\item les fichiers personnalisés dans le répertoire /etc/bacula/baculafichiers.d/ ;
\item possibilité d'ajouter des fichiers à sauvegarder ;
\item possibilité d'exclure des fichiers.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde}
\begin{itemize}
\item type de support :
\begin{itemize}
\item si l'espace de stockage est local ;
\item support:
\begin{itemize}
\item distant (SMB) ;
\item local (USB, externe) ;
\item manuel (lecteur de bande).
\end{itemize}
\end{itemize}
\item depuis EAD ;
\item depuis la ligne de commande ;
\item programmation des sauvegardes : mensuelle, hebdomadaire, quotidienne et immédiate.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
La commande de configuration est :
\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py} en 2.3 ;
\item \commande{baculaconfig.py} en 2.4
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
\framesubtitle{Configurer le support de sauvegarde}
Trois configurations possibles pour le support de sauvegarde :
\begin{itemize}
\item<1-> support usb
\only<1>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -s usb --usb\_path=<peripherique>}
\item \commande{baculaconfig.py -s usb --usb\_path=<peripherique>}
\end{itemize}}
\item<1-> support smb
\only<2>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -s smb --smb\_machine=<nom d'hôte> --smb\_ip=<adresse ip> [--smb\_login=<compte> --smb\_password=<mot de passe>]}
\item \commande{baculaconfig.py -s smb --smb\_machine=<nom d'hôte> --smb\_ip=<adresse ip> --smb\_partage=<nom du partage> [--smb\_login=<compte> --smb\_password=<mot de passe>]}
\end{itemize}}
\item<1-> support manuel
\only<3>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -s manual}
\item \commande{baculaconfig.py -s manual}
\end{itemize}}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
\framesubtitle{Plannifier la sauvegarde}
Trois fréquences de plannification :
\begin{itemize}
\item<1-> quotidienne
\only<1>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>}
\item \commande{baculaconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>}
\end{itemize}}
\item<1-> hebdomadaire
\only<2>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
\item \commande{baculaconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
\end{itemize}}
\item<1-> mensuelle
\only<3>{\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
\item \commande{baculaconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
\end{itemize}}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
\framesubtitle{Configurer les destinataires des rapports}
Le destinataire est identifié par un courriel.\newline
Le destinataire peut être différent en cas d'erreur ou de succès.\newline
L'envoi par courriel est facultatif.\newline
\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -m [--mail\_ok=<courriel>] [--mail\_error=courriel]}
\item \commande{baculaconfig.py -m [--mail\_ok=<courriel>] [--mail\_error=courriel]}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
\framesubtitle{Appliquer les changemenets de configuration}
\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -a}
\item en 2.4, les changements sont automatiquement appliqués.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configurer une sauvegarde en ligne de commande}
\framesubtitle{Afficher la configuration courante}
La configuration courante peut être affichée à l'écran :
\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -d}
\item \commande{baculaconfig.py -d}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Lancer une sauvegarde immédiatement}
\begin{itemize}
\item \commande{/usr/share/eole/bacula/baculaconfig.py -n --level=Full|Incremental|Differential}.
\item \commande{baculaconfig.py -n --level=Full|Incremental|Differential}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configuration partage Windows}
\begin{itemize}
\item Création d'un compte local sur le poste Windows ;
\item se connecter sur ce compte ;
\item partage du dossier et réglage des droits :
\begin{itemize}
\item contrôle total pour l'utilisateur,
\item décocher "Hérite de l'objet parent..." ;
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Sauvegarder le serveur sur le partage Windows
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Restauration partielle}
\begin{itemize}
\item Script \commande{[/usr/share/eole/bacula/]bacularestore.py} ;
\item rechercher un fichier : \commande{--search \*} ;
\item restaurer un fichier : \commande{--file nom\_du\_fichier} ;
\item restaurer le dossier et contenu : \commande{--folder nom\_du\_dossier} ;
\item restaurer tous les fichiers : \commande{--all\_files} ;
\item restaurer les bases de données : \commande{--mysql} ;
\item restaurer un annuaire LDAP : \commande{--ldap} ;
\item ...
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Créer un fichier ;
\item lancer une sauvegarde ;
\item supprimer le fichier ;
\item rechercher le fichier et le restaurer.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Restauration totale}
\begin{itemize}
\item Installer le serveur (avec gen\_conteneur) ;
\item configurer le support de sauvegarde en ligne de commande ;
\item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]baculamount.py --mount} ;
\item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bacularestore.py --catalog <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bacula) ;
\item instanciation du serveur : \commande{instance zephir-restore.eol} ;
\item ne pas reinitiliser la base Bacula ;
\item restauration totale : \commande{[/usr/share/eole/bacula/]bacularestore.py --all}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Restauration totale en 2.6}
\begin{itemize}
\item Installer le serveur (avec gen\_conteneur) ;
\item configurer le support de sauvegarde en ligne de commande ;
\item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]bareosmount.py --mount} ;
\item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bareosrestore.py --configeole <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
\item instanciation du serveur : \commande{instance zephir-restore.eol} ;
\item ne pas reinitiliser la base Bareos ;
\item bareosrestaure.py --catalog (sans options) ;
\item restauration totale : \commande{[/usr/share/eole/bacula/]bareosrestore.py --all}.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Résolution des problèmes}
\begin{itemize}
\item Diagnose ;
\item les logs :
\begin{itemize}
\item /var/log/rsyslog/local/bacula-dir/,
\item /var/log/rsyslog/local/bacula-fd/,
\item /var/log/rsyslog/local/bacula-sd/ ;
\end{itemize}
\item la console \commande{bconsole} :
\begin{itemize}
\item \commande{messages} ;
\item \commande{status dir|sd|fd|all} ;
\end{itemize}
\item test de montage : \commande{[/usr/share/eole/bacula/]baculamount.py -t} ;
\item supprimer le verrou : \commande{[/usr/share/eole/bacula/]baculaconfig.py --unlock} .
\end{itemize}
\end{frame}