<div dir="ltr"><div dir="ltr">Grazie a tutti per i consigli, grazie Lucio soprattutto per la spiegazione teorica.</div><div dir="ltr"><br><div>>Escludiamo quindi definitivamente il cluster HPC<br></div><div><br></div><div>L'esclusione del cluster HPC, credo di averla capita. Il mio obbiettivo era quello di avere risorse di memoria RAM di un server sommate a quelle dell'altro (così come anche le potenze di calcolo dei processori), ma da quello che ho capito se non si usa HPC, non si può fare. Avevo individuato PVM [1], ma a questo punto sarà da percorrere la strada "ortogonalmente opposta" di HA.</div><div><br></div><div>>Se vuoi sommare lo spazio su disco di dischi fisicamente installati in server diversi, la strada si chiama SAN (Storage Area Network). Una SAN è una rappresentazione virtuale, utilizzabile attraverso la rete, di uno spazio di archiviazione (storage). Uno dei >possibili protocolli per implementare una SAN è iSCSI (con la "i" davanti come se fosse un prodotto Apple, ma non lo è).<br>>Una volta realizzata la SAN iSCSI, per esempio con una macchina virtuale per ognuno dei due server fisici, dovrai metterci sopra un filesystem (formattarla con LVM+ext4, btrfs o simili per intendersi). Anche per questo serve un'apposita macchina virtuale. >Dovrai poi pubblicare lo stesso filesystem attraverso un opportuno protocollo di rete: scegli GFS2 di RedHat se vuoi fare le cose in grande, oppure pubblica semplicemente via NFS se non vuoi diventare vecchio prima di aver raggiunto il tuo scopo.<br>>Arrivato qui avrai la macchina virtuale appena citata che condivide in rete un filesystem, per esempio via NFS, il cui spazio è la somma degli spazi delle partizioni dei singoli dischi sui singoli server che avevi deciso di dedicare al volume unico condiviso. >Naturalmente se vuoi che tutto ciò sia anche affidabile oltre che figo a raccontarsi, i singoli dischi dei singoli server dovrebbero essere messi in RAID, ma per imparare non è necessario <br></div><div><br></div><div>Quello che avevo intenzione di fare era proprio quello hai descritto, però non sapevo dove installare la SAN con iSCSI se sull'OS della macchina fisica (debian) di entrambi i server o creare una macchina virtuale (per entrambi i server) dove al suo interno ci sarà l'iSCSI installato. a quel punto installare il filesystem NFS, ma dove vm o macchina fisica?<br></div><div><br></div><div>>Detta così e considerando che lo scopo è imparare, suggerisco di non usare nessun software specifico per ora, ma di usare solo KVM e libvirt, con i rispettivi comandi da terminale. Impari i concetti base e, chiariti quelli, sarà poi semplice anche per te >scegliere il software che meglio si adatta alle esigenze reali di quello che eventualmente andrai a fare con quanto avrai imparato. <br></div><div><br></div><div>Lo scopo è didattico ovviamente, quindi usare KVM con virsh o VM Manager ecc..., sono d'accordo. però magari bisogna attaccare qualche altro applicativo per gestire il resto (Cluster ecc??) che mi sfugge...<br></div><div>Tra le ricerche avevo anche trovato PROMOX VE [2] che mi aveva già consigliato Davide che forse risponde al quesito.</div><div><br></div><div>intanto provo a mettere due dati, così magari si capisce di cosa si sto parlando:</div><div><br></div><div>Server1:</div><div>HP Proliant DL360 G5</div><div>2 x Quad-Core Intel Xeon Processor L5420 (2.50 GHz, 50 Watts, 1333 FSB)</div><div>64GB di RAM</div><div>4 HDD da 500GB in RAID 1+0 (1,5TB) (il raid l'ho impostato così ma non è vincolante) con Smart Array E200</div><div>OS macchina fisica: debian buster 10.0</div><div><br></div><div><br></div><div><div>Server2:</div><div>HP Proliant DL380 G5</div><div>2 x Quad-Core Intel Xeon Processor E5410 (2.33 GHz, 80 Watts, 1333 FSB)<br></div><div>64GB di RAM</div><div>2 HDD da 72GB in RAID 0 (140 GB) con Smart Array P400</div><div>OS Macchina fisica: debian buster 10.0</div><div><br></div></div><div>Virtual Machine:</div><div>VM1, VM2, VMx... che siano gestibili indipendentemente da quale server vado chiamare, una specie di namespace unico<br></div><div><br></div><div>spero che sia un pò più chiaro, scusate ma non mi è facile spiegare quello che vorrei fare.</div><div><br></div><div>Grazie in anticipo.</div><div><br></div><div><br></div><div><br></div><div>[1]<a href="http://guide.debianizzati.org/index.php/Clustering_con_PVM" target="_blank">http://guide.debianizzati.org/index.php/Clustering_con_PVM</a></div><div>[2]<a href="https://pve.proxmox.com/wiki/Main_Page">https://pve.proxmox.com/wiki/Main_Page</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 9, 2019 at 11:51 AM Lucio Crusca via SLiP <<a href="mailto:slip@liszt.softwareliberopinerolo.org" target="_blank">slip@liszt.softwareliberopinerolo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Il 08/07/19 23:11, Marco Lim ha scritto:<br>
> Grazie della risposta, in realtà la cosa servirebbe in primis a capire come installare un sistema di cluster (sicuramente non per livello professionale, ma puramente didattico).<br>
<br>
Il problema è che la parola "cluster" è troppo generica per andare in cerca di un software specifico, perché come dicevo ci sono diversi tipi di cluster che contemplano soluzioni software completamente diverse fra loro.<br>
<br>
> Per quanto riguarda l'utilizzo sarebbe quello di avere la potenza ma soprattutto le risorse dei servers come se fosse uno solo.<br>
<br>
Per capirci, introduco un po' di teoria. Possiamo distinguere le risorse dei server in due categorie: risorse pre-rilasciabili, preemptible in inglese, (tempo di CPU, memoria RAM) e risorse non pre-rilasciabili (files su disco, canali di comunicazione, stampanti e periferiche in generale).<br>
<br>
Le risorse preemptible possono essere temporaneamente sottratte ad un programma in esecuzione, mettendolo prima in pausa, senza che questo se ne accorga: quando il programma viene fatto ripartire, prima di tutto il sistema operativo (Linux) dedica di nuovo a lui le risorse che gli aveva sottratto quando lo aveva messo in pausa.<br>
<br>
Le risorse non preemptible, se venissero sottratte durante l'esecuzione ad un programma, non potrebbero essere più riassegnate al programma nello stesso stato in cui si trovavano quando gli sono state sottratte e di conseguenza non si possono togliere al programma nemmeno mettendolo in pausa: se altri programmi necessitano di una di queste risorse, sono costretti a mettersi in coda ed attendere che il programma che la sta usando termini.<br>
<br>
Le risorse preemptible tipicamente determinano la potenza di calcolo massima del server. Le risorse non preemptible costituiscono gli anelli deboli della catena.<br>
<br>
Un cluster può esistere per UNO di due motivi: sommare fra loro le risorse preemptible, ottenendo maggior potenza di calcolo complessiva, oppure rendere più affidabili, attraverso la ridondanza, quelle non preemptible, ottenendo anelli deboli della catena che sono meno deboli. Purtroppo questi due obiettivi sono ortogonali fra loro, cioè remano in direzioni diverse. È sicuramente possibile creare un cluster che sia allo stesso tempo affidabile e potente (quasi) come la somma dei server che lo compongono, ma è una cosa che non interessa a nessuno, perché quel "quasi" diventa tanto più grande quanto meno ci si focalizza su uno solo dei due obiettivi. Esistono quindi software specifici per risolvere l'una o l'altra problematica, ma non entrambe nello stesso momento.<br>
<br>
> Servirebbe per creare una specie di laboratorio virtuale di PC dove installare vari OS e vari applicativi.<br>
<br>
Escludiamo quindi definitivamente il cluster HPC, che comunque, a fini puramente didattici, potrai poi installare successivamente creando macchine virtuali apposite (ma tieni conto che nel caso reale non si fa mai con le macchine virtuali).<br>
<br>
Detta così e considerando che lo scopo è imparare, suggerisco di non usare nessun software specifico per ora, ma di usare solo KVM e libvirt, con i rispettivi comandi da terminale. Impari i concetti base e, chiariti quelli, sarà poi semplice anche per te scegliere il software che meglio si adatta alle esigenze reali di quello che eventualmente andrai a fare con quanto avrai imparato.<br>
<br>
Se vuoi sommare lo spazio su disco di dischi fisicamente installati in server diversi, la strada si chiama SAN (Storage Area Network). Una SAN è una rappresentazione virtuale, utilizzabile attraverso la rete, di uno spazio di archiviazione (storage). Uno dei possibili protocolli per implementare una SAN è iSCSI (con la "i" davanti come se fosse un prodotto Apple, ma non lo è).<br>
<br>
Una volta realizzata la SAN iSCSI, per esempio con una macchina virtuale per ognuno dei due server fisici, dovrai metterci sopra un filesystem (formattarla con LVM+ext4, btrfs o simili per intendersi). Anche per questo serve un'apposita macchina virtuale. Dovrai poi pubblicare lo stesso filesystem attraverso un opportuno protocollo di rete: scegli GFS2 di RedHat se vuoi fare le cose in grande, oppure pubblica semplicemente via NFS se non vuoi diventare vecchio prima di aver raggiunto il tuo scopo.<br>
<br>
Arrivato qui avrai la macchina virtuale appena citata che condivide in rete un filesystem, per esempio via NFS, il cui spazio è la somma degli spazi delle partizioni dei singoli dischi sui singoli server che avevi deciso di dedicare al volume unico condiviso. Naturalmente se vuoi che tutto ciò sia anche affidabile oltre che figo a raccontarsi, i singoli dischi dei singoli server dovrebbero essere messi in RAID, ma per imparare non è necessario.<br>
<br>
Da qui in avanti puoi iniziare a creare macchine viruali che vivono sul filesystem condiviso via NFS (ovvero il cui hard disk virtuale è semplicemente un file che risiede su quel filesystem) e che quindi possono essere migrate da un server fisico all'altro anche mentre sono accese (con opportuni comandi di libvirt).<br>
<br>
Essendo tutto virtuale, avrai comunque un problema di dipendenze, ovvero dovrai fare in modo (attraverso uno script per esempio) che i server fisici prima di tutto facciano partire le macchine virtuali della SAN, poi montino il volume NFS e solo allora facciano partire le altre macchine virtuali del tuo laboratorio, perché prima di allora saranno inaccessibili.<br>
<br>
-- <br>
SLiP mailing list<br>
<a href="mailto:SLiP@liszt.softwareliberopinerolo.org" target="_blank">SLiP@liszt.softwareliberopinerolo.org</a><br>
<a href="https://liszt.softwareliberopinerolo.org/listinfo/slip" rel="noreferrer" target="_blank">https://liszt.softwareliberopinerolo.org/listinfo/slip</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-1211406788799854701gmail_signature">Marco LIM<br><br>Please don't print this message!!<br>3R<br>Reuse, Reduce, Recycle!!!!<br></div>
</div>