Visualizzazione post con etichetta virtualizzazione. Mostra tutti i post
Visualizzazione post con etichetta virtualizzazione. Mostra tutti i post

mercoledì 7 marzo 2018

virtualizzazione: nozioni di base

Nell'universo della virtualizzazione di sistemi operativi e architetture di computer e' facile fare confusione.
E' utile fare un po' di ordine nelle definizioni

LIVELLO 0: piattaforma di virtualizzazione x86 o hypervisor: vmware, virtualbox, qemu

LIVELLO -1: kernel - based - Virtualmachine (KVM): infrastruttura di virtualizzazione per kernel che unita a qemu puo' virtualizzare diverse architetture e sistemi operativi sotto linux.

LIVELLO 1: tool di gestione di hypervisor: libvirt
LIVELLO 2: layer di gestione libvirt: virsh, virtual machine manager, gnome boxes, ovirt

Dalla riunione NALUG del 5 maggio 2018

Il primo concetto chiave esposto è stato quello della differenza tra
virtualizzazione e paravirtualizzazione -
https://stackoverflow.com/questions/21462581/what-is-the-difference-between-full-para-and-hardware-assisted-virtualization

Gli esempi citati sono stati i seguenti

- virtualbox - https://www.virtualbox.org/
- kvm - https://www.linux-kvm.org/page/Main_Page
- qemu - https://www.qemu.org/
- libvirt - https://libvirt.org/
- virt-manager - https://virt-manager.org/
- proxmox - https://www.proxmox.com/en/ 

Proxmox slides LDNA16 -
https://materiale.nalug.net/02_eventi_pubblici/linuxday_napoli/linuxday2016/03_Francesco_Taurino_-_Proxmox_pa_e_pmi.pdf 


Proxmox video LDNA16 - https://www.youtube.com/watch?v=lSPZoh5msHc

- xen - https://www.xenproject.org/

venerdì 9 febbraio 2018

Archeologia informatica, applicativo di fine anni 90

è una collezione di immagini di CD che hanno data 1999. Gira su DOS ma non basta forse c'e' bisogno di qualche funzionalità' grafica di windows 3.11 o 95. Purtroppo non trovo un system requirement che mi permetta di capire come configurare le cose.

bisogna configurare l'ambiente secondo il CDSETUP.BAT
e poi inserire il CD F
provo con DOS box emulator
purtroppo mi fermo alla schermata seguente

dove capisco che non riconosce il percorso dei dischi come il cdrom.
ciò lo capisco anche dal file di diagnostica "PIPPO" che produce prima di chiederti di inserire il cd F

Usiamo invece un approccio più sofisticato: la virtualizzazione QEMU

questa è un'ottima guida per creare rapidamente una macchina DOS
http://gunkies.org/wiki/Installing_MS-DOS_on_Qemu

impari ad usare la QEMU console per cambiare dischetti e CDROM
(qemu) info block 
https://www.linux-kvm.org/page/Change_cdrom
https://superuser.com/questions/97491/how-to-change-the-floppy-image-of-qemu
(qemu) change floppy0 os.img

impari a creare un floppy disk virtuale
https://www.linux.org/threads/create-img-files.11174/

il problema nasce sul cdrom perchè il dos non riconosce in automatico il cdrom, bisogna installarlo. In aiuto viene il seguente tutorial
http://manmrk.net/tutorials/DOS/cdrom.htm per cercare il driver giusto per il cdrom
io ho utilizzato questo setup.exe che mi ha ffinalmente permesso di vedere e caricare virtualmente il CDROM.

Adesso tutto si avvia correttamente ma mi scontro con la risoluzione video DOS che e' troppo bassa. Bisogna adottare un enhanchement grafico successivo al DOS, la risoluzione ottimale dovrebbe essere 640X480. Provo ad installare windows 3.11

