Tags archives: virtualizzazione

 

0

Virtual Machine Manager


Virtual Machine Manager o anche virt-manager é un interfaccia utente per desktop progettata per gestire le macchine virtuali attraverso libvirt. scritto in Python sviluppato da Redhat e rilasciato sotto licenza GPLv2.

Le principali funzionalità di virt-manager sono:
  • creare, modificare, avviare e fermare una macchina virtuale,
  • accedere alla console delle VM,
  • visualizzare le statistiche sulle performance delle VM,
  • usare macchine virtuali KVM, Xen, o QEMU controllandole sia in locale che in remoto,
  • usare container LXC

Nel caso di Fedora, virt-manager si collega alla libreria libvirt per creare macchine di tipo KVM.
Le VM in Fedora vengono lanciate in “Full Virtualization”, cioé utilizzano delle funzionalitá hardware del processore per fornire alle VM un ambiente completamente virtualizzato: Il sistema operativo ospite ha a disposizione tutte le funzionalitá come se girasse su un hardware reale.
Fedora mette a disposizione diversi software per collegarsi alla libreria libvirt. Libvirt é una libreria che permette di collegarsi in maniera indipendente all’hypervisor che si intende usare. I tools che Fedora mette a disposizione per collegarsi a libvirt sono:
  • virsh
  • virt-manager
  • virt-install

Per chi usa GNOME esiste anche un software chiamato gnome-boxes che ha grosso modo le stesse funzioni di virt-manager.

Per installare tutti i software di virtualizzazione Fedora mette a disposizione un gruppo apposito, per avere informazioni a riguardo:
dnf group info “Virtualization”

per installarlo:
dnf group install “Virtualization”

Le macchine installate da virt-manager utilizzeranno una rete privata, se si ha bisogno di esporre i servizi delle proprie macchine su altre reti si puó usare firewalld o iptables per effettuare forward su porte specifiche o creare un bridge come descritto in un mio articolo precedente.

Per creare una nuova macchina virtuale, si deve lanciare virt-manager e fornire la password di root o la propria se si fa parte del gruppo sudoers.
Con virt-manager é possibile anche aprire un hypervisor remoto. Per fare questo é sufficiente prendere dal menu File la voce “Add a connection” e inserire i dati SSH del server che si intende utilizzare. Questo tipo di connessione é veramente comoda per l’utilizzo di macchine virtuali su un server internet.

Per creare una macchina virtuale si puó prendere la voce “New virtual machine” sempre dal menu File o cliccare sul bottone corrispondente. Si aprirá il wizard per la creazione di una nuova VM.

Il percorso consiste di cinque passi:
  1. scegliere il tipo di installazione,
  2. scegliere il media di installazione,
  3. configurare quanta memoria e quante cpu utilizzare,
  4. configurare lo spazio a disposizione della VM,
  5. dare un nome alla macchina ospite (guest), configurare la rete, architettura, e altre impostazioni hardware.

Il wizard inizia con la selezione del tipo di installazione, sceglieremo “Local install media”. É possibile usare un DVD-ROM o una Iso, se si sceglie la iso apparirá una finestra che permette di sfogliare tra le cartelle.

La finestra riconoscerà automaticamente il sistema operativo, se non riesce é possibile selezionarlo dal menu a tendina.

Cliccando su forward si accede alla finestra successiva che permette di configurare il numero di CPU da utilizzare e la quantitá di memoria. Per le mie esigenze io di solito metto tutte le CPU che ho a disposizione e 4GB o 8GB di memoria, ma questo dipende da cosa si intende fare con la macchina.


Adesso si deve configurare lo spazio a disposizione, il tipo di filesystem utilizzato é dinamico, cioé si “allargherà” man mano che inserite dati reali. Quindi dovete pensare alla dimensione massima che pensate di utilizzare, per le mie esigenze di solito 60GB sono piú che sufficienti.
Il successivo passaggio consiste nell'installazione del sistema operativo.

Virtual Machine Manager é un ottimo software per la gestione di macchine virtuali, io l’ho trovato particolarmente utile nella gestione remota. Permette infatti di installare un sistema operativo in remoto e ottenere la sua console.

