Virtualizzazione di macchine Linux tramite XEN



Documenti analoghi
Protezione del Kernel Tramite Macchine Virtuali

Architettura di un sistema operativo

Ricompilazione del Kernel a modo mio :

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Approccio stratificato

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Introduzione alla Virtualizzazione

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

Architetture software. Virtualizzazione

Virtualizzazione e Macchine Virtuali

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Macchine Virtuali. Docente: Fabio Tordini

System Center Virtual Machine Manager Library Management

DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale).

GNUraghe. Desktop Virtualization +VirtualBox+...quando un solo pc non basta più... IL LUG DI ORISTANO. Virtualizzazione dei sistemi con VirtualBox

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

XEN. Dott. Luca Tasquier.

Virtualizzazione VirtualBox su Host Windows

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Fisciano, 24 ottobre 2008

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

Il web server Apache Lezione n. 3. Introduzione

VMware. Gestione dello shutdown con UPS MetaSystem

Linux nel calcolo distribuito

Il memory manager. Gestione della memoria centrale

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Virtualizzazione. Orazio Battaglia

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Indice generale. Introduzione...xiii. Perché la virtualizzazione...1. Virtualizzazione del desktop: VirtualBox e Player...27

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

Setup dell ambiente virtuale

Online Help StruxureWare Data Center Expert

Gestione della memoria centrale

Il Software. Il software del PC. Il BIOS

Kernel Linux (per sysadm)

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

CVserver. CVserver. Micky Del Favero BLUG - Belluno Linux User Group Linux Day Feltre 25 ottobre Un cluster di VServer

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

IL MULTIBOOT. Un sistema multiboot consiste nella possibilità di caricare più sistemi operativi sullo stesso computer.

Progetto Vserver- HighAvailability

Progetto Virtualizzazione

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Creazione e configurazione della macchina virtuale

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Corso di Sistemi di Elaborazione delle informazioni

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Sistema operativo: Gestione della memoria

Panoramica delle funzionalita

L installer di Torinux

- Guida a VMware - Guida a VMware. Questa guida vi aiuterà passo passo nell installazione e la configurazione di VMware.

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale

Introduzione ai Sistemi Operativi

Il computer: primi elementi

In estrema sintesi, NEMO VirtualFarm vuol dire:

VIRTUAL INFRASTRUCTURE DATABASE

MODULO 02. Iniziamo a usare il computer

Installare Ubuntu su macchina virtuale

USE IMPROVE EVANGELIZE HOT SUMMER ZFS. Luca Morettoni

Strumento per l iniezione di guasti software nel sistema operativo GNU/Linux

27/03/2013. Contenuti

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Virtualizzazione ed Emulazione

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002

Informatica. Il software (S.O.) e ancora sulle basi numeriche

FoLUG Forlì Linux User Group. Partizionamento

Linux Embedded un pinguino piccolo così

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

La Gestione delle risorse Renato Agati

Sistemi Operativi (modulo di Informatica II) I processi

INSTALLAZIONE MS WINDOWS 7 SU MACCHINA VIRTUALE VMWARE

Esercitazione E1 Scheduling, deadlock, monitor

01/05/2013 Istruzioni per l installazione

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Il sistema operativo TinyOS

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Processi e Thread. Scheduling (Schedulazione)

Come fare a leggere questi dati generati da un programma windows?

Transcript:

26 Novembre 2005

Struttura Introduzione alla virtualizzazione

Cos è la virtualizzazione La virtualizzazione è un processo di astrazione in cui alcune risorse a livello più basso vengono presentate in maniera logica, anzichè in modo speculare a come sono realmente. Per esempio: Processore e Memoria negli attuali sistemi operativi Java Virtual Machine e.net CLI Macchine virtuali

Perchè virtualizzare Buon compromesso tra sicurezza ed economia di risorse Sperimentazione e sviluppo Uso contemporaneo di diversi sistemi operativi Fault tolerance

Come creare macchine virtuali Diverse tecniche: Emulazione completa dell hardware (vmware, bochs, QEMU) Con supporto nel kernel del sistema operativo (Solaris Zones, Linux VServer) Esecuzione del kernel a livello utente (User Mode Linux) Paravirtualizzazione (Xen, Denali)

Perchè Xen? È molto efficiente È il più scalabile per lo sforzo richiesto Ha momentum e sta progredendo velocemente Permette di emulare sistemi operativi diversi

