Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment configurer Samba et Heartbeat pour avoir un serveur de fichiers haute disponibilité ?

Cette page est une annexe des pages suivantes :

Ce document couvre les aspects de configuration d'un service Samba qui doit partager un 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.

Pour installer le service Samba, je vous renvoie vers cette page.

Vous devez installer le service Samba sur les deux machines du cluster (dans mon cas, à savoir Twin 1 et Twin 2).

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'ajoute les utilisateurs qui vont utiliser le service Samba et je les place dans un même groupe. Vous pouvez suivre 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 :

/etc/passwd
/etc/group

Afin d'éviter tout conflit entre les ressources, nous allons arrêter tous 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) :

sudo /etc/init.d/heartbeat stop

La configuration de Samba est relativement aisée, il nous suffit d'indiquer les différents partages dans le fichier /etc/samba/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 :

[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

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 quelle 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éfini dans Samba comme ceci :

       netbios name = TWIN_CLUSTER

Nous en avons presque fini avec la configuration, nous devons maintenant la copier sur Twin2, il s'agit du fichier de configuration :

/etc/samba/smb.conf

La dernière étape de configuration de Samba est la création des utilisateurs. Pour ce faire, on exécute sur les deux machines (Twin 1 et Twin 2) la commande suivante :

sudo smbpasswd -a #username#

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.

Stoppez le service Samba sur chacun des serveurs via la commande suivante :

sudo /etc/init.d/samba stop

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) :

twin1 IPaddr::192.168.252.205 drbddisk::drbd0 Filesystem::/dev/drbd0::/srv/prod::ext3 samba

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 :

sudo rm -f /etc/rc?.d/???samba

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) :

sudo /etc/init.d/heartbeat start

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 : ostaquet

  • tutoriel/comment_configurer_samba_et_heartbeat.1180595413.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)