Présentation
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é.
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
La configuration est déjà faite sur le serveur , et une entrée dans le "crontab" a été mis en place.
Faute d'accès au site , la documentation accuse un retard
Aperçu du message:
Fermer l'aperçu