Newsgroup: it.comp.os.linux.sys
Titolo: Quando Usare un Cluster file system ?

Mi chiedevo, quando siamo obbligati ad usare un cluster file system
tipo GFS, OCFS invece di un semplice NFS ?
Grazie !
-- Yena --

 tipo GFS, OCFS invece di un semplice NFS ?
Quando hai un cluster (piu' di una macchina) che devono gestire gli
stessi dati e non puoi/vuoi comperare un NAS.
Davide

 stessi dati e non puoi/vuoi comperare un NAS.
Rendimi edotto al riguardo: mi interessa.
Che software debbo usare per ottenere un 2-node cluster
impiegando 2 PC e le loro risorse (HD) come NAS?
Tenendo presente che debbo mettere in cluster
HD con partizioni NTFS (Windows).
Bruno 

 NTFS (Windows).
se vuoi possiamo darti qualche imboccata su come farlo con linux... ma se 
vuoi farlo con windows mi sa che hai sbagliato gruppo.
ciao,
stefano

 vuoi farlo con windows mi sa che hai sbagliato gruppo.
Nonostante quanto dicesse Davide, con DRBD e heartbit o chi per  lui
puoi fare
un cluster a 2 nodi HA senza dover usare un file system clustered, per
cui potresti
anche usare NTFS, il che con Linux non se che senso avrebbe, ma lo
potresti
comunque fare esistendo un driver Linux per NTFS che funziona pure
bene; comunque
chiaramente non avresti 2 dischi con fs NTFS, ma un device drbd che
comprende i
dischi delle due macchine, formattato NTFS.
Andrea

 un cluster a 2 nodi HA senza dover usare un file system clustered
Se vuoi 2 nodi HA active/active (oppure N macchine che devono accedere in 
contemporanea agli stessi dischi) allora ti serve un fs clustered. E 
questo è quello che aveva detto Davide. ("Quando hai un cluster (piu' di 
una macchina) che devono gestire gli stessi dati")
ciao,
stefano

Stefano S. ha scritto:

Ma questo non lo fa già NFS ?
-- Yena --

 Ma questo non lo fa già NFS ?
no. un server nfs ha i suoi dischi ad "accesso dedicato", esporta 
semplicemente i dati via rete. se invece vuoi accedere in scrittura agli 
stessi dischi (fisici) da più macchine ti serve un fs cluster-aware.
non è necessario avere una SAN, drbd nelle ultime versioni consente di 
usare i dischi in modalità active/active, per cui, se vuoi accederci in 
scrittura da entrambe le macchine drbd ti serve un cluster filesystem 
come OCFS2 o GFS.
ciao,
stefano


Si`, messa cosi`, con 2 nodi active/active dovrebbe essere necessario,
mentre con
un cluster active/passive (che sempre un cluster e`), no.
Pero`, per tornare alla domanda di shiakallo, effettivamente un NFS ti
gestisce
la concorrenza degli accessi da rete, come normalmente e` in grado di
fare qualsiasi
fs di un sistema multiuser e multitasking. Quello che non e` in grado
di fare e` di
gestire in concorrenza accessi in scrittura agli stessi dati da host
diversi
non via rete e protocollo annesso, ma sullo stesso bus o a livello di
device di
memorizzazione dati.
Andrea
Andrea

 vuoi farlo con windows mi sa che hai sbagliato gruppo.
Non voglio farlo con Windows (già fatto), vorrei farlo con
Linux mettendo però in cluster risorse (HD) NTFS.
Al riguardo mi sono scornato invano con OpenFiler (Linux)
e FreeNAS (FreeBSD).
Bruno
 

 mettendo però in cluster risorse (HD) NTFS.
ma a che ti serve mettere in cluster risorse ntfs da linux?
ciao,
stefano

 Linux mettendo però in cluster risorse (HD) NTFS.
Perché NTFS?
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

Stefano S. ha scritto:

A cercare rogne, temo. ;-)
Le cose più avanzate dell'NTFS sono proprio quelle che, afaik,
mancano ai driver ntfs di linux.


 ma a che ti serve mettere in cluster risorse ntfs da linux?
A parte il gusto della sperimentazione...
Debbo lavorare in Windows perché la rete è composta
da PC con OS Windows, né si può pensare di cambiare,
per un numero infinito di ragioni.
I NAS/SAN costano non poco; il sistema più economico
è l'utilizzo di target iSCSI per i quali è necessario però
software (StartWind, DoubleTake) che costa quanto
un OS Windows server.
Se posso utilizzare software Linux/FreeBSD per mettere in
cluster HD in NTFS...
Ma pare di no.
Bruno 


Forse sbaglio, ma mi sembra di capire che ti sfugge un concetto base...
A Windows (o qualsiasi altro OS) non gliene frega un tubo di come e' 
formattato il disco al quale accede tramite rete (SMB, NFS, FTP, ...), 
basta che il server al quale e' attaccato riesca a leggerci/scriverci. 
Di conseguenza se tu metti un disco formattato con XFS e lo condividi 
con Samba tutti i tuoi client Windows possono scriverci.
Spero che il problema fosse questo.
Sinceramente, gestire una NTFS da Linux non ha senso.

 Sinceramente, gestire una NTFS da Linux non ha senso.
Generally speaking sicuramente non ha senso.
Attraverso la modalità NAS (è questa via che volevo
percorrere) mi pare addirittura impossibile.
Bruno
 

 con Samba tutti i tuoi client Windows possono scriverci.
quoto in pieno. l'importante è che il tuo server linux/bsd/quelcheè parli 
un protocollo "capibile" dalle macchine windows, in questo caso SMB/CIFS, 
implementato dal pacchetto samba. quel che poi ci sta sotto è ininfluente.
ciao
stefano

 (è questa via che volevo percorrere) mi pare addirittura impossibile.
allora probabilmente non abbiamo capito ciò che vuoi fare.
vuoi esportare dei dati dal server linux in maniera simil-nas, in modo 
che N client windows possano accederci in contemporanea? o che altro?
ciao,
stefano

 o che altro?
Nient'altro.
Bruno 


e allora sul file server non ti serve NTFS. Ti basta samba, che è in 
grado di "parlare" il protocollo SMB/CIFS, che è quello usato da windows 
nelle sue "condivisioni". Anche se tu avessi un server windows che deve 
esportare dei files a dei client la lingua parlata nello scambio dei dati 
sarebbe SMB/CIFS, non NTFS, che è e rimane un file system locale.
E si, puoi realizzare una clusterizzazione ad alta disponibilità attivo/
standby di samba utilizzando heartbeat e drbd.
ciao,
stefano

 standby di samba utilizzando heartbeat e drbd.
È quello che pensavo anch'io, ma ho cambiato idea.
Ovvero; non ci sono riuscito.
Ti spiego.
Attualmente:
Un PC con Windows 2003 EE R2 (ma non serve un
OS server), OS su HD SATA.
Un controller Adaptec che manda due SCSI in RAID1.
StarWind che mi consente (via iSCSI) di mettere a disposizione
dei due nodi del cluster (Winserver 2008 EE) il NAS
(cioè il RAID1 di cui sopra).
Problema: StarWind costa dai 2500 ai 3500 dollari.
Tentativo di soluzione:
Un PC con installato OpenFiler (su HD SATA), più il controller
Adaptec coi due SCSI in RAID1 (quelli di cui sopra).
Non sono riuscito a mettere il RAID1 a disposizione
dei due nodi  del cluster.
Ci ho provato invano anche con FreeNAS (FreeBSD).
Bruno
 

 Ci ho provato invano anche con FreeNAS (FreeBSD).
ma lo spof rimane comunque starwind/openfiles/freenas/qualsiasialtracosa; 
allora tanto vale avere due macchine in cluster che pescano i dati da 
quest'ultima. aggiungi solo complessità in più, senza avere una vera 
rindondanza.
ma l'adaptec che dici è un nas (ovvero collegato via ethernet) o un 
direct-attached storage? se puoi attaccare in contemporanea due macchine 
all'adaptec sei a cavallo e hai due alternative: l'uso di un cluster file 
system per accedere ai dati oppure una modalità active/standby.
ciao,
stefano

 system per accedere ai dati oppure una modalità active/standby.
Ripeto/preciso:
PC-NAS:
 - HD SATA (boot): Windows + StarWind (3000 dollari)
 - 2 x HD SCSI in RAID1 via Adaptec 29320LP su bus PCI
   dello stesso PC  (lo storage)
 - 1 NIC (LAN_Cluster)
I due nodi del Failover cluster (Winserver 2008 EE):
 - sono due DC con HD SCSI, etc.
 - 2 x NIC: LAN_Cluster connessa con PC-NAS
                  LAN_Public connessa coi Client
 - parte un nodo, subentra l'altro (attivo/passivo).
È StarWind su PC-NAS che consente agli iSCSI dei due nodi
di accogliere come storage il RAID1 che si trova in PC-NAS.
--------------------------------------------------------------------
Vorrei:
 - sostituire in PC-NAS:
    Windows + StarWind (3000 dollari) con OpenFiler
    o FreeNAS o qualunque altro software FREEEEEEEE!
Fermo il resto!
Bruno
 

     qualunque altro software FREEEEEEEE!
ok, ora si capisce decisamente meglio la richiesta :)
basta una qualsiasi distribuzione linux con un demone iscsi target. il 
filesystem a questo punto viene gestito dall'initiator.
con openfiler:
http://www.techhead.co.uk/how-to-configure-openfiler-v23-iscsi-storage-
for-use-with-vmware-esx
con debian:
http://h0bbel.p0ggel.org/playing-with-iscsi-part-i
http://wiki.debian.org/iSCSI/iscsitarget
http://www.howtoforge.com/using-iscsi-on-debian-lenny-initiator-and-target
con fedora/centos/rhel:
http://remcobressers.nl/2008/07/running-iscsi-san-centos-5/
ciao,
stefano

 
http://remcobressers.nl/2008/07/running-iscsi-san-centos-5/
Solo una domanda:
tu quale delle soluzioni che suggerisci hai sperimentato
sulla tua pelle?
Bruno 

 NTFS...
Temo che ti sfugga qualcosa...

 pelle?
debian.
ciao,
stefano


ah, dimenticavo: ora sto giocando anche con solaris+zfs+iscsi (ma in 
ambiente di test, nulla in produzione)
ciao,
stefano



Io invece l'ho fatto l'anno scorso in questo periodo.
Ci ho messo un po', ma alla fine è andata.
Il post è lungo, ma ho scritto un po' tutto quello che ho provato.
Il tutto l'ho fatto per test, per capire se si poteva fare e fino a che 
punto.
Purtroppo non ho avuto modo di mettere le macchine sotto stress e tenerle 
accese per giorni (soprattutto per capire se l'iscsi target teneva botta).
Inoltre ho usato delle macchine vecchiotte (quello che avevo di 
sacrificabile a casa). 
Ho fatto questo:
- due macchine PIII 512 Mb RAM con etch;
- dischi ide in raid 1 software con mdadm;
- due schede di rete 10/100 in bonding (usato sia uno che due switch in 
contemporanea visto che non avevo uno switch serio da provare);
- drbd 8 in modalità attiva/passiva sopra ad una partizione in raid 1. 
Protocollo A;
- cluster gestito con heartbeat 1, polling via seriale;
- iscsi target tramite scst 
http://scst.sourceforge.net
. In precedenza 
avevo provato con ietd, ma avevo problemi con il passaggio da un nodo 
all'altro. Con scst ha funzionato alla perfezione;
- lato windows ho usato l'initiator della microsoft.
- le lun esportate via iscsi le ho formattate in ntfs.
- oltre ai due indirizzi ip dei due nodi, l'ip "del cluster" che 
fluttuava da una macchina all'altra e sul quale era in ascolto il 
servizio iscsi.
Una terza macchina aveva windows 2000 + sql server 2000. I data file di 
sql server erano sul volume iscsi.
Con il database che faceva operazioni su disco (restore di db e 
operazioni di insert/update) ho provato a:
- staccare uno alla volta i cavi di rete (test bonding);
- staccare la piattina ide dai dischi dati in mirroring (sistema su un 
disco, dati sui due dischi in mirroring). In particolare, staccato solo 
un disco per testare il mirroring, staccato entrambi i dischi per vedere 
drdb, che a seconda della configurazione, può o disattivarsi (quindi take 
over e drdb che diventa attivo sull'altra macchina) oppure continuare a 
mantenere il nodo attivo, andando però a prendere i dati dal nodo passivo.
- staccare la spina dal nodo attivo.
- fermare con lo script di init il servizio heartbeat sul nodo attivo ed  
vedere una transizione da una macchina all'altra dei servizi.
Le prove sopra, le ho eseguite alcune volte ed il db si è sempre 
dimostrato integro (controllato con checkdb). Durante la fase di take-
over, sql server rimaneva in attesa per qualche secondo e poi riprendeva 
come se nulla fosse successo.
Ho fatto una misurazione molto veloce delle performance di scrittura 
facendo un backup del db ed ero arrivato se non ricordo male sui 7 MB/s, 
che considerando l'hardware della mutua che avevo, erano più che ottime. 
Visto che c'ero, ho fatto altre due prove. 
Installazione di postgres 8 in modalità attiva/passiva sui due nodi del 
cluster. In questo caso mi sono limitato a vedere che funzionasse. Non ho 
più avuto il tempo di stressare il cluster come avevo fatto con windows.
Utilizzando due virtual machine con windows 2000 enterprise sulla terza 
macchina, ho provato a mettere in cluster anche sql server. Anche qui, 
simulato il take over a turno delle 4 macchine senza intoppi.
In definitiva ti posso dire si, si può fare. Quello che non sono riuscito 
a determinare è se il cluster così fatto e messo in produzione quanto 
riesce a tenere testa prima di andare in crash a causa di qualche memory 
leak/bug del driver iscsi.
Le due cose che mi hanno fatto perdere più tempo per sono state che in 
alcuni casi (in particolare quando non staccavo brutalmente la spina), 
dopo il take-over, e tentavo di resincronizzare drbd mi andava in split 
brain, oppure non c'era verso di far sincronizzare il nodo morto. 
L'altra è stata il servizio di enterprise iscsi target che non riusciva a 
fare bene la migrazione della connessione da un nodo all'altro. La cosa 
era anche documentata, suggerivano un accrocchio con iptables che nel mio 
caso non ha funzionato. Sostituito con scst, non perdeva un colpo.
Può essere un'idea per chi deve tenere un server sql server quanto più 
possibile sempre attivo e vuole evitare di perdere dati a causa di una 
rottura del server (aggiunta di un 9 all'affidabilità), ha relativamente 
poco traffico in query, non può permettersi di spendere cifre per una san 
con le contropalle completamente rindondata.

 san con le contropalle completamente rindondata.
dimentichi lo spof nella macchina con sql server...
non conosco sufficientemente il clustering in ambito windows, ma sotto 
linux io avrei fatto 2 macchine heartbeat+drbd+(esempio)postgresql senza 
andare a scomodare iscsi e una terza macchina.
ciao,
stefano

 Ci ho messo un po', ma alla fine è andata.
[...]
Peccato che tu e Stefano non l'abbiate fatto con OpenFiler...
Non me la sento di installare una distribuzione Linux
per poi piantarci sopra tutto il necessario.
Mi sembrava che OpenFiler potesse essere la base sufficiente,
ma con esso mi trovo in mezzo al guado.
Con gli SCSI Initiator di Winserver 2008 mi collego al portale
costituito dal PC_NAS che ha a bordo OpenFiler.
Però non riesco a vedere nessun target.
Quindi c'è qualcosa che mi manca nella configurazione
di OpenFiler...
Che a quanto pare nessuno di voi conosce per averci
spremuto sopra le meningi.
Peccato...
Bruno
 

 esso mi trovo in mezzo al guado.
volevi utilizzare openfiler invece di una distro linux "da zero" perchè 
la conosci e la usi in altri ambiti o semplicemente per la semplicità di 
configurazione?
se la motivazione è la seconda forse potresti provare nexentastor 
(versione developer, con limite a 2Tb di storage), basata su solaris.
http://www.nexenta.com/
(ne ho sentito parlar bene ma non l'ho mai usata)
ciao,
stefano

 (ne ho sentito parlar bene ma non l'ho mai usata)
Ci do un'occhiata, grazie.
Bruno 

 senza andare a scomodare iscsi e una terza macchina.
Infatti, ho fatto anche questa prova. Dipende sempre da che motore di
database devi far girare. Postgres non l'ho usato molto, ma ho visto che
rispetto a sql server fa un utilizzo molto intenso della cpu.

 costituito dal PC_NAS che ha a bordo OpenFiler.
A me non ha dato problemi di riconoscimento il demone iscsi target.

 Bruno Campanini wrote:

Di quale demone stai parlando?
Dell'iSCSI server di Openfiler o dell'iSCSI client di Windows?
Penso ti riferisca a quello di OpenFiler (ch� Windows poi non
usa tale terminologia).
In tale caso spiegami - di grazia - come e che cosa hai messo
a disposizione (share) sul PC_NAS (quello che porta OpenFiler).
Lo sto chiedendo urbi et orbi ma non ottengo risposte
concrete, solo fumose...
Bruno
 

 concrete, solo fumose...
Nel caso di ietd mi � bastato editare il file di configurazione (dove
c'erano gi� degli esempi) e sostituire il nome del device e il nome con il
quale volevo fosse visto in rete.

 quale volevo fosse visto in rete.
Ancora fumo!
Ma cosa stai dicendo? cos'� "ietd"?
Domande metaforiche.
Non mi rispondere, stacco la spina.
Bruno
 

 Ma cosa stai dicendo? cos'è "ietd"?
http://iscsitarget.sourceforge.net/
iscsi enterprise target



Aggiungerei un altro link:
http://lmgtfy.com/?q=ietd
-- 
http://bofhskull.wordpress.com/