opensuse:drdb
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | opensuse:drdb [2018/11/17 12:53] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Cluster Web sur OpenSuSE 11.0/3 ====== | ||
+ | |||
+ | |||
+ | ===== pré-requis ===== | ||
+ | |||
+ | |||
+ | Cette documentation est faite sur la base d'un cluster en test pour faire un serveur de média | ||
+ | sur des machines HP DL380 G6, 12 Go de Ram, 2 To en Raid 5 (1,3 To effectif).\\ | ||
+ | |||
+ | OpenSuSE 11.0 doit être installé en mode texte avec une partition pour le point de montage /srv \\ | ||
+ | La configuration d' | ||
+ | |||
+ | Si ce n'est pas précisé, toutes les manipulations sont à faire sur les deux serveurs.\\ | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | ===== DRBD ===== | ||
+ | |||
+ | |||
+ | Installation de drbd :\\ | ||
+ | |||
+ | Pour l' | ||
+ | drbd-8.2.6-0.1\\ | ||
+ | drbd-kmp-default-8.2.6_2.6.25.9_0.2-0.1\\ | ||
+ | |||
+ | Vous pouvez aussi installer l' | ||
+ | yast2-drbd-2.13.1-158.1\\ | ||
+ | |||
+ | ===== Modules du Kernel ===== | ||
+ | |||
+ | |||
+ | Tout d' | ||
+ | |||
+ | ''# | ||
+ | |||
+ | Pour vérifier qu'il est bien monté : | ||
+ | |||
+ | ''# | ||
+ | |||
+ | Il doit vous répondre un truc du genre :\\ | ||
+ | '' | ||
+ | drbd 248344 | ||
+ | |||
+ | Pour le faire monter au boot de la machine, éditer le fichier / | ||
+ | '' | ||
+ | |||
+ | A partir du moment ou le module est monté, vous pouvez taper cette commande pour avoir des informations : | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | ===== Configuration de drbd ===== | ||
+ | |||
+ | |||
+ | Nous partons de l' | ||
+ | « documentroot » d' | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | pour cela le fichier de configuration suivant a été créé : | ||
+ | |||
+ | # | ||
+ | # please have a a look at the example configuration file in | ||
+ | # / | ||
+ | # | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | net { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | on media1 { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | on media2 { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | La section global est surtout faite pour les statistiques du projet drbd consultable sur http:// | ||
+ | |||
+ | Si vous ne voulez pas y participer, il faut mettre l' | ||
+ | |||
+ | Dans la section common vous pouvez mettre les options globales pour toutes les différentes ressources à répliquer : | ||
+ | |||
+ | L' | ||
+ | |||
+ | La section ressources définit ce que l'on veut répliquer. | ||
+ | |||
+ | Le « r0 » definit le nom de la ressource. | ||
+ | |||
+ | « Protocol C » définit le type de réplication (le C étant le plus robuste et le plus sécurisé). Pour plus de détails sur les protocoles voir l' | ||
+ | http:// | ||
+ | |||
+ | Le device représente le disque drbd virtuel, ici drbd1. | ||
+ | |||
+ | Le disk est la partition physique. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Le meta-disk lo po bien compris. | ||
+ | |||
+ | Ce fichier de conf doit être identique sur les deux serveurs. | ||
+ | |||
+ | Une fois cela fait, lancer sur les deux serveurs en même temps : | ||
+ | |||
+ | ''#/ | ||
+ | |||
+ | Il doit vous renvoyer un truc comme cela : | ||
+ | |||
+ | '' | ||
+ | |||
+ | Il doit vous dire cela sur les deux serveurs. | ||
+ | |||
+ | Une fois cela fait, taper la commande suivante : | ||
+ | |||
+ | ''# | ||
+ | |||
+ | | ||
+ | | ||
+ | 0: cs: | ||
+ | ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 oos: | ||
+ | |||
+ | En gros ils se voient bien mais ne se répliquent pas. | ||
+ | Il faut donc lui dire de lancer la réplication. Pour ce faire, taper la commande : | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | Cette commande définit le primaire par rapport au secondaire. Elle est à lancer sur le serveur choisi comme primaire. | ||
+ | |||
+ | Une fois cette commande lancée, on peut refaire un //cat / | ||
+ | |||
+ | version: 8.2.6 (api: | ||
+ | GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by phil@fat-tyre, | ||
+ | 0: cs: | ||
+ | ns:2240 nr:0 dw:0 dr:2240 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 oos: | ||
+ | | ||
+ | finish: 17:15:38 speed: 83,2 (83,2) K/sec | ||
+ | | ||
+ | Avec une jolie barre de progression. On voit aussi que l' | ||
+ | |||
+ | Une fois la synchronisation terminée, on se retrouve avec ça : | ||
+ | |||
+ | media1:~ # cat /proc/drbd | ||
+ | version: 8.2.6 (api: | ||
+ | GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by phil@fat-tyre, | ||
+ | 1: cs: | ||
+ | ns:8776952 nr:228 dw:8777180 dr:2427564 al:5229 bm:49 lo:0 pe:0 ua:0 ap:0 oos:0 | ||
+ | media1:~ # | ||
+ | | ||
+ | Il n'y a plus qu'à formater la partition : | ||
+ | |||
+ | ''# | ||
+ | |||
+ | Puis à monter la partition par la commande | ||
+ | |||
+ | ''# | ||
+ | |||
+ | | ||
+ | |||
+ | ''# | ||
+ | #mkdir www\\ | ||
+ | #mkdir www/ | ||
+ | #chown -R wwwrun:www www'' | ||
+ | |||
+ | Une fois cela fait, démonter la partition. | ||
+ | |||
+ | ''# | ||
+ | |||
+ | Voilà : La conf de drbd est terminée. On peut passer à Heartbeat. | ||
+ | |||
+ | |||
+ | ===== HEARTBEAT ===== | ||
+ | |||
+ | ===== pré-requis ===== | ||
+ | |||
+ | |||
+ | Citations de http:// | ||
+ | |||
+ | « Heartbeat gère la haute disponibilité de services qui peuvent être fournis par plusieurs serveurs (2 au minimum). Pour ce faire, chacun des serveurs est surveillé via un battement de cœur (heartbeat) diffusé sur le réseau. Au départ les services sont démarrés sur l'un des serveurs, et si celui-ci n' | ||
+ | |||
+ | Le cas qui est certainement le plus répandu est la mise en place de Heartbeat sur deux serveurs, ce qui est le cas dans ce tutoriel. » | ||
+ | |||
+ | ===== installation de heartbeat ===== | ||
+ | |||
+ | Via Yast les package à installer sont :\\ | ||
+ | |||
+ | heartbeat-core-2.1.3-19.1\\ | ||
+ | heartbeat-resources-2.1.3-19.1\\ | ||
+ | heartbeat-2.1.3-19.1\\ | ||
+ | heartbeat-ldirectord-2.1.3-19.1\\ | ||
+ | |||
+ | ===== Configuration de Heartbeat ===== | ||
+ | |||
+ | |||
+ | Heartbeat a besoin d'au moins trois fichiers pour tourner :\\ | ||
+ | |||
+ | haresources\\ | ||
+ | ha.cf\\ | ||
+ | authkeys\\ | ||
+ | |||
+ | ==== Uniquement pour Heartbeat2 Suse 11.3 ==== | ||
+ | |||
+ | |||
+ | |||
+ | Il faut rajouter les deux lignes du kernel à la fin du fichier **" | ||
+ | |||
+ | Dans : "/ | ||
+ | |||
+ | # Disable response to broadcasts. | ||
+ | # You don't want yourself becoming a Smurf amplifier. | ||
+ | | ||
+ | # enable route verification on all interfaces | ||
+ | | ||
+ | # disable IPv6 completely | ||
+ | # net.ipv6.conf.all.disable_ipv6 = 1 | ||
+ | # enable IPv6 forwarding | ||
+ | # | ||
+ | # increase the number of possible inotify(7) watches | ||
+ | | ||
+ | # avoid deleting secondary IPs on deleting the primary IP | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | ==== configuration authkeys ==== | ||
+ | |||
+ | dans / | ||
+ | la liaison est un câble réseau croisé. Une authentification md5 est la plus sécurisée : | ||
+ | |||
+ | # vi / | ||
+ | auth 3 | ||
+ | #1 crc | ||
+ | #2 sha1 HI! | ||
+ | 3 md5 Hello! | ||
+ | |||
+ | Il faut faire ensuite un chmod du fichier suivant pour les permissions : | ||
+ | |||
+ | chmod 600 / | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Fichier / | ||
+ | |||
+ | ce fichier définit les ressources à partager entre les deux nœuds du cluster : | ||
+ | Voici la ligne a rajouter en bas du fichier : | ||
+ | |||
+ | '' | ||
+ | |||
+ | sachant que: | ||
+ | |||
+ | media1 est le noeud « principal » | ||
+ | |||
+ | Ipaddr:: | ||
+ | |||
+ | drbddisk:: | ||
+ | |||
+ | Filesystem::/ | ||
+ | |||
+ | Puis lancement d' | ||
+ | |||
+ | ==== Fichier / | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | ucast bond0 192.168.202.181 | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Avec : | ||
+ | |||
+ | logfile qui définit le fichier de log.\\ | ||
+ | |||
+ | logfacility qui définit le niveau de log. | ||
+ | |||
+ | ucast définit par quel interface « les battements de cœur » se font ainsi que l' | ||
+ | |||
+ | L'auto failback est à off pour éviter qu'une fois basculé il ne re-bascule pas sur un maitre tout neuf sans notre permission. | ||
+ | |||
+ | Et l' | ||
+ | |||
+ | |||
+ | ===== POST INSTALLATION ===== | ||
+ | |||
+ | |||
+ | Lancer Yast, aller dans système -> runlevel editor et lui faire lancer drbd et heartbeat au boot | ||
+ | |||
+ | Redémarrer le tout et vous devriez avoir accès à votre serveur web via l' | ||
+ | |||
+ | Si jamais cela ne fonctionne pas, regarder dans le / | ||
+ | |||
+ | ===== ANNEXES ===== | ||
+ | |||
+ | **drbd**\\ | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | **hertbeat**\\ | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
opensuse/drdb.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1