Différences entre les versions de « Kvm Cluster & Lvm & Drdb »
m (a déplacé Kvm Cluster & Lvm vers Kvm Cluster & Lvm & Drdb) |
|||
| Ligne 1 : | Ligne 1 : | ||
KVM est l'hyperviseur libre supporté par RedHat. Il est extrêmement simple et facile d'utilisation. Par rapport à Xen, il n'oblige pas de faire tourner un kernel linux spécifique et | |||
se présente sous la forme de modules kernel. Chaque VM est vu comme un process lambda sur l'hyperviseur et un "ps" permet de voir les VM qui tournent. Par défaut, il n'existe pas de | |||
commande equivalente au "xm" de Xen. Afin d'agir sur les VM KVM, il faut passer par libvirtd qui est un daemon d'abstraction multi-hyperviseur. | |||
=== Présentation === | |||
Voilà les informations niveau serveur / ip / volume de ce tutorial | |||
<pre> | |||
- 2 serveurs : kvm1.ecomobilier.fr & kvm2.ecomobilier.fr | |||
- 2 interfaces en aggrégation avec 2 ip sur le bonding (une par volume) | |||
- Ip kvm1 : 10.250.250.17 & 10.250.250.19 | |||
- Ip kvm2 : 10.250.250.18 & 10.250.250.20 | |||
- On va avoir 2 volumes drdb | |||
- les vm seront créées sur des LV | |||
</pre> | |||
=== Installation === | |||
==== Kvm ==== | |||
<pre> | |||
Kvm est souvent par défaut sur les distributions. Les services suivant doivent être lancés pour que kvm fonctionne : messagebus, libvirtd, libvirt-guests | |||
</pre> | |||
==== Cluster ==== | |||
<pre> | |||
Voilà les packages à installer pour la partie cluster : openais cman rgmanager lvm2-cluster gfs2-utils cluster-cim | |||
</pre> | |||
=== Drbd === | |||
<pre> | |||
On peut l'installer via les packages, mais il est préférable d'installer la dernière version via les sources : | |||
# cd /root/install/ | |||
# cd drbd-8.4.1/ | |||
# ./configure | |||
# make rpm | |||
# make km-rpm | |||
# cd /root/rpmbuild/RPMS/x86_64/ | |||
# rpm -Uvh ./drdb* | |||
</pre> | |||
=== Configuration === | |||
==== drbd.conf === | |||
<pre> | |||
global { | |||
usage-count no; | |||
# minor-count dialog-refresh disable-ip-verification | |||
} | |||
common { | |||
protocol C; | |||
startup { | |||
wfc-timeout 300; | |||
degr-wfc-timeout 10; | |||
become-primary-on both; | |||
} | |||
disk { | |||
on-io-error detach; | |||
fencing dont-care; | |||
} | |||
syncer { | |||
rate 110M; | |||
} | |||
net { | |||
timeout 50; | |||
connect-int 20; | |||
ping-int 30; | |||
allow-two-primaries; | |||
after-sb-0pri discard-zero-changes; | |||
after-sb-1pri discard-secondary; | |||
after-sb-2pri disconnect; | |||
} | |||
} | |||
resource drbd0 { | |||
on kvm1.ecomobilier.fr { | |||
disk /dev/sdb1; | |||
device /dev/drbd0; | |||
meta-disk internal; | |||
address 10.250.250.17:7788; | |||
} | |||
on kvm2.ecomobilier.fr { | |||
disk /dev/sdb1; | |||
device /dev/drbd0; | |||
meta-disk internal; | |||
address 10.250.250.18:7788; | |||
} | |||
syncer { | |||
rate 110M; | |||
} | |||
} | |||
resource drbd1 { | |||
on kvm1.ecomobilier.fr { | |||
disk /dev/sdb2; | |||
device /dev/drbd1; | |||
meta-disk internal; | |||
address 10.250.250.19:7788; | |||
} | |||
on kvm2.ecomobilier.fr { | |||
disk /dev/sdb2; | |||
device /dev/drbd1; | |||
meta-disk internal; | |||
address 10.250.250.20:7788; | |||
} | |||
syncer { | |||
rate 110M; | |||
} | |||
} | |||
</pre> | |||
==== Initialisation et creation des drbd ==== | |||
<pre> | |||
Créer bien sur dans un premier temps 2 partitions sur un disque physique différent du disque system. Ces 2 partitions seront exactement les mêmes sur les 2 serveurs (les 2 partitions | |||
peuvent ne pas avoir la même taille, mais la partition1 de kvm1 aura la meme taille que la partion1 de kvm2, et pareil pour la partition 2) | |||
</pre> | |||
Afin de ne pas avoir de problème de resynchro, il faut créer autant de partition (pour stocker les vm) qu'il y a de noeuds dans le cluster. Ces partitions seront bien sur de tailles | Afin de ne pas avoir de problème de resynchro, il faut créer autant de partition (pour stocker les vm) qu'il y a de noeuds dans le cluster. Ces partitions seront bien sur de tailles | ||
égales sur les différents noeuds | égales sur les différents noeuds | ||
Version du 17 décembre 2012 à 18:55
KVM est l'hyperviseur libre supporté par RedHat. Il est extrêmement simple et facile d'utilisation. Par rapport à Xen, il n'oblige pas de faire tourner un kernel linux spécifique et se présente sous la forme de modules kernel. Chaque VM est vu comme un process lambda sur l'hyperviseur et un "ps" permet de voir les VM qui tournent. Par défaut, il n'existe pas de commande equivalente au "xm" de Xen. Afin d'agir sur les VM KVM, il faut passer par libvirtd qui est un daemon d'abstraction multi-hyperviseur.
Présentation
Voilà les informations niveau serveur / ip / volume de ce tutorial
- 2 serveurs : kvm1.ecomobilier.fr & kvm2.ecomobilier.fr - 2 interfaces en aggrégation avec 2 ip sur le bonding (une par volume) - Ip kvm1 : 10.250.250.17 & 10.250.250.19 - Ip kvm2 : 10.250.250.18 & 10.250.250.20 - On va avoir 2 volumes drdb - les vm seront créées sur des LV
Installation
Kvm
Kvm est souvent par défaut sur les distributions. Les services suivant doivent être lancés pour que kvm fonctionne : messagebus, libvirtd, libvirt-guests
Cluster
Voilà les packages à installer pour la partie cluster : openais cman rgmanager lvm2-cluster gfs2-utils cluster-cim
Drbd
On peut l'installer via les packages, mais il est préférable d'installer la dernière version via les sources : # cd /root/install/ # cd drbd-8.4.1/ # ./configure # make rpm # make km-rpm # cd /root/rpmbuild/RPMS/x86_64/ # rpm -Uvh ./drdb*
Configuration
= drbd.conf
global {
usage-count no;
# minor-count dialog-refresh disable-ip-verification
}
common {
protocol C;
startup {
wfc-timeout 300;
degr-wfc-timeout 10;
become-primary-on both;
}
disk {
on-io-error detach;
fencing dont-care;
}
syncer {
rate 110M;
}
net {
timeout 50;
connect-int 20;
ping-int 30;
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
}
}
resource drbd0 {
on kvm1.ecomobilier.fr {
disk /dev/sdb1;
device /dev/drbd0;
meta-disk internal;
address 10.250.250.17:7788;
}
on kvm2.ecomobilier.fr {
disk /dev/sdb1;
device /dev/drbd0;
meta-disk internal;
address 10.250.250.18:7788;
}
syncer {
rate 110M;
}
}
resource drbd1 {
on kvm1.ecomobilier.fr {
disk /dev/sdb2;
device /dev/drbd1;
meta-disk internal;
address 10.250.250.19:7788;
}
on kvm2.ecomobilier.fr {
disk /dev/sdb2;
device /dev/drbd1;
meta-disk internal;
address 10.250.250.20:7788;
}
syncer {
rate 110M;
}
}
Initialisation et creation des drbd
Créer bien sur dans un premier temps 2 partitions sur un disque physique différent du disque system. Ces 2 partitions seront exactement les mêmes sur les 2 serveurs (les 2 partitions peuvent ne pas avoir la même taille, mais la partition1 de kvm1 aura la meme taille que la partion1 de kvm2, et pareil pour la partition 2)
Afin de ne pas avoir de problème de resynchro, il faut créer autant de partition (pour stocker les vm) qu'il y a de noeuds dans le cluster. Ces partitions seront bien sur de tailles égales sur les différents noeuds