ma il risultato non cambia, dovrei cambiare le impostazioni video di win 3.11 ma la cosa non è così immediata, preferisco passare a win95-OSR2
Ho trovato un portale con tutti i sistemi operative Microsoft:
https://winworldpc.com/library/operating-systems
c'è da sbizzarrirsi
Win95 utilizza una versione avanzata di DOS conb questa dovrei trovare l'environment giusto.
Speriamo....

qemu-system-x86_64 -hda win95.disk -m 64 -L .

sarebbe da provare anche il freedos forse un po' più avanzato del dos
https://en.wikibooks.org/wiki/QEMU/FreeDOS

giovedì 19 gennaio 2017

Creare e testare una live usb

Oramai i CD sono in via d'estinzione e sono anni che ricorro alle penne USB per avviare live OS sui computer. La situazione delle USB-stick avviabili però a me pare molto più intricata di quella dei CD.
all'inizio c'erano i programmi GUI che la facevano da padrone ma non erano mai compatibili al 100% per tutte le distro. Ho notato anche come sui sistemi Microsoft ci fosse sempre enorme scelta ma sempre abbastanza confusionaria come per tutto ciò che riguarda microsoft.
Poi è arrivato DD... semplice ed efficace
le opzioni nel comando? L'unica che sembrava un po ambiugua era bs (blocksize): 4M dovrebbe assicurarti una buona velocità e compatibilità ma se hai problemi abbassa a 1M.

Purtroppo ci sono vari ostacoli al funzionamento della distro sulla pennetta USB:
  1. l'immagine iso deve essere avviabile: ad esempio alcuni come Antix facevano delle iso non avviabili ed era necessario un programma pper creare una penna usb avviabile. Ciò però può essere verificato come vedremo più tardi;
  2. La penna USB deve essere compatibile con l'avvio della live: ho visto che alcune pennette, benchè visibili fino al grub, dopo non vengono; riconosciute, come se all'avvio il sistema non caricasse i driver per quelle penne. Spero in futuro di capire che tipo di hardware mette in crisi l'avvio
  3. La penna USB non è compatibile con il Bios: nonostante sia letta correttamente il non la riconosce come periferica di boot. Ciò sembra accadere tra computer vecchi e pennette nuove.

Vediamo come verificare il funzionamento di una ISO o di una pennetta

Un esempio per tutti con la iso di mint:
con la penna usb in sdi
scriviamo la pennetta con il comando
sudo dd if=linuxmint-18-xfce-64bit.iso of=/dev/sdi oflag=direct  bs=1M

aggiornamento del 9 sett 2021

per verificare come funziona appicci la macchina virtuale con la USB-stick con un semplice comando:
qemu-system-x86_64 -m 512 -enable-kvm -usb -usbdevice disk:/dev/sdi

per verificare se l'immagine scaricata funziona:
qemu-system-x86_64 -m 512 -enable-kvm linuxmint-18-xfce-64bit.iso

Se l'accensione della macchina virtuale da USB-stick è troppo lenta, ma vuoi verificare se la ISO è scritta correttamente allora puoi riscrivere l'immagina della USB-stick sul disco e avviare quella:
dd bs=4M if=/dev/sdi of=Scaricati/USBstick.img
qemu-system-x86_64 -m 512 -enable-kvm Scaricati/USBstick.img

mercoledì 16 marzo 2016

aumentare la capacità di dischi virtuali img

cito
http://askubuntu.com/questions/107228/how-to-resize-virtual-machine-disk

On Debian based distro you should use virt-resize instead. This handle pretty much everything under the hood now. Let's assume your image is called Win7 (why not?). First thing make sure your VM is shut down:
Install the tool:
# apt-get install libguestfs-tools
Get the location of your VM disk:
# virsh dumpxml Win7 | xpath -e /domain/devices/disk/source
Found 2 nodes in stdin:
-- NODE --
<source file="/var/lib/libvirt/images/Win7.img" />
-- NODE --
<source file="/var/lib/libvirt/images/Win7.iso" />
You may need to adapt /var/lib/libvirt/images/Win7.img in the following:
# virt-filesystems --long --parts --blkdevs -h -a /var/lib/libvirt/images/Win7.img
Name       Type       MBR  Size  Parent
/dev/sda1  partition  07   100M  /dev/sda
/dev/sda2  partition  07   32G   /dev/sda
/dev/sda   device     -    32G   -
Create your 64G disk:
# truncate -s 64G /var/lib/libvirt/images/outdisk
You'll need to expand /dev/sda2 (not the boot partition):
# virt-resize --expand /dev/sda2 /var/lib/libvirt/images/Win7.img /var/lib/libvirt/images/outdisk
Examining /var/lib/libvirt/images/Win7.img ...
 100% [progress bar] --:--
