Newsgroup: it.comp.www.asp
Titolo: Upload + Application Center 2000

In una configurazione con tre web server IIS5 Win2K bilanciati con NLB
(Network Load Balancing) la cui sincronizzazione viene garantita con
application center 2000 come posso implementare una soluzione di
upload in modo che il file scaricato sul server sia disponibile sempre
su tutti e tre i server ? 
Se l'upload viene eseguito sul server "master", esso viene replicato
sui membri ma se l'upload finisce su uno dei membri, non essendoci la
copia sul "master" alla prima sincronizzazione esso viene cancellato!
PLEASE HELP ME !
Grazie.


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

Anch'io uso un server "extra" per tutte le parti create al volo o scaricate
dall'utente; l'unica alternativa è scrivere lo stesso file in tutti e 3 i
server, con problemi di lentezza, di sicurezza (occorre dare accessi
all'utente iusr_nomepc sugli altri pc) etc

Il fatto di usare un server "extra" è analogo ad utilizzare una share
(vedi post precedente). I problemi di permission si possono risolvere
facendo girare quell'istanza web con un utente di dominio invece che
con un utente locale (credo che gli impatti di sicurezza siano
minimi). Ma, a meno che la share venga posta su un file share
clusterizzato, viene sempre a crearsi un eventuale punto di failure
dell'applicazione.
Poi l'idea di far scrivere roba al di fuori del web server non mi
piace molto.
Qualche altra idea ?
Grazie 1000.


Scrivendo sempre sullo stesso server, assegnando per esempio alla
virtual directory /upload una share con grant ad un utente predefinito
di dominio con permission di read/write su quella share tutto funziona
regolarmente. La share viene fatta sul master e poi lui replica ogni
modifica. Il problema nasce quando quella macchina, anche solo per
manutenzione, deve essere spenta. E se crolla ?
Il resto dell'applicazione rimane online, mentre le funzionalità di
upload vanno a farsi benedire.... SIGH SIGH....

 manutenzione, deve essere spenta. E se crolla ?
potresti fare come suggerito da cristiano. l'upload effettua una copia di
quanto caricato su ogni singolo server.


Io ho avuto lo stesso problema con NLB su 5 server, per risolverlo ho
abbandonato l'idea dello sharing su cluster per problemi di limiti di
connessione NETBios e permessi.
Ho creato un servizio che fà il repost del file sui server rimanenti che
compongono l'NLB appena lo trova in locale su un'apposita directory ti
transito che funge da coda in caso di fail.
Ho realizzato pure un COM che permette di interagire con il servizio.
Spero di esserti stato utile.
Leonardo Orazi

Dunque fammi capire...
l'utente fa upload su un server qualsiasi, in una cartella di
supporto. Questa cartella immagino sia stata esclusa dalla replica di
application center. Con un servizio aspetti che arrivi il file e non
appena arriva (come controlli l'arrivo dei files?) scatta il "trigger"
che copia il file sulle altre cartelle di supporto. 
Ma non va in loop ?
Io ho provato l'analogo con i CRS di Site Server ma mi vanno
simpaticamente in loop.
Chiederti di mandarmi il codice, o un estratto del codice, o anche
solo una dettagliata descrizione è chiedere troppo ?
Grazie infinite.
Ciao.

Application Center non lo uso perchè non  mi fido,e poi perchè hanno cercato
di rendere facili compiti del S.O. che non sono affatto facili, meglio
capire come funzionano le cose per gestire in tranquillità i problemi. La
cartella in cui viene depositato il file di replica è ovviamente quella
finale e non quella di transito.
Il servizio, di cui ovviamente non ti posso inviare il codice, si limita a
controllare la directory su invito del COM che lo gestisce, all'atto
dell'upload riceve dal COM instanziato nella pagina ASP un "CheckRepository"
e comunque per sicurezza ad intervalli prefissati verifica se ci sono nuovi
file da sincronizzare (ovviamente non in lock da upload).
Ricapitolando:
5 cartelle condivise in scrittura lettura (le cartelle finali in cui verrano
messi i file)
5 cartelle non condivise che raccolgono i file temporanei e che vengono
scannerizzate
1 servizio che legge la cartella temporanea del server in cui è presente e
trasferisce sulle altre, che verifica anche a intervalli regolari e che allo
start ( se richiesto esegue la sincronizzazione tra server )
1 COM che gestisce da Asp o da dove è necessario le principali attività del
servizio.
Non ci fossero stati i limiti del NETBios tutto questo non avrebbe avuto
senso.
Saluti.

La tua posizione su Application Center è molto discutibile in quanto
ti posso garantire che avere la certezza di avere n-web server
sincronizzati (in un ambiente di produzione) non è cosa da poco. In
fase di nuove pubblicazioni (web) l'errore umano è sempre dietro
l'angolo. Se poi si parte da una installazione pulita AC2K non crea
alcun problema anzi. Certo non lo devi installare perchè ti
autoconfigura il Load Balancer o robe del genere.....
Il mio problema comunque è l'upload con application center perchè se
non c'era AC2K, l'upload veniva fatto senza problemi e le cartelle
erano sincronizzate (senza alcuno sforzo) dal Content Replication
Service (CRS) fornito con Site Server. 
Il fatto di usare una share, anche senza limitazioni SMB, non è
comunque una situazione pulita in quanto preferisco lasciare il
traffico HTTP sui frontend server (a meno che si parli di Exchange, ma
è un altro discorso).
La documentazione di AC2K dice che è possibile intercettare l'upload
utilizzando il protocollo HTTP DAV (il traffico viene intercettato e
rediretto sul cluster controller) e poi replicato sui rimanenti
server. E' possibile gestire la promozione a cluster controller di un
membro con degli script scatenati da eventi WMI ma come faccio se,
banalmente per un aggiornamento di qualche pagina, è necessario
rimuovere il cluster controller dal Load Balancing ? In questo caso
l'upload DAV mi ritorna un simpaticissimo Access Denied in quanto non
riesce a redirigere la sessione su un server fuori dal WLBS.
Se qualcuno mi può aiutare gli sarei molto grato....
Ciao e grazie.

Non sò cosa dirti in merito se non che gestisco diverse server-farm e con il
sistema indicato non ho più problemi.
Inoltre ne uso una variante per mantenere le repliche dei web file senza
dover spendere soldi in più per Applicativi ad HOC come quelli che tu hai
indicato.
Sarà che vengo da sistemi precedenti che non avevano tutte queste belle
cosine già fatte.
Non penso riuscirai a risolvere diversamente il problema.

Che dirti, da una parte sono d'accordo con te nel dire che questi
sistemi danno la possibilità di utilizzare tecnologie tendenzialmente
complesse, come un cluster NLB o CLB, a persone che non ne conoscono
la struttura, ma dall'altra mi viene anche in mente quando il DOS
venne abbandonato per utilizzare Windows.....
Il fatto che sia così difficile fare una cosa banale come l'upload mi
lascia piuttosto perplesso.
Nella realtà in cui mi trovo io, una soluzione "custom" come la tua,
avrebbe fatto rizzare i capelli alle persone di Microsoft che lavorano
on site e, sono sicuro, che ogni minimo problema sarebbe stato
ricondotto a quel sistema "NON SUPPORTATO" che gestisce gli upload.
In ogni caso, grazie comunque per l'interessamento, proviamo a scalare
il problema e vediamo cosa ne viene fuori.
Ciao a tutti.