puce chemin  Accueil > Contributions > Articles techniques
Contributions

Amanda, solution de sauvegarde centralisée.

The Advanced Maryland Automatic Network Disk Archiver


Amanda est un logiciel sous licence GPL,

  • Il est basé sur des outils standards (dump, restore, tar, …)
  • Son architecture modulaire répartit, tel un chef d’orchestre, les tâches sur des machines périphériques. Par exemple, le serveur peut ne pas accueillir de dérouleur.
  • Il implémente une gestion des bandes simple et efficace : on ne peut effacer une bande par erreur, et il existe des outils de recherche de fichier dans toute la collection de support.
  • Interface générique des changeurs de bandes, donc, non seulement on peut utiliser des dérouleurs différents, mais aussi des robots différents.
  • Si besoin, peut encrypter ou compresser tant les communications avec les agents de sauvegarde, que les supports eux-mêmes
  • Ajuste l’ordonnancement par des règles d’optimisation
  • Intégre des outils de rapport, hautement configurables et modifiables,
  • Autorise l’inclusion de tout module que l’on désire

- Pour mac OSX, http://wiki.zmanda.com/index.php/In…


Installation

Sur le serveur

Nous allons donc installer le logiciel sur le serveur. Pour cela, nous allons télécharger les sources de la version 2.5.2p1.

Pré-requis

Avant d’aller plus loin, il nous faut créer un utilisateur ’amanda’ et un groupe ’disk’. Ensuite, nous allons associé cet utilisateur à ce groupe ’disk’.

groupadd disk
useradd -g disk -G disk -s /bin/false amanda

Compilation et installation

Une fois les sources téléchargées, nous allons les décompresser et lancer la procédure de compilation du serveur avec les options suivantes.

./configure \
—with-user=amanda \
—with-group=disk \
—prefix=/usr/local/amanda \
—with-amandahosts \
—with-portrange=50000,50014

Ensuite, nous lançons les commandes suivantes :

make && make check
make install

La partie serveur est maintenant installé. Avant de passer à la configuration, nous allons installé la partie cliente du logiciel sur le client.

Sur le client

Pré-requis

En premier leiu, il faut créer un utilisateur et un groupe :

groupadd disk
useradd -g disk -G disk -s /bin/false amanda

Compilation et installation

On compile ensuite le logiciel sans la partie serveur :

./configure \
—with-user=amanda \
—with-group=disk \
—with-config=wpc0230 \
—without-server \
—prefix=/usr/local/amanda \
—with-amandahosts \
—with-portrange=50000,50014

Ensuite, nous lançons les commandes suivantes :

make && make check _* make install

Le logiciel est maintenant aussi installé sur la partie client. Nous allons donc passer à la configuration de la partie cliente et de la partie serveur.

Configuration

Sur le client

Le Système

Nous allons maintenant configurer ’xinetd’ pour lancer le service ’amanda’. A partir de la distribution Fedora Core 6, le package ’xinetd’ n’est plus installé, il faut donc l’installer en utilisant la commande ’yum’.

yum install xinetd

Puis nous allons créer le fichier /etc/xinetd.d/amanda :

service amanda

socket_type = dgram
protocol = udp
wait = yes
user = amanda
group = disk
groups = yes
server = /usr/local/amanda/libexec/amandad

En dernier lieu, vérifions que le fichier ’/etc/services’ contienne bien les ports relatif à ’amanda’.

amanda 10080/udp
amandaidx 10082/tcp
amidxtape 10083/tcp

La configuration pour ’xinetd’ est maintenant terminée. Il ne nous reste plus qu’à le redémarrer :

killall -HUP xinetd

La partie cliente

Iil faut configurer le fichier .amandahost dans le répertoire de base de l’utilisateur ’amanda’ pour autoriser le serveur a exécuter ses actions sur le poste client.

# machine utilisateur
backup amanda amdump

ATTENTION : ce fichier ne doit être lisible que par l’utilisateur ’amanda’ et par personne d’autre.

Le DNS a été mis à jour avec une entrée backup.nouveauxterritoires.fr vers le serveur de sauvegarde. Ensuite, le fichier ’/etc/hosts’ a aussi été modifié pour ajouter la ligne :

10.0.0.1 backup backup.nouveauxterritoires.fr

Il faut aussi créer un fichier vide ’/etc/amandatapes’ vide. Le propriétaire de ce fichier doit être ’amanda:disk’ absolument.

La configuration de la partie cliente est maintenant terminée.

Sur le serveur

On crée donc une config ’wpc0230’ contenant les fichiers nécessaires :

- amanda.conf
chg-disk
disklist
curinfo (répertoire vide)
index (répertoire vide)
tapelist (fichier vide)

Tous ces fichiers appartiennent bien sûr à Amanda.

Le fichier amanda.conf :

Le fichier disklist :

# machine chemin type de sauvegarde
wpc0230 / wpc0230-dump

Attention, il faut aussi rajouter dans le fichier /etc/hosts’ le nom de la machine :

62.193.224.166 wpc0230.amenworld.com wpc0230

Il faut aussi créer le répertoire de sauvegarde sur la partition correspondante :

mkdir /dumps/amandatapes/wpc0230

Il doit aussi apartenir à ’amanda:disk’.

Ensuite, on se rend dans ce répertoire et on crée les répertoire slotx correspondant à notre config dans ’amanda.conf’ :

mkdir /dumps/amandatapes/wpc0230/slot1
mkdir /dumps/amandatapes/wpc0230/slot2
mkdir /dumps/amandatapes/wpc0230/slot3
mkdir /dumps/amandatapes/wpc0230/slot4
mkdir /dumps/amandatapes/wpc0230/slot5
mkdir /dumps/amandatapes/wpc0230/slot6

Ils doivent aussi apartenir à ’amanda:disk’.

Ensuite, il faut placer le label sur tous les ’slot’ :

amlabel wpc0230 wpc0230-01 slot 1
amlabel wpc0230 wpc0230-02 slot 2
amlabel wpc0230 wpc0230-03 slot 3
amlabel wpc0230 wpc0230-04 slot 4
amlabel wpc0230 wpc0230-05 slot 5
amlabel wpc0230 wpc0230-06 slot 6

- > Quand on lance la commande ’amcheck xxxxx’, cela passe automatiquement sur le slot suivant.

Restauration

Pour restaurer les fichiers d’un client, il faut modifier quelque peu la configuration du serveur de backup et des clients.

Ensuite, on peut utiliser la commande ’amrecover’

amrecover wpc0230
amrecover> sethost wpc0230
amrecover> listdisk
amrecover> setdisk /
amrecover> add xxx
amrecover> extract

TRES IMPORTANT

Le serveur de restauration doit être configuré de la sorte :

service amanda
only_from = amandaserver.company.com amandaclient.company.com
socket_type = dgram
protocol = udp
wait = yes
user = amandabackup
group = disk
groups = yes
server = /usr/lib/amanda/amandad
server_args = -auth=bsd amdump amindexd amidxtaped
disable = no



http://www.amanda.org Le site officiel