**********

Summary of changes:

/dev/sda1: This partition will be left alone.

/dev/sda2: This partition will be resized from 32G to 64G.  The 
    filesystem ntfs on /dev/sda2 will be expanded using the 
    'ntfsresize' method.

**********
Setting up initial partition table on outdisk ...
Copying /dev/sda1 ...
Copying /dev/sda2 ...
 100% [progress bar] 00:00
 100% [progress bar] 00:00
Expanding /dev/sda2 using the 'ntfsresize' method ...

Resize operation completed with no errors.  Before deleting the old 
disk, carefully check that the resized disk boots and works correctly.
Make a backup just in case (or simply use mv if you do not want the backup):
# cp /var/lib/libvirt/images/Win7.img /var/lib/libvirt/images/Win7.img.old
# mv /var/lib/libvirt/images/outdisk /var/lib/libvirt/images/Win7.img
Now simply boot !
For more info: man virt-resize

lunedì 19 maggio 2014

installazione di virtualbox su Fedora

Che io sappia, esistono 3 piattaforme di virtualizzazione che girano su Linux.
La piattaforma opensource è comoda e veloce da usare, da riga di comando e da remoto ma con le periferiche USB ho dovuto rivolgermi altrove.

Ho uno scanner epson perfection 4180 photo che sotto fedora (e penso sotto ilinux) non è in grado di funzionare. A questo punto ho deciso di farlo lavorare su una macchina virtuale.

VirtualBox è un virtualizzatore non integrato in fedora quindi si possono verificare problemi di compatibilità con il kernel, inoltre bisogna seguire alcuni passi per far funzionare VirtualBox in Fedora e abilitare le periferiche USB.

Citando il link
https://ask.fedoraproject.org/en/answers/40927/revisions/

bisogna essere root e fare i seguenti passi
aggiungere la repo per gli aggiornamenti

su -
cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo


installare questa roba per far funzionare Virtualbox

yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms

installare virtualbox
yum install VirtualBox

aggiungere il proprio account nel gruppo vboxusers

usermod -a -G vboxusers username

e riavviare il computer

venerdì 28 febbraio 2014

virtualizzazione da linea di comando

Dando per scontato che è installato VMM
rapidamente:
il comando virsh  (da root) ti permette di controllare le macchine

http://www.cyberciti.biz/faq/linux-kvm-stop-start-guest-virtual-machine/

mentre il comando virt-viewer ti fa accedere alla terminale grafico della macchina

esempio

[root@massera19 ettore]# virsh list
 Id    Nome                           Stato
----------------------------------------------------
 2     XPettore                       in esecuzione

[root@massera19 ettore]# virt-viewer XPettore

lunedì 1 ottobre 2012

scheda di rete virtuale, come impostarla?

per non rubare risorse sarebbe utile impostare l'host come NAT e usare quindi l'ip dell'host per navigare in rete. Ma a volte ciò non funziona (con virtual manager)
Finora quello che funziona con Virtual Manager è
dove VEPA sta per Virtual Ethernet Port Aggregator ed è spiegato qui.

Anche la soluzione NAT funziona bene:
Il dispositivo sorgente sarà Rete virtuale 'default': NAT
mentre il modello dispositivo è sempre rtl8139
sul computer virtuale (XP) ecco la schermata della configurazione di rete (ipconfig)
  
