Newsgroup: it.comp.os.linux.sys
Titolo: Drbd

Ciao a tutti.
ho un problema con un cluster active/passive drbd+heartbeat
queste sono le partizioni
/var/log
/www
la partizione sotto /www viene replicata tramite drbd e fin qui nessun 
problema.
Ora, ho la necessità di replicare anche tutti i log di apache tra i due 
server, in modo tale da non perdere le statistiche di accesso quando si 
passa in configurazione di emergenza (master morto e backup attivo).
La soluzione più rapida sarebbe quella di sincronizzare anche la 
/var/log però, così facendo mi ritroverei anche i log di sistema 
replicati e sicuramente non va bene sul server in standby...
Qualche hint su come replicare in maniera sicura la
/var/log/apache2 e la /var/log/pureftpd ?
Avevo quasi pensato a spostare i log di apache e ftp dritto nelle 
directory ftp dei vari clienti...Ho visto che molti hoster fanno così....

 directory ftp dei vari clienti...Ho visto che molti hoster fanno cosě....
appunto

> directory ftp dei vari clienti...Ho visto che molti hoster fanno cosě....
Ok.

 cfr : ErrorLog , CustomLog 
Perň cosě facendo diventa complessa la gestione del logrotate.
Dal momento che i log non sono piů in una singola directory devo creare 
X regole per logrotate...
Forse č piů gestibile tramite dei link simbolici
/www/
dominio.com/logs
 -> /var/log/apache2/
dominio.com

 Però così facendo diventa complessa la gestione del logrotate.
se ai tuoi clienti *non* servono le stat, utilizza semplicemente una
directory non standard per *tutti* i log di apache e pureftp, poi replica
quella

Aioe ha scritto:

Il problema è che ai clienti servono le stats.
Come faccio a replicare in realtime una directory? DRBD replica solo dei 
device...

 X regole per logrotate...
e che sarà mai...

RedWiz ha scritto:

Meno script di gestione ci sono meglio è.
Considerato il fatto che ci saranno circa 400 utenti per server e la 
media è 3 domini per utente, sono 1200 regole di logrotate da 
automatizzare in fase di creazione dei domini...
Ovviamente se non ce altra soluzione non è un problema creare tali regole...

