Connexion
Ces billets correspondent à un filtre sur: backup

Installation d'un serveur BackupPc

Billet-tutoriel aujourd'hui pour présenter la mise en place d'un serveur de sauvegardes basé sur BackupPC 3.1.0. Ce tutoriel reprend les étapes importantes de l'installation de cette solution sur mon environnement personnel, mais doit pouvoir donner de bonnes indications pour une installation dans un environnement différent.

Présentation

BackupPC est une solution de sauvegarde assez complète qui peut être utilisée en environnement hétérogène (postes Linux, Windows et MacOs) en se basant sur divers protocoles: smb, rsync, tar, rsyncd...

Le logiciel propose une interface web qui permet de configurer les paramètres les plus courants de la sauvegarde d'un poste: heure, dossiers, utilisateurs à prévenir, méthode de sauvegarde, durée de conservation, limites etc... Mais il est aussi possible de l'utiliser sans interface web au travers des fichiers de configuration.

Cette solution est utilisé dans des entreprises où plusieurs milliers de postes sont sauvegardés quotidiennement ce qui représente une certaine garantie de qualité et permet d'envisager de s'en servi sans soucis dans mon cas:
le serveur de sauvegarde serveur devant s'auto-sauvergarder (en partie). Voila à quoi ressemble mon réseau:
  • obelix: le serveur principal de sauvegare (accessible sur le VPN)
  • abraracourcix: un serveur dédié distant mais sur le même VPN
  • idefix: un poste portable sur le même VPN

Installation du serveur

Sur ma distribution préférée, Debian, backuppc est fourni dans les principaux dépôts. Cela facilite grandement l'installation puisqu'un simple apt-get suffi à lancer l'installation:

# apt-get install backuppc

Ensuite, il faut suivre les étapes en adaptant à la configuration à l'environnement (apache, smb, chemin) et l'écran final invite l'utilisateur à noter le mot de passe attribué à l'utilisateur "backuppc" pour l'interface web.

Normalement, l'installation aura créée un utilisateur "backuppc". Il est toutefois nécessaire de lui créer un répertoire personnel et de lui associer une clef ssh:

# mkdir -p /home/backuppc/.ssh
# passwd backuppc #(donner un mot de passe à cet utilisateur - optionnel)
# su backuppc
$ cd ~/.ssh
$ ssh-keygen -t rsa #(ne pas donner de passphrase)

Ainsi nous avons un utilisateur "backuppc" possédant une paire de clef (privée/publique) à utiliser dans le cas de connexion ssh.

Par défaut les sauvegardes sont placées dans un répertoire dépendant de "/var" ce qui n'est pas forcément adapté aux souhaits de tout le monde. Il suffit de modifier le fichier de configuration générale:

# vi /etc/backuppc/config.pl

Et remplacer le contenu de la varible: $Conf{TopDir} = '/path/vers/les/backups';

Relancer ensuite le serveur backuppc:

# /etc/init.d/backuppc restart

L'accès à l'interface web (cgi) est normalement accessible à l'adresse: http://nomduserveur/backuppc (Le mot de passe a été fourni à l'installation avec le login "backupc")

Ajouter un client

Dans le cas ci-dessous, nous allons ajouter le client abraracourcix au système de sauvegardes.

La première étape peut être réalisée par l'interface web. Il s'agit de "créer" ce client dans la solution de sauvegarde ainsi que les premiers paramétrages:

Ensuite vous pouvez configurer le client en le sélectionnant dans la liste déroulante et en cliquant sur "Modifier la configuration". Comme il s'agit d'un poste Linux, j'ai choisi la méthode "rsync" pour sauvegarder les dossiers précisés dans "RsyncShareName":
Il est possible de configurer d'avantage d'options à travers les différents onglets de l'interface, mais je ne reviendrais pas dessus dans ce tutoriel.

L'étape suivante peut être réalisée sur le pc client (je ne détaillerais que le cas d'un pc Linux n'ayant pas de machine sous un autre OS pour le moment):

# scp nomduserveur:/home/backuppc/.ssh/id_rsa.pub ~/.ssh/authorized_keys # (authoriser à l'aide de la clef ssh publique l'accès sans mot de passe à ce pc avec ce nom d'utilisateur)
# chmod 600 ~/.ssh/authorized_keys

Enfin, très important si vous ne voulez pas chercher des heures une erreur toute bête, connectez vous depuis le serveur (en tant que backuppc) vers le nouveau client afin d'accepter sa clef ssh:

# su backuppc
$ ssh root@client.domain #( et yes pour accepter la clef. Normalement, aucun mot de passe n'est demandé ensuite)

Dans le cas de postes Windows et MacOs, je lie un PDF qui récapitule les étapes de base de la configuration.
Voila, c'est fait. Lançons à présent notre première sauvegarde de façon manuelle.

Première sauvegarde

Pour vérifier le fonctionnement de notre solution, il est possible de lancer une sauvegarde manuelle depuis l'interface web. Pour cela il faut choisir un hôte sur lequel l'effectuer, et cliquer sur le bouton: "Démarrer la sauvegarde complète":
En cas d'erreurs, les fichiers journaux (affichables dans l'interface) pourront venir en aide lors de la recherche du problème.

Une fois la sauvegarde effectuée, il est possible d'explorer le contenu et même de le restaurer (directement ou en extrayant une archive) toute ou partie de la sauvegarde.

Commentaires: 6 | Buzz it!

Logs de backup par RSS

Depuis quelques temps, je m'attache à concentrer les diverses informations que je vérifie régulièrement. Cela m'a entre autre amené à créer un compte sur google/reader afin de suivre les changements des sites que je fréquente de façon plus rapide à l'aide des flux RSS. Ainsi, en suivant de temps en temps cette agrégation de flux, on évite de passer d'un site à l'autre (en répétant cette opération plusieurs fois par jour pour les plus fréquentés)...


Les statistiques de fréquentation du site ont aussi un mécanisme de flux RSS tout comme les commentaires, les nouveaux articles etc... Cela évite de lire autant de mails chaque matin pour savoir un peu où en est la fréquentation ou si les articles programmés ont bien été publiés.

Mais il reste de nombreuses opérations de maintenance ou de vérification dont je reçois les rapports par mail. Notamment la sauvegarde quotidienne des données... Hier soir, je me suis attaché à modifier le script de backup afin de diriger sa verbosité (ses logs) vers un flux RSS. Ainsi, à la fin de chaque opération de backup, le script régénère le Feed complet et l'enregistre. Mon agrégateur RSS préféré relevant régulièrement son contenu, au matin, je peux vérifier l'état de mes sauvegardes entre la lecture de deux billets de blog d'amis ou d'une news sur DLFP ou encore mon programme télé.

Il reste des améliorations à apporter mais cette solution est déjà fonctionnelle et je ne vais faire que des changements mineurs en dehors de l'ajout d'une autre fonctionnalité qui attend depuis longtemps: la conservation sur une base sql des résultats de sauvegarde et leur affichage dans une interface HTML/AJax. Mais ce gros ajout attendra surement la mise en place complète du nouveau serveur (oui la modif des sauvegarde ne concerne pour l'instant que l'ancien serveur: obelix).

Commentaires: 0 | Buzz it!