mentre sul computer host, digitando nella shell ifconfig compare
 la scheda em1 è quella reale, la virbr0 è la scheda del computer virtuale mentre le schede lo e vnet non so a cosa servono...

giovedì 2 agosto 2012

virtualizzare... da remoto!

Aggiornamento4: da fedora18 in poi
http://niranjanmr.wordpress.com/2013/03/20/auth-libvirt-using-polkit-in-fedora-18/

Aggiornamento3: finalmente! Bisogna avviare il servizio ssh sul server fedora che ospita le macchine virtuali: leggendo il blog di darchino.ch bisogna fare tre semplici passi:
1. Installare il pacchetto openssh-server (da root digitare: "yum install openssh-server")
2. Attivare la porta ssh (usando il programma firewall, per farlo partire da terminale digitate "system-config-firewall") mettete quindi la spunta alla porta 22 protocollo tcp
3. Attivare il server ssh sul proprio computer (sempre da root digitare "/sbin/service sshd start")
a questo punto si avvia il demone libvirtd con
libvirtd -d e quindi finalmente parte la connessione sul client
Ora ci sono 2 piccole noie da superare: la connessione o la potenza di calcolo del client sembrano troppo lenti per rendere scorrevole l'utilizzo della macchina virtuale. Teamviewer regola la qualità ottimizzando l'usabilità. Con virtual manager non è possibile. Però rimane la comodità di accendere o spegnere una macchina virtuale da remoto

Aggiornamento2: non riuscivo ad avviare il demone di libvirtd, ecco cosa succede
"# libvirtd -d
libvirtd: errore: Unable to obtain pidfile. Controllare /var/log/messages o eseguire senza --daemon per maggiori dettagli."
Sembrerebbe che il file è occupato da qualche altro applicativo come virtual manager ma invece scopro che non devo usare i privilegi di root per avviarlo.

Aggiornamento1:  http://linux.die.net/man/8/libvirtd

l'idea è questa: hai una macchina potente (server) dove puoi far girare qualche SO virtualizzato senza che l'operatore soffra problemi di appesantimento. Poi hai uno scassone tipo pentium 3 che riesci a far girare con qualche distro light di linux. Il bello sarebbe che lo scassone possa accedere al server e accendersi la macchina virtuale e quindi poter usare Microsoft XP o 7 senza hardware dedicato.
Come si fà?
Incominciamo a dire che server e client devono stare in una LAN
Seconda cosa, devono usare Virtual Machine Manager (VMM): una applicazione sviluppata da redHat
"The application logic is written in Python, while the UI is constructed with Glade and GTK+."
che funziona abbastanza bene sotto fedora
L'applicazione si basa su libvirt e può creare e gestire macchine QEMU, KVM o XEN.
Io ho installato un windows XP su piattaforma QEMU e funziona molto bene, molto meglio di virtualbox (si blocca e fa crashare anche il DE) o vmware (non si installa in fedora).
Insomma installi VMM sul server, ti installi una o più macchine virtuali e hai una console che ti permette di gestirle (accendi, spegni, controlli le risorse in uso). La cosa simpatica è che se chiudi la finestra della macchina e anche la console di VMM la macchina continua ad essere residente in memoria e disponibile a future interrogazioni.
A questo punto installi la console di VMM sul client scassone e quello che ti rimane da fare è un collegamento tramite prot ssh al libvirt-deamon del server per poter gestire da remoto le macchine virtuali come se stessi sul server.
Qui però le cose si fanno difficili, bisogna passare alla riga di comando ed impostare alcuni file di configurazione...
Avendo Fedora17 ho seguito le seguenti istruzioni
http://wiki.libvirt.org/page/SSHSetup
che poi ti deviano sulla seguente pagina
http://wiki.libvirt.org/page/SSHPolicyKitSetup

praticamente bisogna scrivere un file con estensione .pkla
un esempio è quello che ho scritto io che permette all'utente ettore di accedere alla libvirt

[Remote libvirt SSH access]
Identity=unix-user:ettore
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Leggi gli aggiornamenti ad inizio pagina...