Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
tutoriel:comment_configurer_samba_et_heartbeat [Le 13/02/2007, 13:03] ostaquet Déplacée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>hoary breezy dapper serveur cluster haute-disponibilite tutoriel}} | ||
- | ---- | ||
- | |||
- | ====== Comment configurer Samba et Heartbeat pour avoir un serveur de fichiers haute disponibilité ? ====== | ||
- | |||
- | |||
- | |||
- | ===== Introduction ===== | ||
- | |||
- | Cette page est une annexe des pages suivantes : | ||
- | * [[:drbd|RAID-1 over IP]] | ||
- | * [[:heartbeat|Comment pouvoir assurer la disponibilité d'un service avec HeartBeat ?]] | ||
- | |||
- | Ce document couvre les aspects de configuration d'un service Samba qui doit partager un [[:drbd|disque mirroré avec DRBD]] afin d'assurer la disponibilité des fichiers pour un parc de machines Windows. | ||
- | |||
- | Ce document considère que vous avez déjà configurer DRBD et HeartBeat de la même manière que celle reprise dans les deux articles ci-dessus. | ||
- | |||
- | **Remarque importante :** La configuration d'un contrôleur de domaine pour vérifier les mots de passe et les utilisateurs Samba ou la configuration d'un service de type NIS pour les utilisateurs n'entre pas dans le cadre de cet article. | ||
- | |||
- | ===== Installation de Samba ===== | ||
- | |||
- | Pour installer le service Samba, je vous renvoie vers [[:samba|cette page]]. | ||
- | |||
- | Vous devez installer le service Samba sur les deux machines du cluster (dans mon cas, à savoir Twin 1 et Twin 2). | ||
- | |||
- | ===== Configuration des comptes utilisateurs ===== | ||
- | |||
- | Les comptes utilisateurs doivent être parfaitement identiques sur les deux machines. Pour ce faire, j'ai choisi de copier simplement le fichier ''passwd'' et ''group'' d'une machine sur l'autre. | ||
- | |||
- | Sur Twin 1, j'ajoutes les utilisateurs qui vont utiliser le service Samba et je les places dans un même groupe. Vous pouvez suivre [[:gestion_compte|cette page]] pour savoir comment faire. | ||
- | |||
- | Une fois les comptes utilisateurs et les groupes créés, il vous suffit de les copier sur Twin 2. Il s'agit des fichiers : | ||
- | <code> | ||
- | /etc/passwd | ||
- | /etc/group | ||
- | </code> | ||
- | |||
- | ===== Configuration de Samba ===== | ||
- | |||
- | Afin d'éviter tout conflit entre les ressources, nous allons arrêter tout les services de haute disponibilité sur les deux machines. | ||
- | |||
- | Pour ce faire, nous exécutons la commande suivante (d'abord, sur l'esclave et ensuite sur le maitre) : | ||
- | |||
- | <code> | ||
- | sudo /etc/init.d/heartbeat stop | ||
- | </code> | ||
- | |||
- | La configuration de Samba est relativement aisée, il nous suffit d'indiquer les différents partages dans le fichier ''smb.conf''. Dans notre cas, le partage qui nous intéresse est ''/srv/prod'' qui est notre périphérique mirroré. Voici les lignes que j'utilise pour définir mon partage : | ||
- | |||
- | <code> | ||
- | [prod] | ||
- | comment = Disque de production (fot & pad) | ||
- | path = /srv/prod | ||
- | valid users = +fotpad | ||
- | write list = +fotpad | ||
- | force group = fotpad | ||
- | read only = No | ||
- | create mask = 0660 | ||
- | directory mask = 0770 | ||
- | </code> | ||
- | |||
- | Le groupe d'utilisateur dont je parlais tout à l'heure (section //Configuration des comptes utilisateurs// est ''fotpad''. | ||
- | |||
- | L'autre aspect important de la configuration de Samba est le //Netbios Name//; en effet, c'est par celui-ci que les clients Windows accèderont à la machine. | ||
- | |||
- | Cependant, le disque se trouve sur deux machines (disque mirroré) et idéalement, les clients Windows ne doivent pas voir sur quel machine ils sont connectés. | ||
- | |||
- | Donc, on définit un même //Netbios Name// pour les deux serveurs de notre cluster. Dans mon exemple, j'ai nommé le cluster //Twin_cluster// et le paramètre ''netbios name'' est définit dans Samba comme ceci : | ||
- | |||
- | <code> | ||
- | netbios name = TWIN_CLUSTER | ||
- | </code> | ||
- | |||
- | Nous en avons presque fini avec la configuration, nous devons maintenant la copier sur Twin2, il s'agit du fichier de configuration : | ||
- | |||
- | <code> | ||
- | /etc/samba/smb.conf | ||
- | </code> | ||
- | |||
- | La dernière étape de configuration de Samba est la création des utilisateurs. Pour ce faire, on exécutes sur les deux machines (Twin 1 et Twin 2) la commande suivante : | ||
- | |||
- | <code> | ||
- | sudo smbpasswd -a #username# | ||
- | </code> | ||
- | |||
- | Pour chacun des utilisateurs du groupe qui accèdera au partage Samba. | ||
- | |||
- | **Il serait beaucoup plus intelligent d'avoir un système de centralisation des mots de passe et des noms d'utilisateurs mais ceci n'entre pas dans le cadre de cet article.** | ||
- | |||
- | ===== Préparation de la haute disponibilité ===== | ||
- | |||
- | Stoppez le service Samba sur chacun des serveurs via la commande suivante : | ||
- | |||
- | <code> | ||
- | sudo /etc/init.d/samba stop | ||
- | </code> | ||
- | |||
- | Editez-le fichier ''/etc/ha.d/haresources'' pour qu'il ressemble à ceci (n'oubliez pas que je me base sur une installation sur les //Twin servers//) : | ||
- | |||
- | <code> | ||
- | twin1 IPaddr::192.168.252.205 drbddisk::drbd0 Filesystem::/dev/drbd0::/srv/prod::ext3 samba | ||
- | </code> | ||
- | |||
- | Ce fichier ''haresources'' doit être identique sur les deux serveurs. | ||
- | |||
- | Enfin, nous devons supprimer le démarrage automatique du service Samba et laisser HeartBeat s'en occuper. Pour ce faire, nous introduisons la commande suivante sur les deux serveurs : | ||
- | |||
- | <code> | ||
- | sudo rm -f /etc/rc?.d/???samba | ||
- | </code> | ||
- | |||
- | ===== Activation du cluster ===== | ||
- | |||
- | Maintenant, il ne nous reste plus qu'à réactiver le cluster en introduisant la commande suivante (d'abord sur le maître et ensuite sur l'esclave) : | ||
- | |||
- | <code> | ||
- | sudo /etc/init.d/heartbeat start | ||
- | </code> | ||
- | |||
- | Vous pouvez maintenant avoir accès à vos données mirrorées au travers de Samba sans que les clients Windows s'en aperçoivent. | ||
- | |||
- | //Remarque : // Les clients Windows accèderont au partage soit via le nom Netbios (ici, ''twin_cluster'') ou via l'adresse IP du cluster (ici, ''192.168.252.205''). Si vous attaquez directement un des deux serveurs (un node), le basculement automatique ne fonctionnera pas. | ||
- | |||
- | ---- | ||
- | |||
- | // Contributeur : [[utilisateurs:ostaquet]] // |