Giochiamo un poco con la console virtuale di Xen.
16 Feb 2010
Ci sono molti modi per ricavare informazioni sulle macchine virtuali in esecuzione su di un sistema Xen.
Il tool principale e' il comando xm, che praticamente ci permettere di fare tutto quel che vogliamo. Poi c'e' xentop, perfetto per ricavare utili statistiche quali l'utilizzo di cpu, rete e dischi per ogni domU. Infine vi e' un modo un po' più oscuro ma molto versatile soprattutto quando si e' necessario scrivere uno script per automatizzare la gestione di un nodo Xen. Si tratta di XenStore.
XenStore non e' altro che un piccolo spazio condiviso tra tutti i domini, nel quale vengono salvati i dati relativi alla configurazione e stato di tutti i domini e che trova in:
Vi sono inoltre alcuni tool che permettono di interagire con questo spazio e di modificare e leggere le informazioni.
Ad esempio, supponiamo di avere la necessità di sapere quale terminale virtuale e stato assegnato ad un particolare domU di nome vps-0002
Ricaviamo l'id della macchina virtuale:
Supponiamo che l'esito del comando precedente sia 14. Ora possiamo ricavarci il dato relativo al terminale:
Ora divertiamoci un poco con la console:
Abbiamo scoperto un modo molto interessante di passare dei comandi ad una vps direttamente da dom0 tramite la console virtuale.
Il tool principale e' il comando xm, che praticamente ci permettere di fare tutto quel che vogliamo. Poi c'e' xentop, perfetto per ricavare utili statistiche quali l'utilizzo di cpu, rete e dischi per ogni domU. Infine vi e' un modo un po' più oscuro ma molto versatile soprattutto quando si e' necessario scrivere uno script per automatizzare la gestione di un nodo Xen. Si tratta di XenStore.
XenStore non e' altro che un piccolo spazio condiviso tra tutti i domini, nel quale vengono salvati i dati relativi alla configurazione e stato di tutti i domini e che trova in:
Code: [Select]
/var/lib/xenstored/tdbVi sono inoltre alcuni tool che permettono di interagire con questo spazio e di modificare e leggere le informazioni.
Ad esempio, supponiamo di avere la necessità di sapere quale terminale virtuale e stato assegnato ad un particolare domU di nome vps-0002
Ricaviamo l'id della macchina virtuale:
Code: [Select]
~# virsh list | grep vps-0002 | awk '{ print $1 }'Supponiamo che l'esito del comando precedente sia 14. Ora possiamo ricavarci il dato relativo al terminale:
Code: [Select]
~# xenstore-read /local/domain/14/console/tty
/dev/pts/2Ora divertiamoci un poco con la console:
Code: [Select]
~# echo "root" >> /dev/pts/3
~# echo "password" >> /dev/pts/3
~# echo "free" >> /dev/pts/3
~# cat /dev/pts/3
vps-0002:~# free
total used free shared buffers cached
Mem: 262360 84720 177640 0 4728 46452
-/+ buffers/cache: 33540 228820
Swap: 262136 0 262136Abbiamo scoperto un modo molto interessante di passare dei comandi ad una vps direttamente da dom0 tramite la console virtuale.