Alcuni riferimenti:
https://en.wikipedia.org/wiki/Virtual_Machine_Manager
https://virt-manager.org/
https://docs.fedoraproject.org/en-US/Fedora/25/html/Virtualization_Getting_Started_Guide/index.html

 

0

Virtual Machines


Quando ero ragazzo, se volevo studiare un sistema operativo, dovevo installarlo nel computer e probabilmente distruggere tutti i miei dati finché non capivo come funzionava.
Ricordo una legge di Murphy che diceva: “La preparazione tecnica di un sistemista è direttamente proporzionale ai danni subiti dal suo sistema”.
Oggi per fortuna è possibile simulare praticamente qualunque cosa.
Per esempio, puoi creare quattro macchine virtuali in un computer, quattro in un altro e farle comunicare tra loro, simulando uno scambio di dati tra due data-center.
Questi sistemi ormai sono talmente affidabili, che l'unica differenza apprezzabile rispetto ad una macchina reale, è nelle prestazioni. Non è un caso che Cloud e Cluster ormai sono strettamente connessi con le virtualizzazioni e le containerizzazioni.
Per quanto riguarda le implementazioni, esistono molte soluzioni e la maggioranza possono essere usate a livello professionale. Io ne ho installate diverse, ma la mia preferita, quando devo studiare o testare qualcosa, è KVM (Kernel-based Virtual Machine). KVM, è un'infrastruttura che si innesta nel kernel di Linux e permette di implementare la virtualizzazione da parte di altri software.
Per ottenere questo risultato sfrutta Intel VT (Intel Virtualization Technology) o AMD-V (AMD Virtualization).
KVM ha, in diversi casi, anche il supporto alla paravirtualizzazione, che non è una vera e propria virtualizzazione, ma è un sistema di condivisione dell'hardware gestito dal kernel ed è molto usato ad esempio per le schede di rete, migliorando le prestazioni del sistema virtualizzato.
Per contro, il crash di un dispositivo paravirtualizzato in una macchina virtuale può provocare crash anche nelle altre. Per implementare questo tipo di soluzione il kernel ospitante deve essere modificato, da qui la necessità di un'infrastruttura a livello kernel.
Naturalmente, non esiste solo KVM, esistono anche altre soluzioni e tra le più famose ci sono: LXC, OpenVZ, Xen. Queste seguono gli stessi principi, per poi dividersi nei dettagli e nelle implementazioni, a volte per ragioni storiche a volte per esigenze e obiettivi diversi.
Come dicevo, questa infrastruttura si trova a livello del kernel e per usarla bisogna “mandare qualcuno a parlarci”. Ossia ci vuole un software specifico, e di solito quando ci vuole un software ci vogliono anche delle librerie. Sto parlando di Libvirt.
Esistendo diverse implementazioni a livello kernel, esistono anche specifiche chiamate di sistema per ogni implementazione.
I programmatori si troverebbero quindi, costretti ad imparare ogni chiamata di KVM o di OpenVZ, o di qualunque altra implementazione. Libvirt risolve questo problema unificando queste chiamate e creando astrazione. Il programmatore può in questo modo disinteressarsi della specifica implementazione, concentrandosi sul suo progetto.
Libvirt è composta di un'API (Advanced Programming Interface), un daemon e un tool di management, così come dei wrapper, che permettono di comunicare con la libreria attraverso linguaggi ad alto livello come Python, Perl, Ocaml, Ruby, Java, Javacript (via Node.js) e PHP.
I tool di management più famosi sono virsh (a linea di comando) e virtual machine manager (grafico).
Veniamo all'ultimo pezzo del nostro puzzle: abbiamo bisogno di un componente software che attraverso la libreria libvirt vada a parlare per nostro conto con KVM; questo pezzo si chiama hypervisor e si trova tra il tool di management e KVM.
Ossia: noi parliamo col tool di management, il tool parla con l'hypervisor e l'hypervisor attraverso le libreria comunica con KVM; il nostro stack è così completo.
Nomi di hypervisor comunemente utilizzati sono: LXC, OpenVZ, QEMU, Xen, Virtualbox, VMWare. Quello che uso io, per i miei test nel portatile è QEMU.
Dopo tutta questa prosopopea, possiamo finalmente fare un elenco delle funzionalità di KVM:
  • Over-committing: il sistema può allocare più CPU virtualizzate di quelle realmente esistenti.
  • Thin provisioning: permette di allocare lo spazio in modo flessibile per ogni virtual machine.
  • Disk I/O throttling: permette di impostare un limite alle richieste di I/O del disco mandate dalle VM alla macchina ospitante.
  • Virtual CPU hot add capability: permette di aumentare la potenza del processore    “a caldo” cioè mentre la virtual machine è in funzione.
  • Automatic NUMA balancing: aumenta le prestazioni delle applicazioni che girano su sistemi di tipo NUMA.
