Michele Codutti wrote:
>> E' vero, non si puo', ne' esistono piani per renderlo possibile.  Il
>> motivo sostanziale e' che per fare qualcosa del genere, occorrerebbe
>> comunque aspettare che tutte le connessioni attive su quelle interfacce
>> siano chiuse, o forzarne la chiusura, il che equivale ad aspettare che
>> il server sia scarico (e quindi un riavvio non comporta problemi) oppure
>> a forzarlo.
> Ok, questi problemi però si hanno solo nel caso di rimozione di un
> socket ma per aggiungerne uno non ci dovrebbero essere problemi.
> Sbaglio?

Vero.  A questo punto, l'unica obiezione e' che se usi -u, a server
attivo non puoi fare bind(2) su porte privilegiate (tipo 389 o 636).
Per il resto, aprire un nuovo listener "dovrebbe" essere possibile,
anche se, per come la struttura del listener e' fatta, non si tratta di
una modifica banale.

>>> mentre non sono sicuro che si possa fare il cambio di ruolo
>>> per syncrepl.
>>> Qualcuno può darmi qualche informazione in più?
>> Questo in teoria si puo' fare (e' uno dei motivi per i quali back-config
>> e' nato).  In pratica, credo che dipenda da quanto incasinata e' la tua
>> configurazione, per cui non garantisco al 100% che funzioni in ogni
>> circostanza.  E comunque se ci sono problemi e' piu' probabile che
>> compaiano con la 2.3.30 che con versioni piu' recenti (al momento:
>> 2.3.40/2.4.7).
> C'è un vademecum con il passi consigliati da fare? Il caso che mi
> preoccupa e sul quale non riesco a trovare una soluzione soddisfacente è
> quello in cui ho il producer in fail e voglio trasformare il/un consumer
> in producer. Considerando il fatto che se il producer è in fail voglio
> solo terminare il servizio. Il vero problema sono i passi (ovvero ldif
> da utilizzare con ldapmodify) per trasformare il producer in consumer.

E' conveniente avere l'overlay syncprov (che caratterizza il producer)
su tutti i server, anche i consumer.  A questo punto, per promuovere il
consumer a producer occorre rimuovere la linea "syncrepl"; per degradare
un producer a consumer occorre aggiungere la linear "syncrepl".  La cosa
piu' importante e' che tutti i consumer devono comunque essere
modificati se la loro linea "syncrepl" contiene il producer originale;
occorre infatti farvi comparire il nuovo producer.  In alternativa, si
puo' avere una configurazione in cui tutti i server (tranne se stessi),
indipendentemente dall'essere producer o consumer, sono listati nelle
linee "syncrepl" nel campo "producer", in modo che se il producer
corrente cessa di funzionare, provino a contattare il successivo finche'
uno risponde.  Per un consumer, il fatto di alimentarsi dal producer o
da un altro consumer in cascata non fa grande differenza, se non che le
replicazioni in genere subiscono un ritardo aggiuntivo che in genere e'
trascurabile, e solo in caso di modifiche massive puo' risultare
apprezzabile.  Ad esempio, se hai "server0", "server1", "server2", e
normalmente il producer e' "server0", configurerai:

# server0, producer:
# syncrepl provider="ldap://server1 ldap://server2";
overlay syncprov

# server1, consumer:
syncrepl provider="ldap://server0 ldap://server2";
overlay syncprov

# server2, consumer:
syncrepl provider="ldap://server0 ldap://server1";
overlay syncprov

Se succede un problema a "server0", e vuoi promuovere "server2" a
producer, avrai:

# server0, producer declassato a consumer per quando riparte:
syncrepl provider="ldap://server1 ldap://server2";
overlay syncprov

# server1, consumer:
syncrepl provider="ldap://server0 ldap://server2";
overlay syncprov

# server2, consumer promosso a producer:
# syncrepl provider="ldap://server0 ldap://server1";
overlay syncprov

Spero che sia chiaro.

Ciao, p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   [EMAIL PROTECTED]
---------------------------------------




_______________________________________________
OpenLDAP mailing list
OpenLDAP@sys-net.it
https://www.sys-net.it/mailman/listinfo/openldap

Rispondere a