-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Buongiorno a tutti,
scrivo chiedendo lumi qui principalmente perché nell'ottobre del 2006 si
e' lungamente discusso a riguardo, in secondo luogo per via del fatto
che o mi fate capire voi cosa sbaglio o non ce la puo' fare nessuno.
situazione:
2 macchine perfettamente identiche che sono attaccate a 2 router di
provider differenti, sistema operativo etch con il minimo indispensabile
di pacchetti presi dai backports.
le macchine fanno packet filtering e proxy principalmente.
L'intenzione è quella di spostare da una macchina all'altra le
configurazioni del proxy e gli ammenicoli relativi ai log in caso di
fail over della linea principale quindi drbd e ucarp.
Se Io spengo la macchina principale la secondaria sale senza problemi  e
monta la partizione drbd, il cat /proc/drbd dello slave risulta come

0: cs:WFConnection st:Primary/Unknown ds:UpToDate/DUnknown C r---

e il tutto si sposta quando pero' riaccendo la macchina principale mi
trovo questa sgradita sorpresa
master
0: cs:Connected st:Secondary/Secondary ds:UpToDate/UpToDate C r---

slave
0: cs:Connected st:Secondary/Secondary ds:UpToDate/UpToDate C r---

drbd compilato staticamente nel kernel.
macchina master e macchina slave hanno scheda giga dedicata

il compito di fare diventare master la macchina che sale e' demandato a
ucarp tra mite lo script di up in questo modo

Master
/etc/init.d/ucarp
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
#set to -P if you want this to be the preferred master
PREEMPT=-P
#Log to /var/log/messages
LOG=syslog
FAILOVER_ID=10
SHARED_SECRET=secret
NTLM_IP=192.168.2.201
REAL_IP=192.168.2.100
INTERFACE=eth0
VIP_UP_SCRIPT=/etc/ucarp/ucarp-up.sh
VIP_DOWN_SCRIPT=/etc/ucarp/ucarp-down.sh

OPTIONS="-B -v $FAILOVER_ID -p $SHARED_SECRET -a $NTLM_IP -s $REAL_IP -i
$INTERFACE -u $VIP_UP_SCRIPT -d $VIP_DOWN_SCRIPT $PREEMPT  -z -k 0 -f $LOG"
test -x /usr/sbin/ucarp || exit 0

case "$1" in bla bla bla

/etc/ucarp/ucarp-up.sh

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
VIP_NTLM=192.168.2.201
VIP_DANSGUARDIAN=192.168.2.242
VIP_PROXY=192.168.2.243
VIP_BIND=192.168.2.244
VIP_WEB=192.168.2.245
VIP_BRD=255.255.255.0
exec 2> /dev/null

ip addr add $VIP_NTLM/24 brd $VIP_BRD  dev "$1"
ip addr add $VIP_DANSGUARDIAN/24 brd $VIP_BRD  dev "$1"
ip addr add $VIP_PROXY/24 brd $VIP_BRD  dev "$1"
ip addr add $VIP_BIND/24 brd $VIP_BRD  dev "$1"
ip addr add $VIP_WEB/24 brd $VIP_BRD  dev "$1"
arping -q -c 5 -U $VIP_NTLM
drbdadm primary r0
mount /jumper
/etc/init.d/squid-ntlm start
/etc/init.d/dansguardian start
/etc/init.d/squid start
/etc/init.d/bind start
/etc/init.d/apache start

/etc/ucarp/ucarp-down.sh

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
/etc/init.d/squid-ntlm stop
/etc/init.d/dansguardian stop
/etc/init.d/squid stop
/etc/init.d/bind stop
/etc/init.d/apache stop
umount /jumper
drbdadm secondary r0
OTHER_MAC=00:15:17:4B:9B:B2
VIP_NTLM=192.168.2.201
VIP_DANSGUARDIAN=192.168.2.242
VIP_PROXY=192.168.2.243
VIP_BIND=192.168.2.244
VIP_WEB=192.168.2.245
VIP_BRD=255.255.255.0

