tuto:nas_san:openfiler_ha

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tuto:nas_san:openfiler_ha [24/05/2010 15:49]
dani
tuto:nas_san:openfiler_ha [13/07/2012 10:35] (Version actuelle)
dani Page moved from openfiler_ha to tuto:nas_san:openfiler_ha
Ligne 1: Ligne 1:
 ====== Mise en place d'un cluster OpenFiler ====== ====== Mise en place d'un cluster OpenFiler ======
 +
 +FIXME: aux dernières nouvelles, ça ne fonctionne malheureusement pas. Il faudra probablement attendre OpenFiler 3.0
  
 Le but de ce how-to est la mise en place d'un cluster haute disponibilité composé de deux machines sous OpenFiler, qui pourra être utilisé pour du NAS (nfs, smb, ftp, http), ou du NAS (iSCSI). Le but de ce how-to est la mise en place d'un cluster haute disponibilité composé de deux machines sous OpenFiler, qui pourra être utilisé pour du NAS (nfs, smb, ftp, http), ou du NAS (iSCSI).
Ligne 165: Ligne 167:
  on ofha1 {  on ofha1 {
   device /dev/drbd1;   device /dev/drbd1;
-  disk /dev/hdb1;+  disk /dev/hdb;
   address 192.168.101.11:7789;   address 192.168.101.11:7789;
   meta-disk internal;   meta-disk internal;
Ligne 172: Ligne 174:
  on ofha2 {  on ofha2 {
   device /dev/drbd1;   device /dev/drbd1;
-  disk /dev/hdb1;+  disk /dev/hdb;
   address 192.168.101.12:7789;   address 192.168.101.12:7789;
   meta-disk internal;   meta-disk internal;
Ligne 179: Ligne 181:
 </code> </code>
  
-**ATTENTION**: il faut évidemment adapter /dev/hda2 et /dev/hdb1 respectivement à la partition créé lors de l'install /meta, et au volume de stockage.+**ATTENTION**: il faut évidemment adapter /dev/hda2 et /dev/hdb respectivement à la partition créé lors de l'install /meta, et au volume de stockage.
  
 Maintenant, sur les deux noeuds, on démonte /meta, on ré-initialise le début de la partition (pour détruire le FS ext3): Maintenant, sur les deux noeuds, on démonte /meta, on ré-initialise le début de la partition (pour détruire le FS ext3):
Ligne 195: Ligne 197:
 </code> </code>
  
-Et on re-fait la même opération sur ofha2+Et on re-fait la même opération sur ofha2
 + 
 +On en profite également pour supprimer la ligne concernant le système de fichier /meta de /etc/fstab 
 + 
 +Il faut maintenant lancer le service drbd sur les deux noeuds: 
 +<code> 
 +/etc/init.d/drbd start 
 +</code> 
 + 
 +Puis on configure ofha1 comme étant le noeud primaire 
 +<code> 
 +drbdsetup /dev/drbd0 primary -o 
 +drbdsetup /dev/drbd1 primary -o 
 +</code> 
 + 
 +On peut ensuite surveiller l'avancement de la synchronisation initiale avec: 
 +<code> 
 +/etc/init.d/drbd status 
 +</code> 
 + 
 +Si tout est OK jusque là, on peut maintenant activer le démarrage automatique de DRBD au démarrage des nœuds: 
 +<code> 
 +chkconfig --level 2345 drbd on 
 +</code> 
 +(à faire sur les deux nœuds) 
 + 
 +===== Configuration du volume metadata ===== 
 +Le volume metadata (/dev/drbd0) doit maintenant être formaté. 
 + 
 +<code> 
 +mkfs.ext3 /dev/drbd0 
 +</code> 
 +**ATTENTION**: il ne faut créer le système de fichier que sur le nœud maître (ofha1). DRBD s'occupera de répliquer tout ça sur le second nœud. 
 + 
 +===== Configuration du volume de donnée ===== 
 +Le volume de donnée (/dev/drbd1) sera configuré pour être utilisé via LVM. La première chose à faire est de configurer LVM pour ignorer les périphériques réelles (/dev/hdb). Il ne devra travailler qu'avec les volumes au dessus de DRBD. Il faut donc éditer le fichier /etc/lvm/lvm.conf. Dans ce fichier, il faut changer la ligne: 
 +<code> 
 +filter = [ "a/.*/"
 +</code> 
 +par 
 +<code> 
 +filter = [ "r|/dev/hdb|"
 +</code> 
 + 
 +On peut maintenant créer le volume physique (sur ofha1): 
 +<code> 
 +pvcreate /dev/drbd1 
 +</code> 
 + 
 +FIXME: il semble y avoir un bug dans la version actuelle d'OpenFiler. Il faut peut-être faire un rollback (merci conary) pour que tout fonctionne: 
 +<code> 
 +conary rollback r.66 
 +</code> 
 + 
 +===== Configuration de heartbeat ===== 
 +Heartbeat permettra à chacun des noeuds de vérifier que l'autre est toujours actif, et de lancer certaines action dans le cas contraire. 
 + 
 +La première chose à faire et d'éditer le fichier /etc/ha.d/authkeys et de rajouter les lignes suivantes (à faire sur ofha1 et ofha2): 
 +<code> 
 +auth 2 
 +2 sha1 mon_secret_hyper_prive 
 +</code> 
 +Puis restreindre les permissions sur ce fichier: 
 +<code> 
 +chmod 600 /etc/ha.d/authkeys 
 +</code> 
 +(à faire sur les deux nœuds) 
 + 
 +Maintenant, il faut créer le ficheir de configuration principal de heartbeat: 
 +<code> 
 +vim /etc/ha.d/ha.cf 
 +</code> 
 +Puis y placer ces lignes: 
 +<code> 
 +debugfile /var/log/ha-debug 
 +logfile /var/log/ha-log 
 +logfacility local0 
 +bcast eth1 
 +keepalive 5 
 +warntime 10 
 +deadtime 120 
 +initdead 120 
 +udpport 694 
 +auto_failback off 
 +node ofha1 
 +node ofha2 
 +</code> 
 +(à faire sur les deux nœuds, la configuration est identique, comme pour drbd) 
 + 
 +On configure maintenant heartbeat pour démarrer automatiquement: 
 +<code> 
 +chkconfig --level 2345 heartbeat on 
 +</code> 
 +(à faire sur les deux nœuds) 
 + 
 +===== Synchronisation de la configuration ===== 
 +Comme expliqué plus haut, un volume metadata à été créé. Il sera utilisé pour stocker la configuration de certains services qui a besoin d'être commun aux deux nœuds.  
 + 
 +Sur ofha1: 
 +<code> 
 +mkdir /cluster_metadata 
 +mount /dev/drbd0 /cluster_metadata 
 +mv /opt/openfiler/ /opt/openfiler.local 
 +mkdir /cluster_metadata/opt 
 +cp -a /opt/openfiler.local /cluster_metadata/opt/openfiler 
 +ln -s /cluster_metadata/opt/openfiler /opt/openfiler 
 +rm -f /cluster_metadata/opt/openfiler/sbin/openfiler 
 +ln -s /usr/sbin/httpd /cluster_metadata/opt/openfiler/sbin/openfiler 
 +rm -f /cluster_metadata/opt/openfiler/etc/rsync.xml 
 +ln -s /opt/openfiler.local/etc/rsync.xml /cluster_metadata/opt/openfiler/etc/ 
 +</code> 
 + 
 +Puis on édite /opt/openfiler.local/etc/rsync.xml 
 +<code xml> 
 +<?xml version="1.0" ?> 
 +<rsync> 
 +<remote hostname="192.168.101.12"/> ## IP address of peer node. 
 +<item path="/etc/ha.d/haresources"/> 
 +<item path="/etc/ha.d/ha.cf"/> 
 +<item path="/etc/ldap.conf"/> 
 +<item path="/etc/openldap/ldap.conf"/> 
 +<item path="/etc/ldap.secret"/> 
 +<item path="/etc/nsswitch.conf"/> 
 +<item path="/etc/krb5.conf"/> 
 +</rsync> 
 +</code> 
 +Puis: 
 +<code> 
 +mkdir -p /cluster_metadata/etc/httpd/conf.d 
 +</code> 
 + 
 +Maintenant, sur ofha2: 
 +<code> 
 +mkdir /cluster_metadata 
 +mv /opt/openfiler/ /opt/openfiler.local 
 +ln -s /cluster_metadata/opt/openfiler /opt/openfiler 
 +</code> 
 +Puis on édite /opt/openfiler.local/etc/rsync.xml 
 +<code xml> 
 +<?xml version="1.0" ?> 
 +<rsync> 
 +<remote hostname="192.168.101.11"/> ## IP address of peer node. 
 +<item path="/etc/ha.d/haresources"/> 
 +<item path="/etc/ha.d/ha.cf"/> 
 +<item path="/etc/ldap.conf"/> 
 +<item path="/etc/openldap/ldap.conf"/> 
 +<item path="/etc/ldap.secret"/> 
 +<item path="/etc/nsswitch.conf"/> 
 +<item path="/etc/krb5.conf"/> 
 +</rsync> 
 +</code> 
 + 
 +==== Support de samba/NFS ==== 
 +Sur ofha1: 
 +<code bash> 
 +mkdir /cluster_metadata/etc 
 +mv /etc/samba/ /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/samba/ /etc/samba 
 +mkdir -p /cluster_metadata/var/spool 
 +mv /var/spool/samba/ /cluster_metadata/var/spool/ 
 +ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba 
 +mkdir -p /cluster_metadata/var/lib 
 +mv /var/lib/nfs/ /cluster_metadata/var/lib/ 
 +ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs 
 +mv /etc/exports /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/exports /etc/exports 
 +</code> 
 + 
 +Sur ofha2: 
 +<code bash> 
 +rm -rf /etc/samba/ 
 +ln -s /cluster_metadata/etc/samba/ /etc/samba 
 +rm -rf /var/spool/samba/ 
 +ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba 
 +rm -rf /var/lib/nfs/ 
 +ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs 
 +rm -rf /etc/exports 
 +ln -s /cluster_metadata/etc/exports /etc/exports 
 +</code> 
 + 
 +==== Support d'iSCSI ==== 
 +Sur ofha1: 
 +<code bash> 
 +mv /etc/ietd.conf /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf 
 +mv /etc/initiators.allow /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow 
 +mv /etc/initiators.deny /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny 
 +</code> 
 + 
 +Sur ofha2: 
 +<code bash> 
 +rm -f /etc/ietd.conf 
 +ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf 
 +rm -f /etc/initiators.allow 
 +ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow 
 +rm -f /etc/initiators.deny 
 +ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny 
 +</code> 
 + 
 +==== Support du FTP ==== 
 +Sur ofha1: 
 +<code bash> 
 +mv /etc/proftpd /cluster_metadata/etc/ 
 +ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd 
 +</code> 
 + 
 +Sur ofha2: 
 +<code bash> 
 +rm -rf /etc/proftpd 
 +ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd 
 +</code> 
 + 
 +===== Création d'un groupe de volume ===== 
 +Sur ofha1: 
 +<code bash> 
 +vgcreate monvg /dev/drbd1 
 +</code> 
 + 
 +===== Premier démarrage de heartbeat ===== 
 +sur ofha1: 
 +<code bash> 
 +rm -f /opt/openfiler/etc/httpd/modules 
 +ln -s /usr/lib64/httpd/modules /opt/openfiler/etc/httpd/modules 
 +/etc/init.d/openfiler restart 
 +</code> 
 +NOTE: remplacer /lib64 par /lib si vous utilisez un système 32bits 
 + 
 +Puis aller sur https://ofha1:446/admin pour activer le service iSCSI 
 + 
 +Le fichier /etc/ha.d/haresources devrait avoir été créé, il faut le copier sur ofha2: 
 +<code bash> 
 +scp /etc/ha.d/haresources root@ofha2:/etc/ha.d/haresources 
 +</code> 
 + 
 +Avant que heartbeat démarre, il faut qu'un volume logique existe (on pourra le supprimer ensuite) 
 +<code bash> 
 +lvcreate -L 400M -n filer monvg 
 +</code> 
 + 
 +On peut maintenant redémarrer les deux nœuds, et espérer que tout fonctionne ;)
  • tuto/nas_san/openfiler_ha.1274708972.txt.gz
  • Dernière modification: 24/05/2010 15:49
  • de dani