Virtual Machine installations muligheder
The following examples use aptosid, simply substitute aptosid with the distribution of your choice.
Installing other distributions to a VM image
Note: If and when you wish to install to a virtual machine image, most Linux distributions will probably only need an allocation of 12G. However if you have a requirement to have MS Windows in a virtual machine, you will need to allocate about a 30G, or more, to the image. All image allocation sizes ultimately depend on your requirements.
Generally, an image allocation size, will not take up additional hard drive space until data is installed. Even then, it will only take space dynamically on a hard drive, contingent to the actual amount of data that expands on the image. This is due to the compression ratios of qcow2.
Enabling a KVM Virtual Machine
KVM er en fuld virtualiseringsløsning til Linux på x86 hardware der indeholder virtualiserings udvidelser (Intel VT eller AMD-V).
Systemkrav
For at sikre dig at din hardware understøtter KVM skal du sikre dig at KVM er slået til i din BIOS (i nogle tilfælde på Intel VT eller AMD-V systemer er det ikke åbentlyst hvordan man slår det til eller fra, antag i så tilfælde at at det er slået til). For at kontrollere kører du følgende i en konsol:
cat /proc/cpuinfo | egrep --color=always 'vmx|svm'
Hvis du så ser svm eller vmx i cpu flag feltet så understøtter dit system KVM. (I modsat tilfælde kan du gå tilbage i BIOS og lede igen efter en indstillingsmulighed, eller gå på nettet og søg efter hvor i BIOS menuen KVM 'enable' muligheden gemmer sig).
Understøtter din BIOS ikke KVM er der stadig muligheder, læs her Virtualbox eller QEMU
For at installerer og afvikle KVM skal du først sikre dig at der ikke er indlæst nogen Virtualbox moduler, (--purge er det bedste for at sikre sig dette):
apt-get install qemu-system-x86 qemu-utils
When you start your system the qemu-system-x86 initscripts will take care of loading the modules.
Anvendelse af KVM til at starte en aptosid-*.iso
For 64 bit as user:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom <aptosid.iso>
For 32 bit replace qemu-system-x86_64 with qemu-system-i386.
Installering af en aptosid-*.iso til et KVM image
Først skal du oprtete et harddsik image, (det vil starte ud med at være minimalt, og så vokse efterhånden som nødvendigt pga. qcow2 kompressions ratioen):
$ qemu-img create -f qcow2 aptosid-2010-*-.img 12G
Boot the aptosid-*.iso med følgende parametrefor at tillade KVM at opdage at der er QEMU harddisk image tilgængeligt:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom </path/to/aptosid-*.iso> -boot d </path/to/aptosid-VM.img>
For 32 bit replace qemu-system-x86_64 with qemu-system-i386.
Once the cdrom has booted up click on the aptosid installer icon to activate the installer, (or use the menu), click on the Partitioning tab and launch the partition application you prefer. For the partitioning you can follow the instructions from Partitioning the Hard Drive - Traditional, GPT and LVM (do not forget to add a swap partition If you are short of memory). Please be aware that formatting will take time so be patient.
You now have a VM ready for use:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -drive if=virtio,boot=on,file=<path/to/aptosid-VM.img>
Some guests do not support virtio, therefore you need to use other options when launching KVM, for example:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img > -cdrom your_other.iso -boot d
or
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img>
Se desuden: KVM documentation.
Administration af dine KVM virtual machine installationer
apt-get install aqemu
Når du bruger AQEMU skal du sikre dig at du vælger KVM mode fra drop-down-boxen for 'Emulator Type' i fanebladet 'General'. (Dokumentation for AQEMU er så godt som ikke-eksisterende, derfor kan det kræve et par 'trials by error' for at blive fortrolig med anvendelsen af den grafiske brugerflade, men et godt sted at starte er at anvende 'VM' menuen afterfulgt af 'General' fanebladet.
Booting and installing to a VirtualBox Virtual Machine
Trinvis fremgangsmåde:
- 1. opret et harddiskimage til VirtualBox
- 2. boot iso'en med VirtualBox
- 3. installer på harddiskimaget
Systemkrav
Anbefalet RAM: 1 gig : Ideelt 512 MB til gæsteen og 512 MB til værten (det kan køre med mindre RAm men forvent ikke nogen fantastisk ydelse).
Harddisk plads: VirtualBox selv tager ikke meget mere end ca 30 mb, men de virtuelle maskiner kræver ret store filer til at repræsentere deres harddisk plads. For at installere for eksempel MS Windows XP (TM), får du brug for en fil der nemt kan vokse til flere GB i størrelse. For at installere aptosid i VirtualBox skal du allokere cirka 5 gb og en yderligere plads til swap.
Installation:
apt-get update apt-get install virtualbox-ose-qt virtualbox-source dmakms module-assistant
Nu skal du forberede modulet:
m-a prepare m-a a-i virtualbox-source
Dernæst aktiverer du Dynamic Module-Assistant Kernel Module Support for virtualbox, sådan at næste gang Linux kernelen bliver opdateretm så følger virtualbox modulet trop uden manuel intervention. For at opnå dette tilføjer du virtualbox-source til /etc/default/dmakms konfigurations-filen.
mcedit /etc/default/dmakms virtualbox-source
Så genstarter du maskinen.
Dette er essentiel læsning om dmakms
Installering af aptosid i virtual machine
Brug virtualbox's wizard til at oprette en ny virtuel maskine til aptosid, og følg så instruktionerne som for en regulær aptosid installetion.
Booting and installing a QEMU Virtual Machine
- 1. Opret et harddisk-image til qemu
- 2. Boot iso'en med qemu
- 3. Installer på image'et
Et QT GUI værktøj er tilgængeligt for at hjælpe dig med at konfigurere QEMU:
apt-get install qtemu
Oprettelse af harddisk-image
For at køre qemu skal du sandsynligvis bruge et harddisk image. Dette er en fil der gemmer indholdet på den emulerede harddisk.
Brug kommandoen:
qemu-img create -f qcow aptosid.qcow 3G
For at oprette image filen med navnet "aptosid.qcow". "3G" parameteren definerer størrelsen af disken - i dette tilfælde 3 GB. Du kan bruge suffixet M for megabytes (for eksempel "256M"). Du bør ikke bekymre dig for meget om størrelsen af disken -qcow formatet komprimerer image'et således at den tomme plads ikke regnes med i størrelsen af filen.
Installering af operativ systemet
Dette er den første gang du skal starte emulatoren. En ting der er værd at bide mærke i er at når du klikker inde i qemu vinduet så "gribes" musens cursor. For at frigive den igen skal du trykke Ctrl+Alt.
Hvis du har brug for en opstarts floppy kører du Qemu med:
qemu -floppy aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow
Hvis din CD-ROM er i stand til at boote, kør Qemu med:
qemu -cdrom aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow
Nu installerer du aptosid som hvis du installerede til en almindelig harddisk
Kørsel af systemet
For at starte systemet skriver du blot:
qemu [hd_image]
Det er en god ide at anvende "overlay images". Anvender du dette kan du oprette harddisk image'et én gang, og få qemu til at gemme alle ændringer i en ekstern fil. Du sikrer dig mod ustabilitet fordi det er meget nemt at gå tilbage til en tidligere system tilstand.
For at oprette et overlay image, skriv:
qemu-img create -b [[base''image]] -f qcow [[overlay''image]]
Erstat harddisk image med base_image (i dette eksempel aptosid.qcow). Efter dette kan du køre qemu med:
qemu [overlay_image]
Det originale image vil forblive urørt. En faldgrube er at base image ikke kan omdøbes eller flyttes, eftersom overlay husker base's fulde sti.
Hvordan man anvender en rigtig partition som den primære partition i et harddisk image
Det kan hænde at du ønsker at anvende enaf dine system partitioner fra inde i qemu (for eksempel hvis du vil boot både din rigtige maskine eller qemu med en given apartition som root). Du kan opnå dette ved at anvende software RAID i linear mode (du skal bruge kernel driveren linear.ko) og en loopback enhed: tricket består i at "dynamically prepend a master boot record (MBR) to the real partition you wish to embed in a qemu raw disk image."(###)
Antag at du har en almindelig, umonteret /dev/sdaN partition med et filsystem på, som du vil gøre til del af en qemu disk image. Først opretter du en lille fil til at indeholde MBR:
dd if=/dev/zero of=/sti/til/mbr count=32
Her bliver en 16 KB (32 * 512 bytes) fil dannet. Det er vigtigt ikke at lave filen for lille (selv om MBR kun skal bruge en enkelt 512 bytes block), eftersom des mindre den er, jo mindre skal software raid enhedens chunk size være, og dette kan påvirke ydelsen. Dernæst opsætter du en loopback enhed til MBR filen:
losetup -f /path/to/mbr
Lad os antage at den resulterende enhed er /dev/loop0, for vi ville ikke allerede have brugt andre loopbacks. Næste trin er at oprette det "sammensmeltede" MBR + /dev/sdaN disk image med software RAID:
modprobe linear mdadm --build --verbose /dev/md0 --chunk=16 --level=linear --raid-devices=2 /dev/loop0 /dev/sdaN
Det resulterende /dev/md0 er havd du anvender som qemu raw disk image (glem ikke at sætte rettighederne så emulatoren kan få adgang). Det sidste, lettere spegede trick er at sætte disk konfigurationen (disk geometry og partitions table) således at den primære partitions start point i MBR matcher det fra /dev/sdaN inde i /dev/md0 (et offset på præcist 16 * 512 = 16384 bytes i dette eksempel). Gør dette med fdisk på værtsmaskinen, ikke i emulatoren: standard raw disc detection routinen fra qemu resulterer ofte i ikke kilobyte-afrundbare offsets (såsom 31.5 KB, som i den forrige sektion) som ikke kan håndteres af software RAID programmet. Derfor, fra værten:
fdisk /dev/md0
Sådan, opret en enkelt primær partition korresponderende til /dev/sdaN, og leg med 's'ector kommanden fra 'x'pert menuen indtil den første cylinder (hvor den første partition starter) matcher størrelsen af MBR. Slutteligt, 'w'rite resultatet til filen: Du er nu færdig. Du har nu en partition der kan monteres direkte på din vært og som såvel er et qemu disk image:
qemu -hdc /dev/md0 [...]
Du kan selvfølgelig helt sikkert sætte en hvilken som helst bootloader på dette qemu diskimage, forudsat at den originale /boot/sdaN partition indeholder de nødvendige værktøjer.