exec 2> /dev/null
ip addr del $VIP_NTLM/24 dev "$1"
ip addr del $VIP_DANSGUARDIAN/24 dev "$1"
ip addr del $VIP_PROXY/24 dev "$1"
ip addr del $VIP_BIND/24 dev "$1"
ip addr del $VIP_WEB/24 dev "$1"
send_arp \
       $VIP_NTLM $OTHER_MAC \
       $VIP_NTLM $OTHER_MAC \
       "$1" $OTHER_MAC FF:FF:FF:FF:FF:FF reply
sleep 1
send_arp \
       $VIP_NTLM $OTHER_MAC \
       $VIP_NTLM 00:00:00:00:00:00 \
       "$1" $OTHER_MAC FF:FF:FF:FF:FF:FF request



slave
/etc/init.d/ucarp
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
#set to -P if you want this to be the preferred master
PREEMPT=-P
#Log to /var/log/messages
LOG=syslog
FAILOVER_ID=10
SHARED_SECRET=secret
NTLM_IP=192.168.2.201
REAL_IP=192.168.2.200
INTERFACE=eth0
VIP_UP_SCRIPT=/etc/ucarp/ucarp-up.sh
VIP_DOWN_SCRIPT=/etc/ucarp/ucarp-down.sh

OPTIONS="-B -v $FAILOVER_ID -p $SHARED_SECRET -a $NTLM_IP -s $REAL_IP -i
$INTERFACE -u $VIP_UP_SCRIPT -d $VIP_DOWN_SCRIPT $PREEMPT  -z -k 128 -f
$LOG"
test -x /usr/sbin/ucarp || exit 0

case "$1" in bla bla bla

/etc/ucarp/ucarp-up.sh

/etc/ucarp/ucarp-down.sh

sono identici alla macchina Master

/etc/drbd.conf
global {

}

common {
  syncer { rate 100M; }
}

resource r0 {


  protocol C;

  handlers {

    pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";

    pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";

    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";

    outdate-peer "/usr/sbin/drbd-peer-outdater";

    split-brain "echo split-brain. drbdadm -- --discard-my-data connect
$DRBD_RESOURCE ? | mail -s 'DRBD Alert' root";
  }

  startup {

    wfc-timeout  0;


    degr-wfc-timeout 120;    # 2 minutes.


  }

  disk {
     on-io-error   detach;

  }

  net {
     after-sb-0pri disconnect;
     after-sb-1pri disconnect;
     after-sb-2pri disconnect;
     rr-conflict disconnect;
     }

  syncer {

    rate 100M;


     al-extents 257;

  }

  on sangiorgio2 {
    device     /dev/drbd0;
    disk       /dev/sda10;
    address    192.168.1.100:7789;
    meta-disk  internal;


  }

  on perseo2 {
    device    /dev/drbd0;
    disk      /dev/sda10;
    address   192.168.1.200:7789;
    meta-disk internal;
  }
}

identico su ambo le macchine

inoltre se Io stacco semplicemente il cvo di rete dalla macchina master
 lo slave prende gli indirizzi ma non monta la partizione e resta nella
condizione
Secondary/primary
sembra quasi che non senta che l'altra macchina e' irraggiungibile e che
deve passare a master.
Mi sembra tutto formalmente corretto ma evidente non lo è visto che non
funziona.
Cosa sbaglio?
grazie in anticipo a chi vorra' rispondermi
mi scuso ancora per la lunghezza della mail
Cordilita'.

- --

Mario Vittorio Guenzi
E-mail [EMAIL PROTECTED]
Si vis pacem, para bellum
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH4ncvm6qs1ZkNrIoRArcwAJ9TPQ0IN/M7HS1Y8sJ+atnSKXHkwACcDjeC
QK8oo9LydvWK0dM/vDh9Sn0=
=RpiS
-----END PGP SIGNATURE-----
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a