Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
informatique:systeme:ha:cluster_de_virtualisations_drbd_ocfs2_libvirt-kvm_pacemaker [2011/06/09 12:53] – [Espace de stockage partagé] bn8 | informatique:systeme:ha:cluster_de_virtualisations_drbd_ocfs2_libvirt-kvm_pacemaker [2011/11/08 13:15] – [Création d'une machine virtuelle] bn8 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Ce cluster de virtualisations est basé sur la technologie KVM mettant à profit le support de la virtualisation matérielle au niveau des processeurs. Libvirt, une librairie d' | Ce cluster de virtualisations est basé sur la technologie KVM mettant à profit le support de la virtualisation matérielle au niveau des processeurs. Libvirt, une librairie d' | ||
- | Pour avoir un système de virtualisation permettant les bascules à chaud des machines virtuelles entre les machines physiques, il est nécessaire d' | + | Pour avoir un système de virtualisation permettant les bascules à chaud des machines virtuelles entre les machines physiques, il est nécessaire d' |
Pacemaker viendra ensuite se greffer sur l' | Pacemaker viendra ensuite se greffer sur l' | ||
====== Installation ====== | ====== Installation ====== | ||
+ | |||
+ | ===== Mise en place de la prise de pouls avec Pacemaker ===== | ||
+ | * Installez et mettez en place la configuration de base de [[informatique: | ||
===== Espace de stockage partagé ===== | ===== Espace de stockage partagé ===== | ||
Ligne 14: | Ligne 17: | ||
* Le volume //drbd0// doit maintenant être formaté avec le système de fichiers //OCFS2// il est donc normalement possible de monter ce volume sur les deux machines en même temps. Nous allons donc pouvoir mettre en place ce point de montage : | * Le volume //drbd0// doit maintenant être formaté avec le système de fichiers //OCFS2// il est donc normalement possible de monter ce volume sur les deux machines en même temps. Nous allons donc pouvoir mettre en place ce point de montage : | ||
* Créer le point de montage /// | * Créer le point de montage /// | ||
- | * Ajouter la ligne suivante à votre fichier /// | ||
- | * Monter le volume sur les deux machines avec la commande suivante : < | ||
+ | ==== Gestion de l' | ||
+ | |||
+ | Nous allons faire en sorte que pacemaker gère toute la partie volume partagé. Pour cela, il faut commencer par désactiver le lancement automatique des services associés soit //drbd//, //o2cb// et //ocfs2//. Pour cela : | ||
+ | * Supprimer les références au service dans les dossiers /// | ||
+ | insserv -r ocfs2 -f | ||
+ | insserv -r o2cb -f</ | ||
+ | * Pour que notre modification ne soit pas écraser à chaque mise à jour, il nous faut supprimer les références à ces // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | |||
+ | Arrêtons maintenant manuellement les services en question :< | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Nous pouvons maintenant configurer pacemaker afin qu'il gère pour nous ces services : | ||
+ | * Editer la configuration du cluster : < | ||
+ | * Ajouter les lignes suivantes dans la configuration : < | ||
+ | op monitor interval=" | ||
+ | op start interval=" | ||
+ | op stop interval=" | ||
+ | primitive drbd0 ocf: | ||
+ | params drbd_resource=" | ||
+ | op monitor interval=" | ||
+ | op monitor interval=" | ||
+ | op start interval=" | ||
+ | op stop interval=" | ||
+ | primitive o2cb ocf: | ||
+ | op monitor interval=" | ||
+ | op start interval=" | ||
+ | op stop interval=" | ||
+ | primitive var_lib_libvirt ocf: | ||
+ | params device="/ | ||
+ | op monitor interval=" | ||
+ | op start interval=" | ||
+ | op stop interval=" | ||
+ | ms ms_drbd0 drbd0 \ | ||
+ | meta resource-stickines=" | ||
+ | clone clone_controld controld \ | ||
+ | meta globally-unique=" | ||
+ | clone clone_o2cb o2cb \ | ||
+ | meta globally-unique=" | ||
+ | clone clone_var_lib_libvirt var_lib_libvirt \ | ||
+ | meta interleave=" | ||
+ | colocation col_controld inf: clone_controld ms_drbd0: | ||
+ | colocation col_o2cb_controld inf: clone_o2cb clone_controld | ||
+ | colocation col_var_lib_libvirt_o2cb inf: clone_var_lib_libvirt clone_o2cb | ||
+ | order ord_controld_o2cb 0: clone_controld clone_o2cb | ||
+ | order ord_drbd_dlm 0: ms_drbd0: | ||
+ | order ord_o2cb_var_lib_libvirt 0: clone_o2cb clone_var_lib_libvirt</ | ||
===== Mise en place de la virtualisation libvirt-kvm ===== | ===== Mise en place de la virtualisation libvirt-kvm ===== | ||
Ligne 26: | Ligne 79: | ||
* Créer le dossier qui contiendra la configuration commune des libvirt : < | * Créer le dossier qui contiendra la configuration commune des libvirt : < | ||
* Rsyncer le dossier de configuration de la libvirt d'une des deux machines dans le dossier commun : < | * Rsyncer le dossier de configuration de la libvirt d'une des deux machines dans le dossier commun : < | ||
- | * Supprimer le dossier /// | + | * Supprimer le dossier /// |
- | * Créer un lien logique /// | + | * Créer un lien logique /// |
* Relancer la libvirt sur les deux machines : < | * Relancer la libvirt sur les deux machines : < | ||
* Les migrations que les migrations entre les machines puissent être réalisées, | * Les migrations que les migrations entre les machines puissent être réalisées, | ||
Ligne 50: | Ligne 103: | ||
| | | | | | ||
| | | | | | ||
- | +-----------------+</ | + | +-----------------+</ |
* Autoriser la connexion SSH en tant que root sur les deux machines avec les clés que l'on vient de générer : | * Autoriser la connexion SSH en tant que root sur les deux machines avec les clés que l'on vient de générer : | ||
* Copier le contenu des fichiers /// | * Copier le contenu des fichiers /// | ||
Ligne 66: | Ligne 119: | ||
root@srvvirt2: | root@srvvirt2: | ||
+ | De la même manière que les //drbd// et //ocfs2//, le //daemon libvirtd// sera géré par // | ||
+ | * Supprimer les réfécences au service dans les dossiers / | ||
+ | * Pour que notre modification ne soit pas écraser à chaque mise à jour, il nous faut supprimer les références à ces runlevel dans les headers LSB du script //init.d//. Pour cela, éditer le fichier /// | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * Arrêtons maintenant manuellement le service : < | ||
+ | * Configurons maintenant // | ||
+ | * Editer la configuration du cluster : < | ||
+ | * Ajouter les lignes suivantes dans la configuration : < | ||
+ | op monitor interval=" | ||
+ | op start interval=" | ||
+ | op stop interval=" | ||
+ | clone clone_libvirtd libvirtd \ | ||
+ | meta globally-unique=" | ||
+ | colocation col_libvirtd_var_lib_libvirt inf: clone_libvirtd clone_var_lib_libvirt | ||
+ | order ord_var_lib_libvirt_libvirtd 0: clone_var_lib_libvirt clone_libvirtd</ | ||
+ | |||
+ | Pacemaker gère désormais // | ||
===== Mise en place d'un accès direct au réseau pour les machines virtuelles ===== | ===== Mise en place d'un accès direct au réseau pour les machines virtuelles ===== | ||
Si vous souhaitez que vos futres machines virtuelles est un accès direct à votre réseau, mettez en place des [[informatique: | Si vous souhaitez que vos futres machines virtuelles est un accès direct à votre réseau, mettez en place des [[informatique: | ||
- | ===== Mise en place de la prise de pouls avec Pacemaker ===== | + | |
- | * Installez et mettez en place la configuration de base de [[informatique: | + | |
+ | Le cluster est en place et fonctionnel. Vous pouvez dés à présent créer vos premières machines virtuelles | ||
====== Administration du cluster ====== | ====== Administration du cluster ====== | ||
Ligne 87: | Ligne 161: | ||
location vm-srv1-on-srvvirt1 vm-srv1 50: srvvirt1 | location vm-srv1-on-srvvirt1 vm-srv1 50: srvvirt1 | ||
location vm-srv1-run-on-connected-srvvirt1 vm-srv1 \ | location vm-srv1-run-on-connected-srvvirt1 vm-srv1 \ | ||
- | rule $id=" | + | rule $id=" |
+ | order ord_libvirtd_vm-srv1 0: clone_libvirtd vm-srv1</ | ||
===== Démarrage, arrêt et migration d'une machine virtuelle ===== | ===== Démarrage, arrêt et migration d'une machine virtuelle ===== | ||
Ligne 132: | Ligne 207: | ||
* Editer la configuration et supprimer les règles de localisation des ressources de type // | * Editer la configuration et supprimer les règles de localisation des ressources de type // | ||
+ | |||
+ | ====== Problème connus ====== | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | o2cb[11515]: | ||
+ | |||
+ | Il semble que vous n'avez pas installer le paquet // | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | Il semble que le service //cktp// fournis par corosync/ | ||
+ | |||
+ | |||
+ | < | ||
+ | ... | ||
+ | lrmd: [26579]: info: RA output: (var_lib_libvirt: | ||
+ | ... | ||
+ | Filesystem[27092]: | ||
+ | Cela peut arriver suite à une migration vers // | ||