GNU/Linux >> Linux Esercitazione >  >> Linux

6 tecnologie di virtualizzazione open source da conoscere nel 2020

Virtualization Tools, meglio noto come Virt Tools, è una raccolta di sei strumenti di virtualizzazione open source creati da vari contributori per rendere il mondo della virtualizzazione un posto migliore.

Alcuni strumenti, come KVM e QEMU, potrebbero essere familiari agli appassionati di Linux, ma strumenti come libvirt e libguestfs probabilmente lo sono meno.

Nel caso in cui preferisci imparare guardando i video piuttosto che leggendo, ho creato una versione video di questo articolo, a cui puoi accedere su YouTube.

Prima di esaminare gli strumenti, è una buona idea conoscere una terminologia essenziale per la virtualizzazione. Ho derivato molte di queste definizioni da Wikipedia, con pagine collegate nella tabella.

Durata Definizione
Virtualizzazione Nell'informatica, la virtualizzazione si riferisce all'atto di creare una versione virtuale (piuttosto che fisica) di qualcosa, incluse piattaforme hardware di computer virtuali, dispositivi di archiviazione e risorse di rete di computer.
Emulatore Un emulatore è un hardware o un software che consente a un computer (denominato host) di comportarsi come un altro computer (denominato guest).
Macchina virtuale (VM) Nota anche come "macchina ospite", queste sono emulazioni di computer hardware fisici reali.
Host Nella virtualizzazione hardware, un computer su cui un hypervisor esegue una o più VM.
Hypervisor Questo è software, firmware o hardware per computer che crea ed esegue una VM.
Kernel Questo è un programma per computer al centro del sistema operativo di un computer con il controllo completo su tutto nel sistema.
Daemon Questo è un programma per computer che viene eseguito come processo in background, piuttosto che sotto il controllo diretto di un utente interattivo.

Questa tabella riassume ogni strumento Virt, comprese le informazioni sulla licenza e i collegamenti al sito Web e al codice sorgente di ogni strumento. Gran parte di queste informazioni provengono dal sito Web di Virt Tools e dal sito di ogni strumento.

Nome Che cos'è Licenza Codice sorgente
Macchina virtuale basata su kernel (KVM) Un modulo di virtualizzazione nel kernel Linux che consente al kernel di funzionare come hypervisor GNU GPL o LGPL Codice sorgente
Emulatore rapido (QEMU) Un emulatore e virtualizzatore di macchine generico e open source GPLv2 Codice sorgente
Libvirt Una libreria e un demone che forniscono un'API open source stabile per la gestione degli host di virtualizzazione GNU Codice sorgente
Libguestfs Un set di strumenti per l'accesso e la modifica delle immagini disco della VM LGPL, GPL Codice sorgente
Virt-manager Un'interfaccia utente desktop per la gestione delle VM tramite libvirt GPLv2+ Codice sorgente
Libosinfo Fornisce un database di informazioni sulle versioni del sistema operativo per assistere nella configurazione ottimale dell'hardware durante la distribuzione di VM LGPLv2+ Codice sorgente

Gestione virtuale (KVM) basato sul kernel

KVM è una soluzione di virtualizzazione completa per Linux su hardware contenente estensioni di virtualizzazione. KVM fornisce la virtualizzazione hardware per un'ampia varietà di sistemi operativi guest, inclusi Linux, Windows, macOS, ReactOS e Haiku. Utilizzando KVM, puoi eseguire più VM su immagini Linux o Windows non modificate. Ogni VM dispone di hardware virtualizzato privato:una scheda di rete, un disco, una scheda grafica, ecc.

La maggior parte delle volte, non interagirai direttamente con KVM. Invece, devi utilizzare QEMU, virt-manager o un altro strumento di gestione della virtualizzazione per sfruttare KVM.

Puoi trovare la documentazione completa sul sito Web di KVM e accedere al suo codice sorgente.

Emulatore rapido (QEMU)

QEMU è un emulatore e virtualizzatore di macchine open source generico. Se utilizzato come emulatore, QEMU può eseguire sistemi operativi e programmi realizzati per una macchina (ad esempio una scheda ARM) su una macchina diversa (ad esempio, il tuo PC x86_64). Quando viene utilizzato come virtualizzatore, QEMU raggiunge prestazioni quasi native eseguendo il codice guest direttamente sulla CPU host tramite KVM.