Per chi se lo stesse chiedendo, non stiamo parlando di Mauro Numa, campione italiano di fioretto, né di Shozo Numa, famoso scrittore giapponese di fantascienza autore del libro Kachikujin yapū, da cui è stato tratto il manga “Yapoo – Il bestiame umano”, racconto con sfumature sadomaso del quale immagino l'umanità non potesse fare a meno. No! Parliamo della “Non-Uniform Access Memory”, architettura di memoria sviluppata per sistemi multiprocessore studiata appositamente per velocizzare l'apporto di dati ai processori da parte delle memorie.
Una curiosità: questa tecnologia venne sviluppata in Italia negli anni '80, quando ci si occupava ancora di informatica e in Italia si trovavano tra i computer più veloci del pianeta. So che fa caldo, ma non divaghiamo!
Per installare tutto questo popò di roba dovete innanzitutto verificare che il vostro processore abbia “competenze virtuali”, cioè le tecnologie di virtualizzazione di cui sopra:
per sistemi intel: grep --color 'vmx' /proc/cpuinfo, mentre per sistemi amd: grep –color 'svm' /proc/cpuinfo
Se non appare niente, potrebbe darsi che queste estensioni siano disabilitate nel bios o che il vostro processore non supporti la virtualizzazione. lsmod | grep kvm vi informa se il modulo kvm è stato caricato. Deve mostrare kvm, kvm_intel o kvm_amd.
I nomi dei pacchetti cambiano a seconda della distribuzione, su internet è abbastanza facile trovare l'elenco, in generale dovete installare quelli concernenti virt-manager, libvirt, qemu e avviare il daemon libvirtd se non è già attivo.
Per una spiegazione dettagliata su questi software è necessario un articolo specifico. Magari la prossima volta.

 

 

0

Installare e Configurare XenServer 6.5: Step by Step

XenServer, casa Citrix, è uno dei prodotti di Virtualizzazione più usati nel mondo IT. XenServer, come dice il nome stesso, basa la sua tecnologia su Xen, un progetto Open Source di Hypervisor molto leggero. Grazie alla sua scalabilità è possibile provare XenServer anche su VirtualBox. In questa guida vedremo quali sono i requisiti minimi per l’installazione, come Installarlo, come configurarlo e come gestire le macchine Virtuali con XenCenter e OpenXenManager. Download E’ possibile scaricare...

 

0

VirtualBox 5.0.6 è stato rilasciato con il supporto per kernel linux 4.3, systemd, ed El Capitan

 

0

Il meglio di Ubuntulandia: la top ten dei post più visti nel mese di Luglio 2015.

1.- Come installare semplicemente e velocemente Linux su una macchina Dos approfittando i vantaggi di UMSDOS. Il titolo può trarre in inganno, in quanto Linux è un Sistema Operativo indipendente...

 

 

 

 

0

BackBox 4.1 is now here!

Oggi è giornata di festeggiamenti e come vi avevo preannunciato BackBox 4.1 è finalmente disponibile al grande pubblico abbiamo fatto un grande lavoro per poter ottimizzare al meglio questa nuova versione correggendo tanti piccoli errori della precedente versione 4.0. Una grande novità è volta alla virtualizzazione, caricando BackBox in live-mode troverete già disponibili e avviati ...

L'articolo BackBox 4.1 is now here! sembra essere il primo su Over Security.