Linux VServer è un progetto open-source che permette di far girare linux
all'interno di linux. Ogni VServer è una macchina virtuale a
parte, con
i suoi
pacchetti, i suoi servizi ed il suo indirizzo IP. Il vantaggio di
VServer è che, contrariamente ad altre soluzioni di virtualizzazione,
ogni macchina virtuale sfrutta il kernel del sistema operativo
principale, riducendo così drasticamente il carico di lavoro.
Ogni server virtuale è completamente indipendente dagli altri e dal
sistema principale; qualsiasi modifica o tentativo di attacco ad un
VServer, non pregiudica in nessun modo il funzionamento e la stabilità
degli altri VServer e del sistema principale.
Il seguente tutorial è stato scritto per facilitare la configurazione
del primo VServer debian all'interno di un sistema debian, appunto. I
test sono stati effettuati con l'ausilio di VmWare ™.
Saranno trattati i seguenti argomenti:
-
-
-
-
-
1. Compilazione del Kernel 2.4.30 e patch vserver 1.2.10
Tutti i comandi elencati verranno eseguiti come root
Download e decompressione del kernel 2.4.30 nella cartella dei sorgenti
cd /usr/src
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.30.tar.gz
tar -xzvf ./linux-2.4.30.tar.gz
Creazione di un link simbolico che punti al nuovo kernel
ln -s ./linux-2.4.30 ./linux
Download e patch del nuovo kernel con le estensioni VServer
wget http://www.13thfloor.at/vserver/s_release/v1.2.10/patch-2.4.30-vs1.2.10.diff
cd linux
patch -p1 < ../patch-2.4.30-vs1.2.10.diff
Non dovrebbe essere restituito nessun codice di errore o warning.
Installazione dei pacchetti necessari alla configurazione del nuovo
kernel in modo visuale. L'utilizzo di apt-get è relativo a
distribuzioni Debian.
apt-get install libdb3-dev
apt-get install ncurses-dev
apt-get install initrd-tools
Copiamo la configurazione attuale del Kernel per accertarci che tutti i driver siano selezionati di default
cp /boot/config-x.y.zz .config
make oldconfig
dove config-x.y.zz indica il file di configurazione per il kernel attuale.
Configurazione visuale del Kernel.
IMPORTANTE: Selezionare tra le voci:
- Block devices -> Virtual root device support
- Il Driver della scheda di rete; nel caso utilizziate VmWare,
selezionare i driver per la scheda emulata (AMD PC104) che dovrebbe già
essere incluso
make menuconfig
cp .config /boot/config-2.4.30
Compilazione del Kernel
make dep
make bzImage
make modules
make modules_install
Creazione dell'immagine del sistema iniziale e copia dei binari del kernel
mkinitrd -o /boot/initrd.img-2.4.30-vs1.2.10 /lib/modules/2.4.30-vs1.2.10
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.30-vs1.2.10
cp System.map /boot/System.map-2.4.30-vs1.2.10
Il nuovo kernel è pronto, l'ultimo passo coniste nell'aggiungere la
voce relativa al nuovo kernel, nel proprio boot loader manager.
2. Configurazione del boot-manager e primo riavvio con il nuovo kernel
Se si utilizza GRUB, aggiungere al file di configurazione
/boot/grub/menu.lst le righe seguenti, sostituendo a /dev/hda1 il
device che identifica il proprio disco:
title Linux_2.4.30_vserver_1.2.10
root (hd0,0)
kernel /boot/vmlinuz-2.4.30-vs1.2.10 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.4.30-vs1.2.10
savedefault
boot
ed eseguire
grub-install /dev/hda1
dove /dev/hda1, nel mio caso, è il disco che contiene il boot-sector.
Se si utilizza LILO, aggiungere al file di configurazione
/etc/lilo.conf le righe seguenti:
#default=li2425ctx
image=/boot/vmlinuz-2.4.30-vs1.2.10
label=li2425ctx
read-only
initrd=/boot/initrd.img-2.4.30-vs1.2.10
e lanciare lilo per aggiornare la configurazione
Testare il corretto funzionamento del nuovo kernel riavviando e
controllando che il PC vada in rete. Controllare che il kernel sia
effettivamente quello configurato eseguendo:
uname -a
e controllando che l'output sia simile a:
Linux hostname 2.4.30-vs1.2.10 #1 ... ecc ...
3. Installazione dei pacchetti necessari a VServer
Ora che il sistema è pronto per ospitare più server virtuali,
preleviamo i pacchetti necessari a gestirli; nel caso si utilizzi
Debian come sistema di base, si consiglia di scaricare il pacchetto
vserver-debiantools che facilita al massimo di VServer Debian pronti all'uso
apt-get install util-vserver
apt-get install vserver-debiantools
4. Creazione dei VServer
Finalmente possiamo creare il nostro primo VServer; in questo tutorial
creeremo un VServer Debian Sarge con i pacchetti di base. Debian ci
chiederà quali pacchetti installare e da quale fonte senza sapere
minimamente di essere ospitato all'interno di un altro Debian
newvserver --dist sarge --mirror ftp://ftp2.it.debian.org/debian --vsroot
/var/lib/vservers --hostname vserver1 --domain localdomain --ip
192.168.0.101
Ovviamente tutti i parametri possono essere modificati in base alle
proprie esigenze; in qesto caso verrà creato un nuovo vserver Debian
Sarge recuperando i pacchetti da ftp://ftp2.it.debian.org/debian configurando la rete attraverso i parametri --hostname, --domain e --ip
5. Avvio e Test dei VServer
L'operazione precedente impiegherà circa 5 minuti con una
normale connessione ADSL; al termine diamo un'occhiata a cosa abbiamo
effettivamente creato.
In /var/lib/vservers/vserver1 è stata creata
la base per un sistema operativo Debian funzionante; ci sono tutte le
cartelle di base del sistema, come quelle che vediamo nella root /. Eseguendo il comando nano /etc/vservers/vserver1.conf possiamo editare le caratteristiche principali della nuova macchina virtuale tra cui l'indirizzo ip (IPROOT="192.168.0.122"), l'auto avvio come servizio del sistema principale (ONBOOT="yes") ecc..
Modifichiamo le impostazioni a nostro piacimento e facciamo partire il server virtuale:
vserver vserver1 start
La sensazione sarà quella di avviare dei servizi del nostro sistema
principale, ma in relatà, quelli sono servizi virtuali, totalmente
svincolati dal sistema operativo centrale. Entriamo nel nuovo server
virtuale:
vserver vserver1 enter
E' come entrare via SSH su un host remoto, con la differenza che l'host
è la macchina stessa. Quando si effettua lo shutdown del sistema
principale, il servizio responsabile dei VServer installati
(/etc/init.d/vservers-legacy), li fermerà simulando uno shutdown.
Credo sia abbastanza per iniziare a giocare con questo eccezionale
strumento Open-Source; per qualsiasi chiarimento o informazione
aggiuntiva, scrivetemi su
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
o inserite un commento sul form sottostante.
Per ulteriori informazioni, visitate il sito ufficiale di VServer (http://linux-vserver.org) che contiene, tra le altre cose, altre guide per iniziare a lavorare con i server virtuali.
{moscomment}
|