E usare rsync?
La butto li` perche' non ne ho esperienze di vita vissuta esattamente
per questo problema, ma dato che i log sono estremamente comprimibili
(almeno in trasferimento con l'opportena opzione di rsync) e dato che
dovrebbe trasferire solo le differenze (e la > parte dei dati resta
uguale), lanciare un rsync ogni 5 minuti non mi sembrerebbe male.
Ripeto, la butto li` cosi` perche' non l'ho mai fatto in campo, e
dipende anche dalle tue esigenze di sincronizzazione (anche se mi
sembra che perdersi 5 minuti di log al massimo non sia una tragedia).
Andrea

twistedbrain ha scritto:

Di workaround ce ne sono parecchi, però preferirei una soluzione più 
'affidabile'
Se butta male, faccio la sincronizzazione con rsync, ma per il momento 
credo che spostare i log nella dir www del cliente sia la cosa 
migliore... Mi resta da capire come ruotare i log mediante logrotate 
tenendo conto che ogni log risiede in una directory diversa e quindi una 
singola regola di logrotate non è sufficente.

 singola regola di logrotate non è sufficente.
Se proprio vuoi usare logrotate libero di farlo, ma se ti fai tu uno
script è banale: individui tutti i file di log[1], ne fai un "mv" e poi
invii un SIGHUP ad apache.
Nothing more.
[1] tipo: li vai a leggere anche nelle conf. stesse di apache...
-- 
Skull & Bones (ER6n Silver)
Neo:  I know Sendmail!
Morpheus:  Show me.

 Il problema è che ai clienti servono le stats.
puoi configurare apache (egli altri demoni di sistema) per loggare
attraverso syslog poi utilizzare un log server diverso dai due host che
usi per apache. 
Un altro sistema possibile è usare scp oppure rsync,

 [1] tipo: li vai a leggere anche nelle conf. stesse di apache...
Ecco, questa è una soluzione.
Avevo pensato anche ad altre 2 soluzioni:
SOLUZIONE A)
Directory dei log:
/www/ID_CLIENTE/
nome-dominio.com/logs/apache-access.log
da logrotate.conf
/www/*/*/logs/apache-access.log
In questo modo, anche se l'utente si crea un file 'apache-access.log' da 
qualche parte, non dovrebbe dar fastidio a logrotate in quanto se lo va 
a cercare nella directory "logs".
Resta solo da valutare
a) eventuale impatto sul server con l'uso di quelle 2 wildcards
b) rendere readonly la directory dei logs? Immagino di si. Lo 
svuotamento dei log avviene tramite logrotate e non tramite l'utente. 
(Ma come? con proftpd che usavo prima era facile, con pureftpd che uso 
adesso non saprei, il sito è down)
SOLUZIONE B)
genero tante configurazioni di logrotate tramite uno script in cron ogni 
5 minuti. Tale script mi va a leggere le config di apache attualmetne 
attive sul server ed in base a quelle mi genera le X config di logrotate
vantaggi:
a) un solo script di gestione automatica (quello di creazione/modifica 
dei domini via web)
b) non c'è modo per l'utente di rompere le scatole al logrotate
c) niente uso di wildcard, secondo me più sicuro e forse più performante.
Ovviamente la soluzione B viene generata alla stessa maniera su entrambi 
i server... Ed entrambi i server condividono la stessa config di apache 
perchè lo stesso script di gestione è presente su entrambi i server e 
viene eseguito simultaneamente sia dal master che dallo slave (a 
prescindere dallo status di master/slave del server)

Aioe ha scritto:

Avercelo un server esterno per i log.
Questo problema non si sarebbe verificato

 Avercelo un server esterno per i log.
se la soluzione ti piace (ed i servizi sono pochi) puoi configurare
ciascuna macchina per inviare all'altra i dati di log.
A quel punto, anche se una delle due smette di funzionare, avrai comunque
i log in consistenza sulla macchina sopravvissuta.
Domanda: i clienti che devono farsene dei log? (hai considerato la
possibilità di elaborare i dati in loco poi trasferire solo le pagine
contenenti le stats)

 contenenti le stats)
Si, però i clienti vogliono potersi aggiornare le stat via browser. 
Ovvero aprono awstats e spingono 'Aggiorna statistiche' e per l'update 
mi servono i log.

 mi servono i log.
installare awstats in modalità cgi su server seri è una follia (IMHO)

 installare awstats in modalità cgi su server seri è una follia (IMHO)
Perchè?

Alessandro ha scritto:

Beh?
/var/log/apache (per dire, non deve mica essere necessariamente sullo
stesso device su cui sta /var/log, eh...

 Perchè?
Mai dato un'occhiata alla storia di sicurezza di awstats? :)

whiplash ha scritto:

Si, non mi è mai sembrato di vedere criticità così elevate...
Poi i miei awstats sono accessibili sono con user/password quindi
gente 'fidata' e non aperti al pubblico
o ad eventuali script-kiddie

 stesso device su cui sta /var/log, eh...
Ok, come pensavo io infatti.
/var/log sta nel /
e /var/log/apache2 sta nel suo fs che viene ridondato via drbd
Forse però ho dimenticato di dire che difficilmente riuscirò a
spostare i log su / per mancanza di spazio.
e senza fare strani 'giri di link' preferirei una soluzione pulita e
'tradizionale' ecco il perchè della domanda...
Di workaround è pieno...
Di soluzioni, invece, non me ne vengono in mente (oltre a quella di
far loggare ad apache direttamnete nel fs dei dati web)

In article &
lt;s6bnl4x...@guestnews.guest.net
&gt;
Alessandro&lt;alessandr...@guest.net
&gt; wrote:

Usa drbdlinks metti i log sulla partizione condivisa e poi dici a
drbdlinks di replicare var/log/apache2 e pureftpd drbdlinks è una
utility che si occupa di spostare la dir originale e sostituirla con
un link alla posizione che vuoi quando la macchina diventa attiva
Luca
 
-- 
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at 
http://www.malcom-mac.com/nemo