Qemu Ubuntu-zelfstudie: weet hoe u virtuele machines installeert en instelt

In eenvoudige woorden: de Qemu is een softwareprogramma dat gratis en open source is; gebruikt om virtuele machines te creëren over andere Linux-besturingssystemen heen, zoals VirtualBox en VMware-werkstationspeler. Niet alleen de Linux, maar je kunt deze software ook op Windows en MacOS installeren om verschillende Linux-distributies te testen. De meeste Linux-gebruikers geven er echter de voorkeur aan om de VirtualBox te gebruiken vanwege de eenvoudig te gebruiken interface en een breed scala aan hardwarecompatibiliteit. Hoewel de VMware Workstation Player ook beschikbaar is voor Linux, beperkt qua functies in vergelijking met VirtualBox. In dergelijke omstandigheden zijn er een aantal bekende opensource hardwarevirtualisatiesoftware beschikbaar met hun eigen Linux-besturingssysteemomgeving, die elke bare metal-machine kunnen omzetten in een volledig virtualisatieplatform. We praten over dergelijke platforms in een ander artikel.

Hier in dit Qemu Ubuntu-tutorialartikel zullen we zien hoe u deze open source machine-emulator en virtualizer-tool op Ubuntu kunt installeren en instellen.

We kunnen besturingssystemen en programma's uitvoeren door de gastcode rechtstreeks op de host-CPU uit te voeren met behulp van deze software. Het ondersteunt virtualisatie met behulp van de KVM-kernelmodule in Linux. Bij gebruik van KVM kan men x86, server en embedded PowerPC, 64-bit POWER, S390, 32-bit en 64-bit ARM en MIPS-gasten virtualiseren.

Qemu Ubuntu-zelfstudie: installeren via de opdrachtterminal

Om Qemu op Ubuntu te installeren, voert u de volgende onderstaande opdrachten uit.

Opmerking: We hebben Ubuntu 18.04 gebruikt om een ​​op Kernel gebaseerde virtuele machine te installeren en te maken, maar de hier gegeven opdrachten zijn hetzelfde voor de oudere versies zoals Ubuntu 17.04, Ubuntu 16.04, Ubuntu 15.04... Tijdens het schrijven van deze tutorial is de nieuwste versie vanQemu was 3.1.0.

  • Ga naarUbuntu
  • Open de opdrachtregelterminal op Ubuntu. De snelkoppeling isCTRL+ALT+T.
  • Voer op de terminal het onderstaande commando uit:
  • sudo apt-get install qemu
  • Installeer het KVM-pakket, de opdracht is
  • sudo apt-get install qemu-kvm
  • Gebruik de onderstaande opdracht om de Qemu-versie te controleren
  • apt show qemu-system-x86
  • Voor KVM-versiecontrole
  • kvm -version

Voorbeelduitvoer

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
binfmt-support cpu-checker ibverbs-providers ipxe-qemu
ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1
libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian
libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2
msr-tools qemu-block-extra qemu-slof qemu-system qemu-system-arm
qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc
qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user
qemu-user-binfmt qemu-utils seabios sharutils
Suggested packages:
qemu-user-static samba vde2 qemu-efi openbios-ppc openhackware
openbios-sparc sgabios ovmf debootstrap sharutils-doc bsd-mailx | mailx
The following NEW packages will be installed:
binfmt-support cpu-checker ibverbs-providers ipxe-qemu
ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1
libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian
libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2
msr-tools qemu qemu-block-extra qemu-slof qemu-system qemu-system-arm
qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc
qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user
qemu-user-binfmt qemu-utils seabios sharutils
0 upgraded, 38 newly installed, 0 to remove and 366 not upgraded.
Need to get 54.9 MB/62.2 MB of archives.
After this operation, 341 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu-kvm
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following NEW packages will be installed:
qemu-kvm
0 upgraded, 1 newly installed, 0 to remove and 366 not upgraded.
Need to get 13.2 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Get:1 https://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 qemu-kvm amd64 1:2.11+dfsg-1ubuntu7.9 [13.2 kB]
Fetched 13.2 kB in 2s (6,569 B/s)
Selecting previously unselected package qemu-kvm.
(Reading database ... 113459 files and directories currently installed.)
Preparing to unpack .../qemu-kvm_1%3a2.11+dfsg-1ubuntu7.9_amd64.deb ...
Unpacking qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ...
Setting up qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ...
Processing triggers for man-db (2.8.3-2) ...

Maak een virtuele machine

Na het installeren van deQemuop het Ubuntu-hostsysteem is het tijd om virtuele machines te maken.

