XEN: migrazione COLD di una VM da un dom0 verso un altro

aprile 28th, 2010 glycerin

Una metodologia di migrazione di una VM (creata utilizzando lvm2) da un dom0 a un altro è quella cosiddetta COLD, ovvero con lo stopping della VM. In linea generale perchè la versione LIVE comporta avere uno storage condiviso, ma a dire la verità non  ho ancora avuto esperienze in merito. Spero quanto prima di provarlo.
Passiamo agli step che ho seguito per questa metodologia.

Come primo step si crea un “logical volume” sulla macchina che dovrà ricevere la VM che verrà migrata (sia per la parte disco che per la swap)

lvcreate –addtag srv_2_vol-vm_da_migrare -L20G -n vm_da_migrare-disk srv_2_vol
lvcreate –addtag srv_2_vol-vm_da_migrare -L1G -n vm_da_migrare-swap srv_2_vol

Successivamente si copia in “scp” il file di configurazione che andrà poi modificato:

srv_1:/etc/xen# scp -p vm_da_migrare.cfg root@xxx.xxx.xxx.xxx:/etc/xen/

Vengono modificate le parti inerenti il disco all’interno della configurazione della VM, visto che il volume ha un riferimento diverso.

Una volta completate le fasi iniziali si stoppa la VM sulla macchina dalla quale migrare (xm destroy vm_da_migrare) e via dd e ssh migrare bit a bit il contenuto del logical volume vm_da_migrare-disk congelato a quell’istante.

dd if=/dev/srv_1_vol/vm_da_migrare-disk | ssh -2 -o “Compressionlevel 1″ root@xxx.xxx.xxx.xxx “dd of=/dev/srv_2_vol/vm_da_migrare-disk bs=100M”
srv_1:/etc/xen# dd if=/dev/srv_1_vol/vm_da_migrare-disk | ssh -2 -o “Compressionlevel 1″ root@xxx.xxx.xxx.xxx “dd of=/dev/srv_2_vol/vm_da_migrare-disk bs=100M”
root@xxx.xxx.xxx.xxx’s password:
41943040+0 records in
41943040+0 records out
21474836480 bytes (21 GB) copied, 589.536 s, 36.4 MB/s
0+655801 records in
0+655801 records out
21474836480 bytes (21 GB) copied, 585.855 s, 36.7 MB/s

Sulla VM viene risistemato il gateway in interfaces e l’eventuale firewall visto che cambia il dom0 e che quindi avrà un IP diverso.

Sul SERVER_DAL_QUALE_MIGRARE disabilitare le VM spostate per il loro avvio al boot (tolto il link in /etc/xen/auto/)

Sus SERVER_SUL_QUALE_MIGRARE invece abilitare l’avvio della VM al reboot (link in /etc/xen/auto/)

Technorati Tags: xen, lvm2, dd, ssh, migrazione, dom0

 XEN: migrazione COLD di una VM da un dom0 verso un altro
share save 171 16 XEN: migrazione COLD di una VM da un dom0 verso un altro

Posted in Debian, Linux, News | No Comments »

XEN: timer stops running after dom0 reboot & save/restore

aprile 22nd, 2010 glycerin

Una nota abbastanza stonata ogni volta che si restarta il dom0 di una macchina adibita alla virtualizzazione.
Finora, dalla mia esperienza, mi è sempre stato necessario operare un destroy della macchina virtuale (VM) per po ritirarla su con un “xm create“. Il motivo è presto detto. Ogni volta che si ha un boot della macchina fisica la VM entra nello state “save” di XEN per poi essere ripristinata non appena la macchina fisica è su.

Se invece nella configurazione della VM viene inserito il campo extra del seguente tipo:

extra = ‘clocksource=jiffies’

e, insieme a questo far sì che il clock delle VM sia indipendente dalla dom0 con il parametro

xen.independent_wallclock=1

in /etc/sysctl.conf (sia per la VM che per la dom0).

Al riavvio ho notato che la VM ritorna ad avere un time coerente con la dom0, e in generale con l’ntp server configurato. Ovviamente questo presuppone che vi sia il daemon ntpd operativo.
Se altri hanno avuto esperienze simili alla mia mi farebbe piacere avere news sul workaround adoperato.

Technorati Tags: XEN, jiffies, clocksource, independent_wallclock

 XEN: timer stops running after dom0 reboot & save/restore

share save 171 16 XEN: timer stops running after dom0 reboot & save/restore

Posted in Debian, Linux, News, Virtualizzazione | No Comments »

add-firmware-to.sh un utile script per integrare in Lenny il firmware delle bnx2

aprile 9th, 2010 glycerin

Un problema incontrato con l’installazione della Lenny è la policy molto più stringente sul firmware necessario alle schede di rete Broadcom.
In particolare la problematica diventa molto critica se si installa o reinstalla la macchina in remoto, ad esempio tramite le DRAC. Una cosa che banalmente si risolve con una chiavina USB in questo caso diventa molto più difficoltosa. Per fortuna viene in aiuto uno script scritto da Dann Frazier che senza nulla ferire permette di riscrivere la ISO con a bordo il firmware per le broadcom. A questo link (Debian Netinstaller integrate bnx2x firmware) vi è anche un video dimostrativo ma banalmente i passi che in genere seguo sono:

host:~# ./add-firmware-to.sh debian-504-amd64-netinst.iso debian-504-amd64-netinst_bnx2.iso

Aggiornamento …

Ho cercato l’esistenza di una nuova release dello script e ho trovato tutt’altro al link sopra riportato. Per cui aggiungo qui la copia in mio possesso in modo tale da essere reperibile anche da me ogni volta utile .. add-firmware-to.sh

Technorati Tags: bnx2, drac, debian, broadcom

 add firmware to.sh un utile script per integrare in Lenny il firmware delle bnx2
share save 171 16 add firmware to.sh un utile script per integrare in Lenny il firmware delle bnx2

Posted in Debian, Linux, News | No Comments »

XEN: ridimensionamento dello spazio disco di una VM

aprile 9th, 2010 glycerin

Un problema che mi si è presentato è stato il ridimensionamento dello spazio disco dedicato ad una VM (del tipo disk based), ovvero è stato necessario fare un’operazione di shrinking. Un comodo comando linux è resize2fs che permette di reimpostare lo spazio occupato.
A dir la verità permette anche di ampliare lo spazio disco ma questa parte la si vedrà successivamente.

Una volta lanciato il comando esso fuoriesce segnalando la necessità di uno step necessario, ovvero il lancio del comando e2fsck per il checking del fs.

Questi sono i passi compiuti per il ridimensionamento da 50 GB a 40 GB:

host:~# resize2fs /var/xen/domains/vm.dominio.it/disk.img 40G
resize2fs 1.41.3 (12-Oct-2008)
Please run ‘e2fsck -f /var/xen/domains/vm.dominio.it/disk.img’ first.

host:~# e2fsck -f /var/xen/domains/vm.dominio.it/disk.img
e2fsck 1.41.3 (12-Oct-2008)
/var/xen/domains/vm.dominio.it/disk.img: recovering journal
Clearing orphaned inode 2490376 (uid=102, gid=104, mode=0100600, size=0)
Clearing orphaned inode 2490375 (uid=102, gid=104, mode=0100600, size=0)
Clearing orphaned inode 2490374 (uid=102, gid=104, mode=0100600, size=0)
Clearing orphaned inode 2490373 (uid=102, gid=104, mode=0100600, size=0)
Clearing orphaned inode 2490372 (uid=102, gid=104, mode=0100600, size=0)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/var/xen/domains/vm.dominio.it/disk.img: ***** FILE SYSTEM WAS MODIFIED *****
/var/xen/domains/vm.dominio.it/disk.img: 56076/3276800 files (0.7% non-contiguous), 1249574/13107200 blocks
host:~# resize2fs /var/xen/domains/vm.dominio.it/disk.img 40G
resize2fs 1.41.3 (12-Oct-2008)
Resizing the filesystem on /var/xen/domains/vm.dominio.it/disk.img to 10485760 (4k) blocks.
The filesystem on /var/xen/domains/vm.dominio.it/disk.img is now 10485760 blocks long.

Technorati Tags: resize2fs, e2fsck, xen

 XEN: ridimensionamento dello spazio disco di una VM
share save 171 16 XEN: ridimensionamento dello spazio disco di una VM

Posted in Debian, Linux, News | 1 Comment »

Pidgin non si connette a MSN

aprile 2nd, 2010 glycerin

Una problematica che non pochi avranno già affrontato e risolto.
Un’ottima guida è presente a questo link: Pidgin non si connette a MSN e devo ammettere che è anche vecchiotta ma valida.

Quello che devo aggiungere di mio per una Debian Lenny è che il pacchetto msn-pecan non è disponibile e allora è sufficiente andare direttamente sul sito che ospita il progetto http://code.google.com/p/msn-pecan/ per scaricare direttamente i sorgenti da compilare. Bisogna ricordarsi soltanto di far sì che le librerie libpurple-dev siano presenti sul sistema altrimenti la compilazione fallisce. Dopo di ciò è sufficiente un make install per poter installare la libreria e finire così di impostare il client per MSN.

Technorati Tags: pidgin, MSN, msn-pecan

 Pidgin non si connette a MSN

share save 171 16 Pidgin non si connette a MSN

Posted in Debian, Linux, News | No Comments »

Too many open files

aprile 1st, 2010 glycerin

A volte capita che nel far girare uno script PHP o un applicativo si aprono troppi file o socket con una segnalazione simile a quella in oggetto.
Per rimediare bisogna andare a rivedere le limitazioni mediante ulimit.
In genere con un ulimit -a si ottiene un listato di questo tipo:

host:~# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16372
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16372
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

quello di interesse nel nostro caso sono gli open file:
open files                      (-n) 1024
che di sefault sono impostati a 1024.
Per aumentare questo valore in running ci basta lanciare il seguente comando:
host:~# ulimit  -n 2048 www-data
che limita all’utente www-data 2048 open file.

