Backup et Virtualisation

Présentation

issa.jpeg

Dans le cadre d’un projet pour l’automatisation des routines d’installation de certaines machines du laboratoire de l’institut, un serveur PXE tournant sous CENTOS (installation en réseau de Linux (ubuntu , centos) et windows (Xp via unattended) virtualisé sous XEN a été mis en place .

Dans ce nouveau projet, on mettra du temps à une stratégie de backup de ce serveur , pour prévoir les désastres. On essaiera de mettre en place deux systèmes de backup basés respectivement sur les outils OpenSource et l’outil de clonage de machines virtuelles qui accompagne XEN.

Un résumé du déroulement du déploiement de ce serveur sera mis en ligne sur le wiki; on se focalisera ensuite sur le choix de l’un des systèmes de backup. Il faudra ici pouvoir définir quel type de backup sera supporter par rapport à l’infrastructure en place…

I.VIRTUALISATION

Déploiement des machines virtuelles à travers "XEN":

XEN est un logiciel de virtualisation « openSource » pour les architectures Intel et PowerPC.
Ce logiciel nous permettra de faire tourner plusieurs systèmes d’exploitation sur un OS hôte. Dans notre cas, l’installation s’est faite sur un « Linux /Centos » .
Le déploiement est assez facile et se résume comme suit :

Se connecter comme "root"

# yum install xen virt-manager kernel-xen
# chkconfig xend on
# reboot

Pour le création ou le clônage de machines virtuelles, on utilisera l'outil graphique:

virt-manager & ( ce signe permet de détacher le processus du terminal)

L'image suivante représente un exemple de création d'une des machines virtuelles via console et montre aussi la fenêtre "virt-manager"
Pour l'installation de l'OS , on s'est servi d'un serveur PXE pré-configuré.

Capture1.png
Capture0png

Clickez sur l'image pour agrandir..

Par mesure de prudence,il est préférable de sauvegarder les machines virtuelles dans une partition indépendante; , Ce qui permettrait aussi de faciliter le "backups" ou la migration de ces machines virtuelles. Dans notre cas, on a juste ces différentes machines dans un répertoire "VMS", créé au préalable:

[root@host VMS]#ls
mbour.img
ntinstall.img

[root@host VMS]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      996     2 r-----    230.3
mbour                                      1      511     1 -b----      7.9
ntinstall                                  2      511     1 -b----     14.4
NB: C'est sur ces deux "hôtes" que les déploiements automatiques ont été reproduits ...

Dans la mesure où , on aimerait le démarrage des machines virtuelles au démarrage du "Dom0", les ajustements suivants ont été appliqués pour chaque "VM":

ln -s /etc/xen/mbour /etc/xen/auto/

Quant aux différentes options et capacités de cet outil de virtualisation, les liens suivants ont servi de base de travail:1 ou bien ,2

II.STRATEGIE DE BACKUP

On utilisera un serveur NFS sur le quel deux répertoires "BACKUPS" et "SNAPSHOTS" serviront successivement à récupérer le "root dump" de l'hôte ou tournent les machines virtuelles et les "rsyncs" de ces dernières.

A.Serveur de backups

Serveur "NFS"

On créera le répertoire /exports dans le quel on aura les deux répertoires "BACKUPS" et "SNAPSHOTS" précités.
Pour activer le serveur NFS, il suffira d’éditer le fichier /etc/exports comme suit :

#vi /etc/exports
/exports 192.168.22.0/255.255.255.0(rw,sync)
NB: Cette ligne nous permettra d'exporter tout ce répertoire dans le réseaux local

# vi /etc/hosts.allow

# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
portmap: 192.168.22.0/255.255.255.0

Démarrage du service NFS :

# /etc/init.d /nfs star
# /etc/init.d/portmap start
Test :rpcinfo –p

Configuration de l'outil "RSNAPSHOT"

On aura besoin des modules "Perl"3, "rsync"4 , OpenSSH5 qui sont déjà activés après l'installation de l'hôte et du module pré-compilé "rsnapshot"6

—Déroulement

# cd /tmp
# wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.0-1.noarch.rpm
# wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.0-1.noarch.rpm.md5


Vérification de l’intégrité du fichier téléchargé :
# md5sum -c rsnapshot-1.3.0-1.noarch.rpm.md5
Résultat OK :
rsnapshot-1.3.0-1.noarch.rpm: OK

On  installe avec la commande suivante :
# rpm -ivh rsnapshot-1.3.0-1.noarch.rpm

—Authentification
On utilisera openssh pour générer une clé qui sera ensuite copié sur les machines clientes comme suit :

ssh-keygen -t rsa
scp /root/.ssh/id_rsa.pub root@"ip du client":/root/.ssh/authorized_keys2

—Configuration du fichier de base
Le fichier /etc/rsnapshot.conf doit être configuré avec des tabulations entre les éléments.
Les répertoires de stockage ont un syntaxe assez particulier.

—Automatisation du backup
Pour cette tâche , on servira de l'outil ''crontab" avec l'entrée suivante:

#crontab -e
40 23 * * 6 /usr/bin/rsnapshot weekly
NB:On adaptera cette entrée en fonction des besoins, et surtout en fonction de l'espace de stockage disponible

B.Clients à sauvegarder

A part la copie des clefs "ssh" qui permet au serveur "rsnapshot" d'avoir un accès local sur les clients, la partie majeure de la configuration de "rsnapshot" se déroule sur le serveur même.
Maintenant, on se propose de pouvoir monter le "share NFS" "/exports/BACKUPS" pour prendre un "full-backup" de notre machine virtuelle là-dessus. Et ceci, afin d'avoir au moins deux méthodes de backups.

Client NFS

# vi /etc/fstab
"IP du serveur NFS":/exports/BACKUPS /mnt nfs rw,hard,intr 0 0
# /etc/init.d/portmap start
# mount /mnt

TEST:
[root@pc-de-portable ~]# df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VolGroup00-LogVol00
                      143G   28G  108G  21% /
/dev/sda1              99M   21M   74M  22% /boot
tmpfs                 885M     0  885M   0% /dev/shm
none                  884M   88K  884M   1% /var/lib/xenstored
"IP du serveur NFS":/exports/BACKUPS
                       34G   34G     0 100% /mnt

Script de backup

Issa Kandji

Ajouter un nouveau commentaire
ou S'identifier comme utilisateur Wikidot
(ne sera pas publiée)
- +
Sauf mention contraire, le contenu de cette page est protégé par la licence Creative Commons Attribution-ShareAlike 3.0 License