A colpo d occhio

A colpo d occhio

A colpo d occhio

Xen e Domain-0 Xen non ha supporto diretto per la maggior parte dell hardware. Per utilizzarlo si fa aiutare dal primo sistema virtuale, il Domain-0, che è anche il sistema dall interno del quale tutti gli altri possono essere gestiti. Tale sistema è il primo a fare boot, direttamente alla partenza del sistema (Xen non è un sistema operativo completo, e non può esistere da solo ). Altri domini possono avere l accesso a parte dell hardware, se specificato nella configurazione.

Backend filesystem Si possono usare diversi media come backend per i filesystem dei domini: Partizioni fisiche (statiche, veloci) Partizioni su LVM (ridimensionabili, veloci) File su disco (dinamici, allocazione sparsa, lenti, facili da condividere)

Condividere la memoria La memoria fisica del sistema viene partizionata in maniera semi-statica tra i diversi domini. Infatti è possibile recuperare memoria da un dominio e passarla a un altro tramite il balloon driver. E necessario che il dominio a cui vogliamo aggiungere memoria sia stato fatto partire in modo da supportare la memoria aggiuntiva.

Migrare i domini I domini (tranne il Domain-0) possono essere fatti migrare a caldo tra diverse macchine Xen appartenenti allo stesso cluster. Per permettere questa feature i filesystem di backend devono essere visibili in partenza da entrambe le macchine. Questa feature è estremamente utile per poter fare manutenzione sui server che ospitano le macchine virtuali senza dare disservizio, oppure per bilanciare l uso delle risorse tra le macchine fisiche o ancora aggiungerne nuove in maniera trasparente.

Compilare il kernel per xen Per creare un kernel xen dobbiamo applicare due patch, prese dai sorgenti di xen, in questo modo: xen/linux-...-sparse$./mkbuildtree <linux tree to xenify> linux$ patch -p1 <.../linux-2.6.11-xen.patch Poi configuriamo il kernel e lo compiliamo, senza mai dimenticare di specificare l architettura xen: linux$ make menuconfig ARCH=xen linux$ make-kpkg --arch=xen... clean linux$ make-kpkg --arch=xen... kernel_image

Configurare grub Grub è l unico boot loader utilizzabile per caricare un sistema Xen. Ecco una stanza del file /boot/grub/menu.lst per caricare un sistema virtualizzato: title XEN/Debian GNU/Linux root (hd0,0) kernel /boot/xen.gz dom0\_mem=65536 module /boot/xen-linux-2.6.11.12x07 root=/dev/hdc1 ro \ console=tty0 mem=128m nousb boot

Creare nuovi domini Per creare un nuovo dominio dovremo innanzitutto installare il sistema operativo all interno del device di backend che andremo ad usare. Farlo è molto semplice con debian e ubuntu grazie a debootstrap, e con gentoo grazie agli stage. Un altro modo è usare un altro emulatore per installare il sistema operativo, anche se poi lo useremo con xen. Dopo di che dovremo configurare il file di configurazione del dominio, specificando le risorse allocate e i parametri di boot, e infine lo creeremo con: xm create -f /path/to/config/file In debian i file in /etc/xen/auto verranno fatti partire automaticamente al boot.

Esempio di configurazione kernel = "/boot/xen-linux-2.6.11.12xu02" #ramdisk = "/boot/initrd.gz" memory = 36 maxmem = 128 name = "xtd01" cpu = -1 # leave to Xen to pick nics=1 vif = [ mac=aa:00:00:00:00:01 ] disk = [ file:/var/xen/xtd01-root,sda1,w, file:/var/xen/xtd01-swap,sda2,w ] root = "/dev/sda1 ro" extra = "mem=128m 4"

Gestione del VMM Possiamo gestire il VMM tramite il comando xm : console list info maxmem balloon create destroy shutdown save restore migrate pause unpause Open a console to a domain. List information about domains. Get information about the xen host. Set domain memory limit. Set the domain s memory footprint. Create a domain. Terminate a domain immediately. Shutdown a domain. Save domain state (and config) to file. Create a domain from a saved state. Migrate a domain to another machine. Pause execution of a domain. Unpause a paused domain.

Conclusioni Xen: http://www.xensource.com/ Io: http://people.quaqua.net/ultrotter/, guido@quaqua.net That s all, folks!