QEMU è supportato su più sistemi operativi e il suo processo di installazione è facile come eseguire alcuni semplici comandi; qui puoi vedere come installare QEMU su macOS con Homebrew.

Dopo l'installazione, scopri come usarlo leggendo la sua documentazione e puoi anche accedere al suo codice sorgente.

Libvirt

Libvirt è una libreria e un demone che fornisce un'API open source stabile per la gestione degli host di virtualizzazione. Si rivolge a più hypervisor, inclusi QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox e altri.

Un'altra cosa interessante di libvirt è che KubeVirt, un progetto open source per la creazione e la gestione di VM all'interno della piattaforma Kubernetes, utilizza ampiamente Libvirt. (Tratterò KubeVirt in un prossimo articolo.) Libvirt è un progetto interessante da esplorare e puoi trovare una miriade di informazioni sul suo sito Web ufficiale e scaricare il suo codice sorgente.

Libguestfs

Libguestfs è un insieme di strumenti per l'accesso e la modifica delle immagini del disco della macchina virtuale. Puoi usarlo per visualizzare e modificare i file all'interno degli ospiti; modifiche di script alle macchine virtuali; monitoraggio del disco utilizzato/statistiche libere; creazione di guest, macchine da fisico a virtuale (P2V) o da virtuale a virtuale (V2V); eseguire backup; clonazione di macchine virtuali; costruzione di macchine virtuali; dischi di formattazione; ridimensionamento dei dischi; e altro ancora. L'ho usato di recente mentre lavoravo a un progetto basato su KubeVirt chiamato OpenShift Virtualization, di cui puoi saperne di più nel mio tutorial video.

Il sito Web ufficiale di Libguestfs contiene un'ampia documentazione su come utilizzare ciascun comando e puoi anche scaricarne il codice sorgente su GitHub.

Virt-manager

Virt-manager è un'interfaccia utente desktop per la gestione di VM tramite libvirt. Si rivolge principalmente alle macchine virtuali KVM, ma gestisce anche Xen e LXC. Include anche lo strumento di provisioning della riga di comando virt-install. Pensa a virt-manager come a uno strumento di gestione facile da usare per le tue macchine virtuali. Ad esempio, puoi utilizzare virt-manager per eseguire un ambiente Microsoft Windows su una workstation Linux o viceversa.

Il codice sorgente di Virt-manager è disponibile su GitHub e la documentazione è sul suo sito web. Al momento virt-manager è disponibile solo per piattaforme Linux.

Libosinfo

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Libosinfo fornisce un database di informazioni sulle versioni del sistema operativo per assistere nella configurazione dell'hardware durante la distribuzione di macchine virtuali. Include una libreria C per interrogare le informazioni nel database, accessibile anche da qualsiasi linguaggio supportato dall'introspezione di GObject. Come puoi immaginare, libosinfo è più un elemento costitutivo per abilitare la funzionalità di un sistema operativo, ma piuttosto importante.

Il codice sorgente di Libosinfo è disponibile su GitLab e la relativa documentazione può essere trovata sul suo sito web.

Conclusione

Virt-tools è un insieme di sei potenti strumenti che semplificano la virtualizzazione e abilitano importanti funzioni di virtualizzazione. Sono tutti progetti open source, quindi ti incoraggio a esplorare ulteriormente e forse anche a contribuire.

Cosa ne pensi? Sentiti libero di lasciare un commento per condividere i tuoi pensieri o porre domande.


Linux
  1. 26 app creative open source da provare nel 2022

  2. Come un governo locale è passato all'open source

  3. Lettura di open source in francese

  4. 3 alternative open source a Microsoft Publisher

  5. Cos'è CloudReady? È una valida alternativa open source a Chrome OS?

Crea un SDN su Linux con open source

5 giochi di puzzle open source per Linux

I 6 migliori client di posta elettronica desktop open source

Le 6 migliori shell open source per Linux

Open Source vs. Sorgente chiusa

WAZUH La piattaforma di sicurezza open source