Architettura XEN: Domain Management and Control

Scritto il 27/01/2010
 

La virtualizzazione dei sistemi operativi – Capitolo 3

Ci sono una serie di processi in esecuzione in Domain 0 che hanno il compito di gestire e controllare le macchine virtuali in esecuzione:

Xend

Xend è un programma server scritto in Python in esecuzione su Domain 0. Esso riceve i comandi di gestione della macchine virtuali e restituisce l’esito. Le richieste sono inviate dal processo client Xm attraverso un’interfaccia XML RPC (per un approfondimento sulle specifiche XML RPC si rimanda al sito www.xmlrpc.com).
Nella figura seguente i processi Xend e Xm sono riportati all’esterno di Domain 0 solo per motivi di chiarezza.

Comunicazioni tra Xm, Xend e Hypervisor
Fig 3.5: Comunicazioni tra Xm, Xend e Hypervisor

Xm

Xm è il tool a riga di comando attraverso il quale si inviano i comandi a Xend.

Xenstored

Xenstored è un processo che mantiene un registro degli eventi che intercorrono tra Domain 0 e gli altri Domain U.

Libxenctrl

Libxenctrl è una libreria scritta in linguaggio C che consente al processo Xend di parlare con lo Xen Hypervisor attraverso Domain 0. In Domain 0 è incluso un driver denominato privcmd che è incaricato di gestire e consegnare le richieste all’Hypervisor.

Qemu-dm

Nel Domain 0 è in esecuzione un processo Qemu-dm per ogni Domain U HVM Guest avviata nello Xen Hypervisor. Questo processo gestisce tutte le richieste che i Domain U HVM effettuano verso le risorse I/O.

Serverlab