Mi permetto di segnalare questa interessante iniziativa:
http://www.tic.fdns.net/tic/html/lab.html
Si tratta di un laboratorio didattico per la sperimentazione di configurazioni di rete su sistemi Linux virtuali.
Il laboratorio si basa principalmente su NetKit.
Ho preso spunto dal laboratorio e ho costruito due demo per il corso sui Cluster Linux:
la prima demo riguarda l'uso di MPI, mentre la seconda riguarda l'uso di Heartbeat.
Netkit esegue una macchina virtuale Linux con un kernel configurato secondo la modalità User Mode.
A questo punto tutte le macchine virtuali hanno lo stesso file system basato su Debian; le configurazione delle singole macchine virtuali possono essere personalizzate attraverso uno script passato a linea di comando all'avvio della macchina virtuale.
Le diverse macchine virtuali non hanno particolari esigenze di memoria, quindi è possibile, se devono erogare servizi semplici, riservare ad ogni macchina quantità di memoria modeste (16 MB è il valore di default).
Netkit4TIC distribuisce la ISO di un CD live basato su Knoppix con Netkit già installato e i laboratori già presenti e pronti per essere eseguiti.
Consiglio a tutti una prova, che con il CD live non è invasiva e non richiede nessuna installazione.
Visualizzazione post con etichetta Linux. Mostra tutti i post
Visualizzazione post con etichetta Linux. Mostra tutti i post
giovedì 29 novembre 2007
martedì 30 ottobre 2007
Cross Compilare Qtopia 4.2.4 per Arm
Ho scaricato la toolchain per Arm dal sito di denx
Bruciata la iso su cd, installato l'ambiente, tutto ok.
Poi ho scaricato la Qtopia 4.2.4 opensource dal sito di trolltech a questo link.
Scompattato e fino a qua tutto ok.
Prima di configurare è necessario creare due file nella directory
src/libraries/qtopiabase
i file in questione sono:
custom-linux-arm-g++.h
custom-linux-arm-g++.cpp
Il file custom-linux-arm-g++ è:
#define QPE_NEED_CALIBRATION
#define QPE_USE_MALLOC_FOR_NEW
#define QPE_ARCHITECTURE "arm"
#define QPE_DEFAULT_TODAY_MODE "Daily"
mentre in custom-linux-arm-g++.cpp:
#include <qpowerstatus.h>
#include <qwindowsystem_qws.h>
QTOPIABASE_EXPORT int qpe_sysBrightnessSteps()
{
}
QTOPIABASE_EXPORT void qpe_setBrightness(int bright)
{
}
QTOPIABASE_EXPORT void QPowerStatusManager::getStatus()
{
}
Rappresentano implementazioni vuote di alcuni metodi che servono a Qtopia per gestire alcune caratteristiche del dispositivo, quali la potenza e l'illuminazione dello schermo.
A questo punto, Trolltech consiglia di creare una directory diversa da quella dove risiedono i sorgenti per effettuare configurazione e compilazione. Ho creato una directory build, dalla quale ho lanciato la linea di configure:
configure -arch arm -xplatform linux-arm-g++ -no-infrared -no-helix
Dopo aver accettato la licenza, il configure crea qmake e tutti progetti sia per le cosiddette Qt/embedded che per Qtopia.
A questo punto di può lanciare il make, ma non è finita qua.
Il g++ contenuto nella distribuzione gestisce in modo diverso la definizione di membri statici costanti della classe Zoomer che risiede nella directory src/server/phone/ui
L'errore generato è analogo al seguente:
zoomer_p.cpp:(.text+0x52): undefined reference to `Zoomer::stop1'
zoomer_p.cpp:(.text+0x76): undefined reference to `Zoomer::stop2'
zoomer_p.cpp:(.text+0xae): undefined reference to `Zoomer::growthFactor'
Per far sì che il linking abbia esito positivo, bisogna modificare il file zommer_p.cpp aggiungendo le seguenti linee:
const qreal Zoomer::stop1;
const qreal Zoomer::stop2;
const qreal Zoomer::growthFactor;
A questo punto la compilazione dovrebbe terminare in modo corretto.
Pizza
Bruciata la iso su cd, installato l'ambiente, tutto ok.
Poi ho scaricato la Qtopia 4.2.4 opensource dal sito di trolltech a questo link.
Scompattato e fino a qua tutto ok.
Prima di configurare è necessario creare due file nella directory
src/libraries/qtopiabase
i file in questione sono:
custom-linux-arm-g++.h
custom-linux-arm-g++.cpp
Il file custom-linux-arm-g++ è:
#define QPE_NEED_CALIBRATION
#define QPE_USE_MALLOC_FOR_NEW
#define QPE_ARCHITECTURE "arm"
#define QPE_DEFAULT_TODAY_MODE "Daily"
mentre in custom-linux-arm-g++.cpp:
#include <qpowerstatus.h>
#include <qwindowsystem_qws.h>
QTOPIABASE_EXPORT int qpe_sysBrightnessSteps()
{
}
QTOPIABASE_EXPORT void qpe_setBrightness(int bright)
{
}
QTOPIABASE_EXPORT void QPowerStatusManager::getStatus()
{
}
Rappresentano implementazioni vuote di alcuni metodi che servono a Qtopia per gestire alcune caratteristiche del dispositivo, quali la potenza e l'illuminazione dello schermo.
A questo punto, Trolltech consiglia di creare una directory diversa da quella dove risiedono i sorgenti per effettuare configurazione e compilazione. Ho creato una directory build, dalla quale ho lanciato la linea di configure:
configure -arch arm -xplatform linux-arm-g++ -no-infrared -no-helix
Dopo aver accettato la licenza, il configure crea qmake e tutti progetti sia per le cosiddette Qt/embedded che per Qtopia.
A questo punto di può lanciare il make, ma non è finita qua.
Il g++ contenuto nella distribuzione gestisce in modo diverso la definizione di membri statici costanti della classe Zoomer che risiede nella directory src/server/phone/ui
L'errore generato è analogo al seguente:
zoomer_p.cpp:(.text+0x52): undefined reference to `Zoomer::stop1'
zoomer_p.cpp:(.text+0x76): undefined reference to `Zoomer::stop2'
zoomer_p.cpp:(.text+0xae): undefined reference to `Zoomer::growthFactor'
Per far sì che il linking abbia esito positivo, bisogna modificare il file zommer_p.cpp aggiungendo le seguenti linee:
const qreal Zoomer::stop1;
const qreal Zoomer::stop2;
const qreal Zoomer::growthFactor;
A questo punto la compilazione dovrebbe terminare in modo corretto.
Pizza
mercoledì 4 luglio 2007
Slackware 12.0
Ebbene è arrivato il grande momento che tutti aspettavano: Pat ha rilasciato la Slackware 12.0, la distribuzione più pulita e stabile ha una nuova release!
Il salto in avanti è notevole, include tutte le nuove tecnologie emerse negli ultimi due anni, da hal a compiz, la nuova versione ora è in linea con tutte le altre distro desktop.
Adesso scarico, masterizzo e poi, lavoro permettendo, upgrade!
Il salto in avanti è notevole, include tutte le nuove tecnologie emerse negli ultimi due anni, da hal a compiz, la nuova versione ora è in linea con tutte le altre distro desktop.
Adesso scarico, masterizzo e poi, lavoro permettendo, upgrade!
lunedì 2 luglio 2007
heartbeat e drbd
Ciao a tutti.
Per il corso di Cluster ad Alta Affidabilità sotto Linux, ho provato due soluzioni, che fanno due cose diverse.
Heartbeat è un progetto che ha raggiunto una complessità di classe superiore, gestisce le risorse in modo ottimale, ci sono votazioni all'interno del cluster per decidere su quale nodo fare eseguire il coordinatore del cluster, gestione delle risorse con possibilità di inserire in configurazione numerosi vincoli e preferenze. Da quandi è il progetto è sostenuto (sponsorizzato) da mamma IBM, questo progetto ha fatto passi in avanti notevoli.
www.linux-ha.org
Drbd sta per Distributed Replicated Block Device: permette di creare un disco replicato e distribuit, così se uno si rompe, l'altro mantiene tutti i dati (ovviamente , se non si rompe anche lui :-)
Questo progetto rappresenta una sorta di Raid di livello 1 (mirroring) distribuito e mette a disposizione tre livelli di sincronizzazione delle scritture, a seconda delle necessità di robustezza e prestazioni. Sottolineo una lacune: un sistema automatico di switch nel caso in cui il nodo primario si guasti e la possibilità di montare, almeno in lettura, la replica del disco. Quest'ultimo problema sparisce con l'ultima versione, la 0.8, che permette di montare entrambi i dischi in scrittura, ma richiede l'uso di un file system parallelo come GFS o OCFS2.
Lo switch in caso di guasto viene delegato ad un sistema di gestione del cluster, tipo heartbeat; non ho avuto tempo di provare a configurarlo, ma non dev'essere semplicissimo :-(
Progetto comunque interessante, anche solo per avere dei backup remoti!
www.drbd.org
Per il corso di Cluster ad Alta Affidabilità sotto Linux, ho provato due soluzioni, che fanno due cose diverse.
Heartbeat è un progetto che ha raggiunto una complessità di classe superiore, gestisce le risorse in modo ottimale, ci sono votazioni all'interno del cluster per decidere su quale nodo fare eseguire il coordinatore del cluster, gestione delle risorse con possibilità di inserire in configurazione numerosi vincoli e preferenze. Da quandi è il progetto è sostenuto (sponsorizzato) da mamma IBM, questo progetto ha fatto passi in avanti notevoli.
www.linux-ha.org
Drbd sta per Distributed Replicated Block Device: permette di creare un disco replicato e distribuit, così se uno si rompe, l'altro mantiene tutti i dati (ovviamente , se non si rompe anche lui :-)
Questo progetto rappresenta una sorta di Raid di livello 1 (mirroring) distribuito e mette a disposizione tre livelli di sincronizzazione delle scritture, a seconda delle necessità di robustezza e prestazioni. Sottolineo una lacune: un sistema automatico di switch nel caso in cui il nodo primario si guasti e la possibilità di montare, almeno in lettura, la replica del disco. Quest'ultimo problema sparisce con l'ultima versione, la 0.8, che permette di montare entrambi i dischi in scrittura, ma richiede l'uso di un file system parallelo come GFS o OCFS2.
Lo switch in caso di guasto viene delegato ad un sistema di gestione del cluster, tipo heartbeat; non ho avuto tempo di provare a configurarlo, ma non dev'essere semplicissimo :-(
Progetto comunque interessante, anche solo per avere dei backup remoti!
www.drbd.org
lunedì 25 giugno 2007
Cluster ad alta affidabilità
Ciao a tutti.
Sto allestendo un corso teorico-pratico sui cluster ad alta affidabilità.
La tematica è decisamente interessante e sto imparando un sacco di cose sui sistemi di replica distribuita dei dati.
Presto un post su DRBD.
Ciao
Sto allestendo un corso teorico-pratico sui cluster ad alta affidabilità.
La tematica è decisamente interessante e sto imparando un sacco di cose sui sistemi di replica distribuita dei dati.
Presto un post su DRBD.
Ciao
Iscriviti a:
Post (Atom)