tuto:virtualisation:virt_dual_cluster

Ceci est une ancienne révision du document !


Cluster à 2 noeuds pour la virtualisation

FIXME : ce how-to est en cours de rédaction, les instructions ne sont pas complètes.

Le but de ce how-to est de mettre en place un cluster de deux machines pour assurer la disponibilité de machines virtuelles. Les données entre les deux noeuds seront répliquées de façon synchrone, et bi-directionnelle grâce à DRBD. Les deux noeuds pourront héberger des VM différentes (répartition de charge), et il sera possible de migrer à chaud les VM d'un noeud sur l'autre

La première étape est de préparer deux hôtes sous CentOS 5 64bits (suivre ce how-to )

DRBD est la couche logicielle qui répliquera les données d'un hôte sur l'autre.

yum install drbd83 kmod-drbd83

Puis configurer les paramètres globaux de DRBD, sur un seul noeud

cd /etc/drbd.d/
mv global_common.conf global_common.conf.default
cat <<"EOF" > global_common.conf
 
global {
        usage-count yes;
        # minor-count dialog-refresh disable-ip-verification
}
 
common {
        protocol C;
 
        handlers {
                pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
                # fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
                # split-brain "/usr/lib/drbd/notify-split-brain.sh root";
                # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
                # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
                # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
        }
 
        startup {
                # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
                wfc-timeout 0;
                become-primary-on both;
        }
 
        disk {  
                # on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
                # no-disk-drain no-md-flushes max-bio-bvecs
                on-io-error detach;
        }
 
        net {   
                # sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers
                # max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret
                # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork
                allow-two-primaries;
                cram-hmac-alg "sha1";
                shared-secret "__SECRET__";
        }
 
        syncer {
                # rate after al-extents use-rle cpu-mask verify-alg csums-alg
                rate 300M;
        }
}
EOF
cd
openssl rand -base64 30 > drbd.secret
chmod 600 ./drbd.secret
export SECRET=$(cat ./drbd.secret)
sed -i -e "s#__SECRET__#$SECRET#" /etc/drbd.d/global_common.conf
unset SECRET

Une fois configuré, copier le fichier /etc/drbd.d/global_common.conf sur le second noeud (avec scp par exemple)

  • tuto/virtualisation/virt_dual_cluster.1342128544.txt.gz
  • Dernière modification: 12/07/2012 23:29
  • de dani