Il secondo step riguarda il file limits.conf all’interno di /etc/security/ che avrà una riga del seguente tipo:
www-data        hard    nofile          2048
L’aver aggiornato questo file dovrebbe consentire, al riavvio della macchina, di non doversi preoccupare di lanciare un nuovo ulimit per reimpostare le limitazioni.
N.B.: questi path riguardano una Debian.

P.S.: come descritto su questo link le limitazioni che vengono indicate nel file limits.conf possono

P.S.: come descritto su questo link (How to: Prevent a fork bomb by limiting user process) le limitazioni che vengono indicate nel file limits.conf possono essere utili per limitare il fork bombTechnorati Tags: too many open files, ulimit, PHP, fork bomb

 Too many open files
share save 171 16 Too many open files

Posted in Debian, Linux, News, Security | 1 Comment »

Too many open files

aprile 1st, 2010 glycerin

A volte capita che nel far girare uno script PHP o un applicativo si aprono troppi file o socket con una segnalazione simile a quella in oggetto.
Per rimediare bisogna andare a rivedere le limitazioni mediante ulimit.
In genere con un ulimit -a si ottiene un listato di questo tipo:

host:~# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16372
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16372
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

quello di interesse nel nostro caso sono gli open file:
open files                      (-n) 1024
che di sefault sono impostati a 1024.
Per aumentare questo valore in running ci basta lanciare il seguente comando:
host:~# ulimit  -n 2048 www-data
che limita all’utente www-data 2048 open file.

Il secondo step riguarda il file limits.conf all’interno di /etc/security/ che avrà una riga del seguente tipo:
www-data        hard    nofile          2048
L’aver aggiornato questo file dovrebbe consentire, al riavvio della macchina, di non doversi preoccupare di lanciare un nuovo ulimit per reimpostare le limitazioni.
N.B.: questi path riguardano una Debian.

Technorati Tags: too many open files, ulimit, PHP

 Too many open files
share save 171 16 Too many open files

Posted in Debian, Linux, News, Security | No Comments »

Tsung un utile tool per il testing di applicazioni

marzo 29th, 2010 glycerin

Tsung (conosciuto come IDX-Tsunami) è un utile strumento per il load testing di applicazioni IP based client/server quali ad esempio i server HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP e Jabber/XMPP. Tsung è sviluppato in Erlang un linguaggio open-source sviluppato da Ericsson per la realizzazione di applicazioni robuste e fault-tolerant. Può essere distribuito su diversi client e così simulare centinaia di migliaia di utenti virtuali concorrenti fra loro.
Anche questo è uno strumento da tenere in considerazione se si vuole rilasciare una propria applicazione, oltre che sicura, anche affidabile.

Technorati Tags: Tsung, Erlang, MySQL, HTTP, PostgreSQL, Jabber

 Tsung un utile tool per il testing di applicazioni
share save 171 16 Tsung un utile tool per il testing di applicazioni

Posted in Linux, mysql, News, Security | No Comments »

Link ad un interessante articolo su come velocizzare un DB MySQL

marzo 28th, 2010 glycerin

Inserisco questo link in modo da mantenere un utile riferimento da non dimenticare mai quando si lavora con un DB MySQL. Come sempre il sito Programmazione.it è un utile punto di riferimento. L’articolo è il seguente: Alcuni trucchi per velocizzare un database MySQL

Technorati Tags: MySQL

 Link ad un interessante articolo su come velocizzare un DB MySQL
share save 171 16 Link ad un interessante articolo su come velocizzare un DB MySQL

Posted in Debian, Linux, mysql | No Comments »

Skipfish un “web security scanner” rilasciato da Google

marzo 28th, 2010 glycerin

Google ha rilasciato un security scanner open source che consente agli sviluppatori di web application di testare la loro applicazione alla ricerca di “buchi di sicurezza”. L’applicazione chiamata Skipfish ha un funzionamento simile a NMAP o Nessus ma con prestazioni più veloci. Con una euristica completamente automatica può individuare codice vulnerabile ad attacchi cross-site scripting (XSS), SQL e XML injection. Il tool alla fine del ciclo di test è in aiuto dello sviluppatore con un report che facilita la sua interpretazione, la sua scrittura completamente in codice C consente di processare circa 2000 HTTP request per secondo permettendo così di stressare il server remoto. Google raggiunge alte performance per mezzo di un modello di I/O seriale che processa le response in modo asincrono e, si dice, che consente una maggiore scalabilità rispetto agli approcci multi-threaded con processamento di richieste sincrone. Inoltre Google afferma di usare questo tool per testare le proprie applicazioni. In ogni caso questi controlli di security sono lontani dal soddisfare molti dei criteri del Consorzio Web Application Security WASC i Web Application Security Scanner Evaluation Criteria.
Skipfish che è ancora in Beta è stato rilasciato sotto la versione 2 dell’Apache License.

Link Utili: Google rilascia skipfish, per la sicurezza degli applicativi web

Technorati Tags: nessus, nmap, skipfish, WASC

 Skipfish un web security scanner rilasciato da Google
share save 171 16 Skipfish un web security scanner rilasciato da Google

Posted in Debian, Linux, News, Security | 1 Comment »