View Full Version : Quale distro per far girare un server hsqldb?
dark.shark.dsk
18-03-2012, 16:18
Ciao a tutti,
vorrei creare una macchina virtuale linux per far girare un server hsqldb ed hostare un database.
Vorrei impostare un sistema il più leggero e rapido possibile, giusto il necessario perchè possa essere messo in rete, essere in grado di fare backup incrementali del db ed essere comandato tramite VNC, purtroppo dato che non me la cavo ancora benissimo con linux mi serve che abbia anche una shell grafica :rolleyes:
Avevo iniziato le prove con ubuntu, ma la più succinta delle sue distro è fornita con un miliardo di programmi, funzioni e componenti già installate che rendono la macchina virtuale troppo grossa e pesante....
Ho poi provato Damn Small Linux, ma ho visto che essere installato ed utilizzato come SO "classico" non è proprio il suo mestiere...
Mi sapete consigliare un buon punto di partenza per il lavoro che vorrei fare?
Grassie :D
Gimli[2BV!2B]
18-03-2012, 17:01
Ti propongo Debian stable (6.0.x anche detta squeeze) (http://www.debian.org/releases/stable/index.it.html) con desktop Xfce 4.6 (http://www.xfce.org/).
Vedo che il server che ti interessa è alla stessa versione in tutti i rami (escluse piccole patch Debian). (http://packages.debian.org/squeeze/hsqldb-server)
Il modo migliore per installare solo Xfce è seguire queste due istruzioni (http://wiki.debian.org/Xfce#Install_a_fresh_system_with_Xfce) utilizzando un'immagine netinstall, che necessita di una buona connessione internet disponibile e funzionante (citi una macchina virtuale, quindi non dovrebbero esserci problemi a configurare la rete nell'installer: dovrebbe fare tutto da solo se è impostata in modo normale).
Stable i386/i686 netinstall (http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-netinst.iso)
Stable amd64/intel64 netinstall (http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-netinst.iso)
Alternativamente esistono immagini preconfezionate per Xfce, temo però installino anche il leggero LXDE, aumentando un po' lo spazio occupato ad installazione terminata, ma molto semplice da rimuovere una volta compreso il concetto di repository e dipendenze:
Stable i386/i686 Xfce+LXDE (http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-xfce+lxde-CD-1.iso)
Stable amd64/intel64 Xfce+LXDE (http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-xfce+lxde-CD-1.iso)
Host di virtualizzazione? La virtualizzazione è solo per provare o è la configurazione definitiva?
Accorgimenti per macchine virtualizzate: elevator=noop in Grub2, installare i driver/software specifici da abbinare all'host:
Virtualbox Guest Additions (http://www.valent-blog.eu/2011/11/07/installare-le-virtualbox-guest-addition-su-debian-linux/)
server X di X.Org - driver per display VMware (http://packages.debian.org/squeeze/xserver-xorg-video-vmware)
server X X.Org -- Driver di input VMMouse da usare con VMWare (http://packages.debian.org/squeeze/xserver-xorg-input-vmmouse)
ecc...
dark.shark.dsk
18-03-2012, 17:19
Wow
grazie per le informazioni, mi metto subito all'opera per fare qualche prova.
Cmq vorrei virtualizzare la macchina che fa funzionare il server in via definitiva, non ho molta esperienza nel campo (anzi nessuna, dato che sarebbe il primo database server che metto su) ma mi sembra che sia un sistema più portabile da un pc all'altro qual'ora volessi cambiare la macchina che fa girare il server ed inoltre dovendolo inserire in una rete aziendale, mi sembra più "facile" costruire una macchina virtuale a casa e poi trapiantarla nella rete aziendale.
Ovviamente se tratta di una mia teoria... Sono ben disposto ad accettare consigli!
Al momento sto anche provando Lubuntu (sto installando la distro su una macchina virtuale in questo momento..), di questo SO eventualmente che mi dite?
Grazie ancora per il supporto!
Gimli[2BV!2B]
18-03-2012, 19:46
Lubuntu è Ubuntu. Differenza: non c'è installato l'ambiente desktop Gnome ma LXDE (che ti ho già citato perché presente nel cd Debian versione desktop light).
I vantaggi di una macchina virtuale, oltre a quelli che hai scritto, sono la possibilità di fare backup periodici dell'intera macchina, possibilità di creare una macchina gemella in tempi limitati, possibilità di sperimentare su copie o tramite snapshot e senz'altro altro che al momento non mi viene in mente.
Non è difficilissimo riversare la macchina virtuale in un disco vero e renderla un'installazione normale (occorre un po' di manualità per pianificare la cosa ed affrontare i vari piccoli ostacoli che si incontreranno).
Svantaggi principali sono una perdita di potenza grezza disponibile (non molto altra grazie alle ultime cpu dotate di estensioni per la virtualizzazione) e, soprattutto, possibili rallentamenti dovuti ad eventuali macchine virtuali concorrenti o altre attività svolte dalla macchina host (spesso il collo di bottiglia è la concorrenza all'accesso ai dischi o alla rete, mentre RAM e cpu sono affettate con precisione).
Al lavoro l'IT ormai ci sforna solo macchine virtuali, per le quali hanno hardware specializzato, monitoraggio centralizzato, ecc...
Wow
grazie per le informazioni, mi metto subito all'opera per fare qualche prova.
Cmq vorrei virtualizzare la macchina che fa funzionare il server in via definitiva, non ho molta esperienza nel campo (anzi nessuna, dato che sarebbe il primo database server che metto su) ma mi sembra che sia un sistema più portabile da un pc all'altro qual'ora volessi cambiare la macchina che fa girare il server ed inoltre dovendolo inserire in una rete aziendale, mi sembra più "facile" costruire una macchina virtuale a casa e poi trapiantarla nella rete aziendale.
Ovviamente se tratta di una mia teoria... Sono ben disposto ad accettare consigli!
Il limite di un sistema di storaggio su database e' l' I/O sui dischi rigidi.
Quello che le macchine virtuali fanno male e' proprio l' I/O su filesystem (a meno che tu non ti intenda un po' sia di virtualizzazione che di entrambi i sistemi operativi e sappia gestire, con driver ben supportati, la paravirtualizzazine)
Se lo storaggio del DB sara' comunque su un SAN / NAS ne vale la pena,
altrimenti, semplicemente, non virtualizzare un database.
C'e' un motivo per cui oracle ha il suo filesystem raw.
Se e' un bagaglio che deve fare mille query al giorno su 10MB di dati allora puo' andare bene pensando a un possibile utilizzo futuro (intenso) su un sistema operativo nativo.
Per la distro anche io consiglierei debian, se conti di usare postgresql magari anche wheezy.
Se invece se deciso per HyperSQL in Sid al momento c'e' la versione Version: 1.8.1.3-2 : altrimenti ti tocca installare e manutenere a mano. Consiglio: se non conosci linux, i database, la virtualizzazione, non fare paciughi e non ti azzardare a mettere niente di importante 'aziendale' su applicazioni sperimentali in ambienti in cui tu stesso dici di non sapere niente. Se e' solo per curiosita' installa quello che consigliano sulla mailing-list del DB sulla tua workstation con virtual box e buona li'...
Magari non ti serve un'intero dektop manager / server grafico, potresti cavartela solo con http://code.google.com/p/partiwm/wiki/xpra o con una buona vecchia ssh -X. BTW: il database in genere si gestisce via rete e la GUI la puoi far girare sulla tua workstation...
dark.shark.dsk
19-03-2012, 19:31
Interessanti considerazioni le tue... :D
Visto che c'è chi ne sa, provo ad approfondire un attimo la faccenda così magari mi chiarisco le idee sul progetto.
Il db di cui sto parlando è nato come evoluzione da un db creato con ooo Base (da li il formato in hsqldb), successivamente ho separato i dati del database dall'engine facendo cmq girare il db senza un server (tutto per uso "professionale" ma non in multiutenza).
Il sistema al momento è abbastanza sicuro dato che è molto semplice da backuppare, ed è ancora di dimensioni ridotte (meno di 10 mb).
Ora vorrei mettere su un server hsqldb e separare del tutto il db sia come dati che come engine dal pc client per iniziare le manovre per dotare il db di multiutenza.
Come ho scritto in precedenza avevo pensato di far girare il server in una macchina virtuale per varie ragioni, solo che a quanto pare non è un'idea molto furba :fagiano:
E' quindi consigliabile dedicare una macchina "fisica" solo al funzionamento del db (dati ed engine)?
Come SO avevo pensato a linux per varie ragioni, minore costo, maggiore sicurezza, e per il fatto che anche se non lo conosco molto, dopo lo sbattimento della configurazione iniziale (sia del database che del sistema di backup) alla fine anche se non sono molto esperto, non ho altro da doverci fare...
Che ne dite?
Come ho scritto in precedenza avevo pensato di far girare il server in una macchina virtuale per varie ragioni, solo che a quanto pare non è un'idea molto furba :fagiano:
E' quindi consigliabile dedicare una macchina "fisica" solo al funzionamento del db (dati ed engine)?
Dipende dallo scenario, se passi a un db dedcato perche' la precedente configurazione e' saturata (centinaia di client e milioni di query): e' una fagianata.
Ma se hai pochi client e poche query, veramente, puoi farlo girare anche su un cellulare che cambierebbe poco: scegli la configurazione che ti e' piu' comoda, virtualizzazione compresa.
Come SO avevo pensato a linux per varie ragioni, minore costo, maggiore sicurezza, e per il fatto che anche se non lo conosco molto, dopo lo sbattimento della configurazione iniziale (sia del database che del sistema di backup) alla fine anche se non sono molto esperto, non ho altro da doverci fare...
Che ne dite?
Il ragionamento fila.
Non so quanto contino le prestazioni per te, ma ti sconsiglio di prendere un sistema ubuntu desktop per poi usarlo come server. Sporchi molto il sistema e perdi molto tempo per scegliere i tool grafici giusti. Complicazioni forse banali, ma che costano quel tempo che se usato per apprendere quei 4-5 comandi che ti servono ti troveresti un sistema adatto allo scopo e non semplicemente arrangiato. Avresti un server in tutto e per tutto.
Senza dimenticare, che il kernel Linux, in caso di desktop e server ha opzioni di compilazione diverse, per avere reattività e prevedibilità differenti. Inoltre devi contare che quel database server dovrebbe avere un footprint ed una latenza più elevati, dovuto al fatto che è scritto in Java.
Per quanto mi riguarda, prendi un ubuntu server o una debian. Ci installi ssh-server per usarlo a distanza, e usa il tempo per imparare piuttosto che trovarti a patire sofferenze per un vnc che nn va come dovrebbe, un desktop che bene che ti va ti prende comunque 50-80MB. Se puoi usare una macchina fisica è pure meglio.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.