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 | ||
utilisateurs:mrwaloo:introduction [Le 30/01/2009, 22:21] MrWaloo |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Mirroring sur deux serveurs : Introduction ====== | ||
- | |||
- | ===== Introduction ===== | ||
- | <note>Ce tutoriel est destiné à un **public averti**, certains détails //triviaux// ne sont pas détaillés...((je me répète ?))\\ | ||
- | Toutes les commandes sont lancées avec l'utilisateur ''**root**''.</note> | ||
- | |||
- | À l'heure où les serveurs d'entreprises doivent stocker un volume croissant de données et assurer une haute disponibilité, il est nécessaire d'imaginer des systèmes de //mirroring// (miroir) autres que simplement sur des disques durs. | ||
- | |||
- | La redondance de disques durs (RAID-1, RAID-5) permet déjà d'avoir une bonne résistance aux pannes d'un disque (ou plusieurs si on est en RAID-5). Cependant, si c'est la machine qui //tombe// (le processeur, l'alimentation, le contrôleur de disque, etc.), on n'a aucun moyen pour relancer le tout rapidement sans perte de données. | ||
- | |||
- | ''drbd'' permet de mettre en œuvre une solution de RAID-1 au travers du réseau. C'est-à-dire que sur deux serveurs, on a une partition ((qui peut être sur un ''lvm'' ou sur un raid physique ou logiciel)) par serveur qui est à tout moment une copie exacte d'une partition de l'autre serveur. C'est un //mirroring// (miroir) de partitions à travers une interface réseau. | ||
- | |||
- | C'est une solution qui permet également d'utiliser deux PC au lieu d'un serveur afin de **faire des économies**, aussi bien pour l'achat initial que pour l'achat de disques supplémentaires (en remplacement ou en ajout) par la suite. Dans la mesure où ce //cluster// est utilisé pour un partage ''samba'', ce type de matériel est tout à fait convenable pour une utilisation avec jusqu'à une vingtaine de clients. | ||
- | |||
- | ===== Présentation des outils utilisés ===== | ||
- | Ce tutoriel met en œuvre certains outils qu'il faut rapidement présenter.\\ | ||
- | Des termes importants sont utilisés : | ||
- | * serveur | ||
- | * service | ||
- | * haute disponibilité | ||
- | * client | ||
- | Ces termes ne sont pas détaillés dans ce tutoriel, je fais appel à votre curiosité pour trouver leur définition. | ||
- | |||
- | ==== samba ==== | ||
- | ''samba'' est l'outil qui permet à un ordinateur sur lequel une distribution GNU/Linux ou Unix est installée //d'apparaître// sur le réseau et de partager des fichiers et des imprimantes comme le ferait un ordinateur avec Windows©.\\ | ||
- | C'est LA solution logicielle pour faire d'un serveur GNU/Linux un serveur de fichiers (et d'imprimantes) pour des clients sous Windows©, puisqu'elle est simple d'utilisation pour les clients. | ||
- | |||
- | ==== heartbeat ==== | ||
- | ''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'émet plus de battement de cœur((c'est qu'il est mort !)), un autre serveur prend la relève. | ||
- | |||
- | 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. | ||
- | |||
- | ==== drbd ==== | ||
- | ''drbd'' permet de synchroniser //en temps réel//((allez voir les détails sur le [[http://www.drbd.org/users-guide-emb/users-guide.html|site]])) des données entre deux ordinateurs. | ||
- | |||
- | ===== Postulat de départ ===== | ||
- | * Les deux serveurs : | ||
- | * ''serv1'' avec adresse IP 192.168.214.10 : serveur primaire | ||
- | * ''serv2'' avec adresse IP 192.168.214.11 : serveur secondaire | ||
- | * sur chacun des deux serveurs, la partition **/dev/sda6** est celle que ''drbd'' duplique. Il s'agit d'une partition **non-formatée**.((si vous ne pouvez pas faire autrement que de réutiliser une partition ayant été formatée et ayant contenu des données, il faudra utiliser la commande __''shred -zvf -n 1 /dev/sda6''__ afin de //vider// (remplir avec des zéros) la partition. Attention, l'opération peut prendre du temps, mais elle peut être stoppée après les 10 premiers pourcents ([CTRL]+[C]).)) Toutes les données de cette partition seront perdues. | ||
- | * l'adresse mail de l'administrateur à contacter((en supposant que les deux serveurs sachent envoyer un mail (avec ''ssmtp'' par exemple) )) est ''admin@domain.fr''((à personnaliser)). | ||
- | |||
- | ===== Installation ===== | ||
- | L'ordre d'installation des outils n'est pas très important. C'est pour leur configuration que la chronologie est importante. | ||
- | ==== samba ==== | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] ''samba''. | ||
- | |||
- | Dans l'optique d'une gestion de ''samba'' avec ''heartbeat'', il faut laisser le soin à ''heartbeat'' de démarrer ''samba'', il faut donc faire en sorte que ''samba'' ne soit pas lancé au démarrage : | ||
- | <code>update-rc.d -f samba remove</code> | ||
- | |||
- | ===== Fichiers importants ===== | ||
- | Il est vivement conseillé de créer des partages NFS entre les deux serveurs afin de synchroniser les fichiers de configuration via un script. | ||
- | |||
- | ==== Fichiers à synchroniser entre les deux serveurs ==== | ||
- | Système : | ||
- | * /etc/resolv.conf | ||
- | * /etc/group | ||
- | * /etc/passwd | ||
- | * /etc/shadow | ||
- | * /etc/gshadow | ||
- | |||
- | Pour ''drbd'' : | ||
- | * /etc/drbd.conf | ||
- | |||
- | Pour ''samba'' : | ||
- | * /etc/samba/smb.conf | ||
- | * /var/lib/samba/account_policy.tdb | ||
- | * /var/lib/samba/group_mapping.ldb | ||
- | * /var/lib/samba/ntdrivers.tdb | ||
- | * /var/lib/samba/ntforms.tdb | ||
- | * /var/lib/samba/passdb.tdb | ||
- | * /var/lib/samba/secrets.tdb | ||
- | |||
- | Pour ''heartbeat'' : | ||
- | * /etc/ha.d/ha.cf | ||
- | * /etc/ha.d/authkeys | ||
- | * /etc/ha.d/haresources | ||
- | |||
- | === Et éventuellement aussi... === | ||
- | Si vous utilisez les mêmes outils que moi pour la gestion des serveurs... | ||
- | |||
- | Pour ''mail'' (ssmtp) : | ||
- | * /etc/ssmtp/revaliases | ||
- | * /etc/ssmtp/ssmtp.conf | ||
- | |||
- | Pour ''smcroute'' : | ||
- | * /etc/smcroute/startup.sh | ||
- | |||
- | Pour ''NFS'' : | ||
- | * /etc/exports | ||
- | * /etc/hosts.deny | ||
- | * /etc/hosts.allow | ||
- | |||
- | ==== Fichiers à personnaliser sur les deux serveurs ==== | ||
- | Système : | ||
- | * /etc/hostname | ||
- | * /etc/hosts | ||
- | * /etc/netwok/interfaces | ||
- | * /etc/fstab | ||
- | |||
- | ==== Fichiers à personnaliser après un clonage ==== | ||
- | Si vous avez opté pour le clonage d'un serveur vers l'autre (attention à ''drbd''), vous devrez personnaliser ces fichiers sur chaque serveur : | ||
- | * /var/lib/heartbeat/hb_uuid (supprimer ce fichier sur l'un des 2 serveurs après clonage, il sera généré au prochain démarrage de heartbeat) | ||
- | * /etc/udev/rules.d/70-persistent-net.rules (pour faire en sorte que l'interface Ethernet eth0 soit utilisable) | ||
- | |||
- | ---- | ||