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:29] MrWaloo Installations |
— (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. | ||
- | |||
- | ''drbd'' est constitué d'un module du noyau et d'outils de gestion. | ||
- | |||
- | ===== 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 à respecter concerne surtout ''drbd'' qui doit être installé après ''heartbeat''. | ||
- | |||
- | ==== 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> | ||
- | |||
- | ==== heartbeat ==== | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] heartbeat. | ||
- | |||
- | ==== drbd ==== | ||
- | <note>Le module ''drbd'' est disponible avec le noyau ''server'' "de base" depuis Hardy Heron((à vrai dire je ne sais pas si c'était déjà le cas pour les versions précédentes)). Cependant, afin d'avoir un système récent avec un minimum de bug et de faille de sécurité, on passera au noyau ''server'' le plus récent.</note> | ||
- | |||
- | Mise à jour du système : | ||
- | * [[http://doc.ubuntu-fr.org/apt-get#mise_a_jour_depots|Mise à jour des dépots]] | ||
- | * [[http://doc.ubuntu-fr.org/apt-get#mise_a_jour_paquets|Mise à jour des paquets]] (dist-upgrade) | ||
- | Passer à la version du noyau la plus récente. Redémarrer. | ||
- | |||
- | Vérification de la présence du module ''drbd'' : | ||
- | <code>cat /proc/drbd</code> | ||
- | <file>cat: /proc/drbd: Aucun fichier ou répertoire de ce type</file> | ||
- | <code>modprobe drbd | ||
- | cat /proc/drbd</code> | ||
- | <file>version: 8.2.6 (api:88/proto:86-88) | ||
- | GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by phil@fat-tyre, 2008-05-30 12:59:17</file> | ||
- | Sous Hardy Heron, la version du module et des outils est la 8.0.11. | ||
- | |||
- | [[http://doc.ubuntu-fr.org/apt-get#installation|Installation]] de ''drbd8-utils'' version **idem à la version du module** sans quoi le fonctionnement correct n'est pas garanti.\\ | ||
- | Un paquet suggéré : ''heartbeat'' : tout le monde est sur la même longueur d'onde... | ||
- | |||
- | <note important>Il faut que le service ''drbd'' démarre, sinon le script de démarrage de ''drbd'' lancé par ''heartbeat'' ne fonctionne pas. Il faut donc lancer la commande : | ||
- | <code>update-rc.d drbd defaults 70</code> | ||
- | ou simplement copier le lien qui se trouve dans **/etc/rc3.d** vers **/etc/rc2.d** si ça ne fonctionne pas.</note> | ||
- | |||
- | Finalisation pour faire en sorte que les outils ''heartbeat'' fonctionnent :((à faire après l'installation de heartbeat, évidemment)) | ||
- | <code>chgrp haclient /sbin/drbdsetup | ||
- | chmod o-x /sbin/drbdsetup | ||
- | chmod u+s /sbin/drbdsetup | ||
- | |||
- | chgrp haclient /sbin/drbdmeta | ||
- | chmod o-x /sbin/drbdmeta | ||
- | chmod u+s /sbin/drbdmeta</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) | ||
- | |||
- | ---- | ||