Maak een virtuele harde schijf

Het commando om een ​​virtuele harde schijf te maken is

qemu-img create Puppy.vdi 10G

Opmerking: In het bovenstaande commando is Puppy.vdi de naam van onze virtuele harde schijf. U kunt het een naam geven zoals u zelf wilt. De extensie.VDI zal een virtueel DISK-beeldformaat creëren als je wilt, je kunt het vervangen door .img (onbewerkt beeldformaat) .vhd, en .vmdk-formaten doe je dat ook.

Wij kunnen ook gebruik maken van deQemu standaard virtuele harde schijfformatendit zijn .qcow2, .qed, .qcow en .cow.

Dus als dezelfde harde schijf die we hierboven hebben gemaakt; moet worden gemaakt in het Qemu-schijfformaat, dan zal de opdracht zijn

qemu-img create -f qcow2 Puppy.qcow 10G

10 Gis de hoeveelheid ruimte die we willen toewijzen aan de virtuele harde schijf. Hier installeren we Puppy Linux, wat helemaal geen grote hoeveelheid ruimte nodig heeft, dus gebruikten we 10 G (G staat voor Giga Byte GB). In deze zelfstudie gebruiken we echter het VDI-schijfformaat.

Opstarten vanaf ISO-image

Nadat we de virtuele harde schijf hebben gemaakt, gaan we de ISO opstarten in de Live-omgeving. We gebruiken het besturingssysteem Linux, dat wil zeggen dat de Puppy Linux ISO-image op het bureaublad van onze Ubuntu staat.

qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512

In de bovenstaande opdracht hebben we de ISO-afbeelding gebruikt die in onze bureaubladmap staat. Op dezelfde manier moet u het pad van uw ISO-bestand in de opdracht vermelden; de rest van de opdracht blijft hetzelfde. De-Mgaf de hoeveelheid RAM aan die is toegewezen aan het gastbesturingssysteem vanaf het hostsysteem, hier is dit 512 MB.

Voer Qemu uit om het besturingssysteem op de virtuele harde schijf te installeren

Zodra je de bovenstaande opdracht uitvoert, begint het gast-Linux-besturingssysteem op te starten en kan het worden getest in de live-omgevingmaar voor de installatie ervan moeten we een virtuele harde schijf aansluiten.U wilt dus bijvoorbeeld ook het gastbesturingssysteem zoals Windows of een andere Linux installeren; dan moeten we de Qemu vertellen: hé! hier is de rit.Typ gewoon de naam van de virtuele schijf die u hierboven hebt gemaakt

qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512 -hda Puppy.vdi

Direct opstarten vanaf CD-ROM

Naast de ISO-bestanden kan de gebruiker het besturingssysteem ook rechtstreeks vanaf cd-rom opstarten:

qemu-systeem-x86_64 -boot d -cdrom /dev/cdrom -m 512

In de bovenstaande opdrachtregel haalt de Qemu de opstartbestanden op van de CD-ROM-schijf.

Schakel KVM- of Intel-versnellingsmodules in

Om QEMU virtuele machines te versnellen, kunnen we de KVM of Intel HAXM inschakelen. Gebruik dus de instructies om VM sneller uit te voeren-accel kvmof-enable-kvmvoor KVM en-accel haxof-enable-haxvoor Intel HAXM.

Bijvoorbeeld:

qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-kvm

of

qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-hax

Opstarten vanaf virtuele harde schijf

Als we na de installatie van het gastbesturingssysteem onze virtuele harde schijf willen opstarten voor verder gebruik of als we al een VDI- of VHD-hardeschijfimage hebben, gebruiken we deze eenvoudigweg met de onderstaande opdracht.

qemu-system-x86_64 -hda (pad van de virtuele harde schijf)

qemu-system-x86_64 -hda puppy.vdi

Qemu img converteren

Deze op commando's gebaseerde virtualisatietool kan niet alleen VM's maken, maar stelt de gebruikers ook in staat de afbeeldingsformaten te converteren. Hier is het commando daarvoor

qemu-img converteer {afbeeldingsnaam} {afbeeldingsnaam}

Bijvoorbeeld,we willen de ISO of qcow2 converteren naar het onbewerkte IMG-formaat dat de bovenstaande opdracht als volgt zal gebruiken

qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img

Opmerking: We moeten het volledige pad opgeven waar de afbeelding zich bevindt en ook waar we de geconverteerde afbeelding willen opslaan.

Virt Manager voor Qemu

