Les deux billets précédents ont présenté la mise en place de heartbeat et de DRBD, il reste maintenant à mettre en place un cas opérationnel en prenant comme exemple le serveur de fichier SAMBA.

Installation de Samba

Il s'agit ici de tester la configuration du cluster et non de détailler Samba. La configuration sera donc réduite à sa plus simple expression. L'installation de Samba sous Debian se fait ainsi :

aptitude install samba

A faire sur les deux noeuds du cluster.

Accepter les valeurs par défaut proposées par debconf, un fichier de configuration sera mis en place ensuite.

Une fois Samba installé, il est impératif de d'invalider son lancement automatique au démarrage de la machine. En effet le service samba devra être lancé par heartbeat. Pour supprimer ce lancement automatique, utiliser la commande update-rc.d, mais dans un premier temps arrêter samba.

 
/etc/init.d/samba stop
update-rc.d -f samba remove

Ces opérations doivent être faites sur les 2 noeuds du cluster.

Mettre en place une configuration simple de samba, pour cela sauvegarder le fichier smb.conf et créer un nouveau contenant les lignes suivantes :

cd /etc/samba
mv smb.conf smb.conf.old
vi smb.conf
  
[global]
  workgroup = CLUSTER01
  netbios name = cluster01
  read only = no
  security = share
[commun]
  path = /u01/commun
  public = yes

Il s'agit d'un fichier basique, permettant à tous l'accès à un répertoire commun situé sous /u01 qui est la partition répliquée par drbd. Ici encore cette opération est à effectuer sur les 2 noeuds.

Remarque : la directive netbios name est très importante dans le cas d'un cluster, en effet sinon par défaut samba prend le nom de la machine et selon le noeud actif celui-ci peut être debian01 ou debian02.

Créer le répertoire /u01/commun, uniquement sur le serveur primaire, drbd en fera la réplique sur le serveur secondaire.

  
root@debian01# mkdir /u01/commun
root@debian01# chmod 1777 /u01/commun ( tous peuvent écrire ou lire, mais seul le propriétaire peut effacer )

Il ne reste plus qu'à modifier, toujours sur les 2 noeuds, le fichier haresources

vi /etc/ha.d/haresources
  
debian01 IPaddr2::192.168.1.102 drbddisk::r0 Filesystem::/dev/drbd0::/u01::ext3 samba

Heartbeat utilise les scripts de lancement situés en priorité sous /etc/ha.d/resource.d, puis sous /etc/init.d là où se trouve le script de samba. Pour tester, créer un fichier sous /u01/commun et y mettre un contenu quelconque.

root@debian01# cd /u01/commun
root@debian01# vi fichier1.txt
  
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 

Une fois sauvegardé, redémarrer le serveur principal et vérifier que le fichier est bien répliqué sur le serveur secondaire. Les clients samba accèdent au partage samba via l'adresse IP du cluster ( 192.168.1.102 )