[Zope-it] domanda per sistemisti su Zope e High Availability
Diego OLERNI
info@olerni.it
Wed, 19 Mar 2003 23:53:48 +0100
Ciao a tutti,
vengo subito al dunque: non avendo esperienze su Zope devo descrivere in=20
un progetto una struttura nella quale conciliare Zope ed alta disponibilit=
=E0=20
del servizio (fault tolerance).
Ho 3 scelte:
1) due macchine identiche con Apache e Zope, area di storage condivisa=20
tramite array di dischi SCSI, una delle due macchine attiva e on-line, la=20
seconda "addormentata" (Zope non startato, rete non attiva) va a monitorare=
=20
lo stato della prima macchina per mezzo di Hearthbeat e Mon (sul modello di=
=20
quello che succede con i Director nel progetto LVS) e quando questa dovesse=
=20
fermarsi ne prenderebbe il posto startando i servizi di rete e Zope ed=20
andandosi a leggere il DB di Zope sull'array condiviso.
DUBBIO: possono nascere problemi dal fatto che la prima macchina, per=20
qualche motivo, abbia ancora un'istanza di Zope in qualche modo attiva=20
andando a bloccare letture e scritture dall'area di storage che risulta=20
condivisa?
2) situazione analoga alla precedente, sostituendo l'array di dischi SCSI=20
con una coppia di server dedicati esclusivamente allo storage dei dati. In=
=20
questo caso ridondanza (mirroring) dei dati e condivisione degli stessi=20
sarebbe ottenuta utilizzando il filesystem CODA=
(http://www.coda.cs.cmu.edu).
DUBBIO: qui il problema legato ai blocchi su scrittura e lettura dovrebbe=20
non sussistere grazie alla struttura di CODA, il dubbio nasce sulle=20
prestazioni del tutto in base al fatto che alcune letture vengono fatte=20
comunque in rete (gigabit ethernet).
3) una situazione intermedia tra le precedenti potrebbe prevedere di=20
condividere l'area di storage senza utilizzare server aggiuntivi, ma=20
utilizzando il filesystem CODA direttamente sulle due macchine equipaggiate=
=20
con Zope e Apache (eliminando cos=EC anche l'array SCSI). Io sarei=
abbastanza=20
orientato su quest'ultima ipotesi, ma ho paura che dovendosi sobbarcare=20
anche la replicazione dei dati il server potrebbe risultare eccessivamente=
=20
affaticato, senza contare che la soluzione n=B0 2 separa l'area dati=20
permettendomi di spostare i due server dietro un firewall (cosa vera fino=20
ad un certo punto perch=E8 comunque ogni macchina tiene in locale una cache=
=20
dei dati da scrivere su fs CODA).
Avrei scartato la soluzione di un cluster perch=E8 richiederebbe troppe=20
macchine (due director, almeno due server Zope equipaggiati con moduli ZEO,=
=20
almeno un server di tipo Zope Storage Server ed una sua replica, siamo gi=E0=
=20
a sei macchine!) e perch=E8 non mi aspetto un carico tale da richiedere load=
=20
balancing e giustificare un investimento cos=EC elevato.
Sar=F2 grato a chiunque mi dar=E0 indicazioni utili (compresi "mio cugggino=
mi=20
ha detto che..." :-) )
Saluti a tutti
Diego