Na het doorlopen van de bovenstaande opdracht en de procedure voor het installeren van een virtuele machine op QEMU; misschien wil je het opgeven vanwege de complexiteit ervan. Maar wacht, er is een eenvoudige en gemakkelijk te gebruiken VM-methode voor deze virtualisatietool. Het is door het een grafische gebruikersinterface te geven, net als deVirtuele doos. Als u dus een nieuwe gebruiker bent en uzelf wilt behoeden voor het schrijven van de lange opdrachten, voer dan het onderstaande uitopdracht om de Virt Manager op Ubuntu te installeren. 

sudo apt-get install qemu virt-manager virt-viewer libvirt-bin

Voorbeelduitvoer voor de bovenstaande opdracht:

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
qemu is already the newest version (1:2.11+dfsg-1ubuntu7.9).
The following additional packages will be installed:
augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0
gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2
libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0
libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libpython2.7 libpython2.7-minimal
libpython2.7-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5
libusbredirhost1 libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd
libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python
python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet
python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna
python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl
python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal
spice-client-glib-usb-acl-helper virtinst
Suggested packages:
augeas-doc augeas-tools libosinfo-l10n gstreamer1.0-plugins-bad gstreamer1.0-libav
libvirt-daemon-driver-storage-gluster libvirt-daemon-driver-storage-sheepdog
libvirt-daemon-driver-storage-zfs numad radvd auditd systemtap nfs-common zfsutils pm-utils
thin-provisioning-tools python-doc python-tk python-cryptography-doc
python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc
python-openssl-doc python-openssl-dbg python-setuptools python-socks python-ntlm
python2.7-doc ssh-askpass python-guestfs
The following NEW packages will be installed:
augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0
gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2
libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0
libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libreadline5
libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-bin
libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system
libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto
python-cairo python-certifi python-cffi-backend python-chardet python-cryptography
python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr
python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl
python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal
spice-client-glib-usb-acl-helper virt-manager virt-viewer virtinst
The following packages will be upgraded:
libpython2.7 libpython2.7-minimal libpython2.7-stdlib
3 upgraded, 65 newly installed, 0 to remove and 363 not upgraded.
Need to get 11.0 MB/15.8 MB of archives.
After this operation, 57.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Na het uitvoeren van de bovenstaande opdrachtje ziet eenVirtuele machinebeheerdergereedschap genoemdVirtueelop uw Ubuntu-systeem. Om toegang te krijgen tot de virtuele machines van Virt Manager, gaat u naar alle applicaties en klikt u op het Virt-pictogram.

Wanneer de Virt Manager werd geopend, klikt u op de eerste optie aan de linkerkant in het hoofdmenu. Deze optie geeft u een begeleide GUI voor het maken en instellen van virtuele machines. Het proces is hetzelfde als de VirtualBox.

Selecteer vervolgens het opstarten van medium naar ISO-image en wijs vervolgens het RAM-geheugen, het aantal CPU's en de virtuele harde schijf toe.

Tijdens het maken van de VM's op de Virt Virtual Manager voor Qemu krijgt u ook een netwerkselectieoptie van waaruit we de virtuele netwerken voor onze machines kunnen selecteren. Standaard is deVirtueel netwerk 'standaard' NAT is geselecteerd, laat het zoals het is als je niet meerdere verbindingen hebt. Het bevindt zich in de NAT die het IP-adresbereik van de host gebruikt om de internetverbinding te delen.

Op deze manier kunnen we deze alternatieve Virtualbox-software dus niet alleen op Ubuntu gebruiken, maar ook voor andere verschillende Linux-besturingssystemen voor het maken van virtuele machines. Deze virtualisatiesoftware heeft zijn eigen voordelen ten opzichte van de VirtualBox, zoals een hogere snelheid omdat deze rechtstreeks de kernelmodule gebruikt. Bovendien, als je jezelf vertrouwd maakt met de commando's, wordt het opzetten van VM's op de headless servers een fluitje van een cent. Het ondersteunt echter bijna elke vorm van besturingssysteememulatie, maar in vergelijking met Linux voor Windows gastbesturingssystemen is het een beetje traag. Schakel in dergelijke situaties de KVM- of Intel HAXM-acceleratormodules in. Een ander punt dat moet worden opgemerkt: in de nieuwste versie is KVM-ondersteuning geschrapt, maar de open source HAXM zal nog steeds doorgaan.

Als u problemen ondervindt bij het volgen van deze tutorial, laat ons dan weten dat het commentaargedeelte helemaal van u is!

Andere nuttige bronnen:

Related Posts